Expo React Native Fastmcp
A Fastmcp Server for Expo React Native Documentation
Ask AI about Expo React Native Fastmcp
Powered by Claude Β· Grounded in docs
I know everything about Expo React Native Fastmcp. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
π Expo React Native Markdown Documentation Server (MCP)
A fast, extensible, and intelligent documentation server for Markdown files using React Native Expo Documentation, powered by the MCP framework.
π Features
- Automatic Markdown Discovery: Scans the
docs/directory for all Markdown files and registers them as searchable resources. - Metadata Extraction: Reads YAML frontmatter for tags and versioning, and tracks last modified dates.
- Powerful Search Tools:
- Keyword Search: Find documentation by exact keyword matches, with ranked results and context snippets.
- Fuzzy Search: Typo-tolerant search using rapidfuzz for partial matches.
- Advanced Search: Filter by keyword, tag, and/or last modified date.
- Resource API: Exposes documentation as resources with rich metadata for integration with other tools.
- Logging: All queries are logged for analytics and debugging.
- Simple API: Exposes all search and retrieval tools via MCP's tool interface.
ποΈ Project Structure
.
βββ server.py # Main server code (this file)
βββ docs/ # Place your Markdown documentation here
β βββ *.md
βββ sitemap_scrape.py # Scrapes Expo and React Native Sitemaps for Documentation URLS and saves to sitemaps_urls.json
βββ scrape_markdown.py # Scrapes sitemaps_urls.json URLs and saves the data as *.md files in /docs
βββ README.md
π οΈ Usage
1. Add Your Documentation
Place your Markdown files in the docs/ directory or use sitemap_scrape.py and scrape_markdown.py to generate *.md files from a sitemap url.
Optionally, add YAML frontmatter for tags and versioning:
---
tags: [api, quickstart]
version: 1.2.0
---
# My API Documentation
Welcome to the docs!
2. Start the Server
Note: use source .venv/bin/activate to activate the python enviornment
uv run mcp dev server.py
The server runs using MCP's stdio transport by default.
π API Overview
All tools are exposed via the MCP tool interface:
search_docs(keyword: str)
- Description: Search for a keyword in all docs. Returns ranked filenames with context snippets.
- Returns:
filenamematches(count)snippetlast_modifiedtagsversion
fuzzy_search_docs(keyword: str, threshold: int = 70)
- Description: Typo-tolerant search using rapidfuzz. Returns ranked results with context.
- Returns:
filenamescoresnippetlast_modifiedtagsversion
advanced_search(keyword: str = "", tag: str = "", after: str = "")
- Description: Search by keyword, tag, or last modified date (ISO format).
- Returns:
filenamematchessnippetlast_modifiedtagsversion
get_doc_content(filename: str)
- Description: Retrieve the full content of a documentation file by name.
π Example Query
from mcp.client import MCPClient
client = MCPClient("http://localhost:YOUR_PORT")
results = client.search_docs("installation")
print(results)
πΎ Adding to Cursor
Use the mcp.json file structure for using the MCP server in Cursor
π§© Extending
- Add new Markdown files to
docs/β they are auto-discovered. - Add new search tools or resource types by extending
server.py.
π‘οΈ Logging
All queries are logged to mcp_server_queries.log for traceability and analytics.
π§βπ» Requirements
Install dependencies:
pip install mcp pyyaml rapidfuzz
π€ Contributing
Pull requests and issues are welcome!
Feel free to suggest features or improvements.
π License
MIT License
β¨ Credits
Built with MCP and β€οΈ by yours truly.
