Reflex Docs MCP
A community improvised fork for Reflex Docs MCP.
Installation
npx reflex-docs-mcpAsk AI about Reflex Docs MCP
Powered by Claude Β· Grounded in docs
I know everything about Reflex Docs MCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Reflex Docs MCP Server
Version 0.2.0 β 14 tools, connection pooling, FTS5 query upgrades, TTL caching
New in 0.2.0
New Tools
get_code_examples(topic)β Find Python code examples from docs for a topicdecode_error(error_text)β Analyze a Reflex error and find relevant docsget_changelog(version?)β Fetch Reflex release notes from GitHubget_migration_guide(from_version, to_version)β Get migration guidance between versionssearch_api_reference(symbol)β Look up API reference for a Reflex symbolget_component_props(name)β Get only the props table for a componentlist_recipes(category?)β Browse recipe/tutorial pages
Enhancements
search_docsβ Newfuzzyflag (prefix expansion),include_contentflag (full page content)get_docβ Newextract_codeflag (return only fenced code blocks)
Performance
- SQLite connection pooling via
threading.local()with persistent per-thread connections - WAL journal mode, 64 MB page cache, 256 MB mmap for concurrent reads
- LRU cache (512 entries) on slug lookups
- In-process TTL cache (300s default) on search results
- FTS5 query preprocessor: phrase match + prefix expansion
- Incremental indexing β skips re-index if git commit unchanged
Ground AI agents in real, up-to-date Reflex docs via a fast, local MCP server.
Python: 3.14 recommended. Compatible with 3.13+.
What It Does
- Fullβtext search over Reflex docs (SQLite FTS5)
- Sectionβlevel retrieval for precise context
- Component index for
rx.*lookups - FastMCP server with stdio and SSE transports
Quickstart
# Create venv
python3.14 -m venv .venv
. .venv/bin/activate
# Install (local checkout)
pip install -e .
# Index docs (clones Reflex docs and builds search index)
python -m reflex_docs_mcp.indexer
# Run MCP server (stdio)
python -m reflex_docs_mcp.server
# Run MCP server over SSE
python -m reflex_docs_mcp.server --transport sse --host 127.0.0.1 --port 8000
Install From PyPI
pip install reflex-docs-mcp
MCP Tools
search_docs(query, limit?, include_content?, fuzzy?)β Full-text search with fuzzy matchingget_doc(slug, extract_code?)β Retrieve a full doc page by sluglist_pages(prefix?, limit?)β List doc pages by slug prefixlist_components(category?)β List all Reflex componentssearch_components(query, limit?)β Search components by name/descriptionget_component(name)β Get details about a specific componentget_component_props(name, filter?)β Get component props tableget_stats()β Database statisticsget_code_examples(topic, limit?)β Find Python code examples for a topicdecode_error(error_text, context?)β Analyze errors against docsget_changelog(version?, limit?)β Fetch Reflex release notesget_migration_guide(from_version, to_version)β Migration guidance between versionssearch_api_reference(symbol)β API reference lookuplist_recipes(category?)β Browse recipe/tutorial pages
Local MCP Config (VS Code)
The repository includes a ready-to-use config at .vscode/mcp.json that runs the server with the local venv.
Global Install MCP Config (VS Code)
If you install the package globally with pip, use one of these in .vscode/mcp.json:
Using module invocation:
{
"servers": {
"reflex-docs": {
"type": "stdio",
"command": "python3",
"args": ["-m", "reflex_docs_mcp.server"],
"env": {
"REFLEX_DOCS_AUTO_INDEX": "true"
}
}
},
"inputs": []
}
Using the CLI entry point:
{
"servers": {
"reflex-docs": {
"type": "stdio",
"command": "reflex-docs-mcp",
"args": [],
"env": {
"REFLEX_DOCS_AUTO_INDEX": "true"
}
}
},
"inputs": []
}
Project Layout
βββ main.py # MCP stdio entry point
βββ src/reflex_docs_mcp/
β βββ models.py # Pydantic data models
β βββ database.py # SQLite + FTS5 operations
β βββ parser.py # Markdown parser
β βββ http.py # Shared HTTP client with TTL cache
β βββ indexer.py # Docs cloning & indexing
β βββ server.py # MCP server (stdio + SSE)
βββ render.yaml # Render deployment config
βββ Procfile # Process definition
βββ test.py # Groq + MCP demo client
Demo (Optional)
The demo client uses Groq (OpenAI-compatible API) and the MCP Python client.
pip install reflex-docs-mcp[demo]
cp env.example .env
# Add GROQ_API_KEY to .env
python test.py
Notes
env.examplecontains Groq settings.- The indexer writes to
data/reflex_docs.dbby default. - On startup, the server auto-builds the index if missing. Controls:
REFLEX_DOCS_AUTO_INDEX(default: true)REFLEX_DOCS_DOCS_SRC(path to clone docs into, default:docs_src)REFLEX_DOCS_SKIP_CLONE/REFLEX_DOCS_FORCE_CLONEREFLEX_DOCS_KEEP_EXISTINGREFLEX_DOCS_CACHE_TTL(default: 300) β Seconds for search cache TTLREFLEX_DOCS_HTTP_TIMEOUT(default: 10) β Seconds for outbound HTTP requestsREFLEX_DOCS_MAX_SEARCH_LIMIT(default: 30) β Hard cap on search result limitREFLEX_DOCS_ENABLE_LIVE_FETCH(default: true) β If false, disable live HTTP fetches
License
MIT
