Skip to main content

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 topic
  • decode_error(error_text) — Analyze a Reflex error and find relevant docs
  • get_changelog(version?) — Fetch Reflex release notes from GitHub
  • get_migration_guide(from_version, to_version) — Get migration guidance between versions
  • search_api_reference(symbol) — Look up API reference for a Reflex symbol
  • get_component_props(name) — Get only the props table for a component
  • list_recipes(category?) — Browse recipe/tutorial pages

Enhancements

  • search_docs — New fuzzy flag (prefix expansion), include_content flag (full page content)
  • get_doc — New extract_code flag (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 matching
  • get_doc(slug, extract_code?) — Retrieve a full doc page by slug
  • list_pages(prefix?, limit?) — List doc pages by slug prefix
  • list_components(category?) — List all Reflex components
  • search_components(query, limit?) — Search components by name/description
  • get_component(name) — Get details about a specific component
  • get_component_props(name, filter?) — Get component props table
  • get_stats() — Database statistics
  • get_code_examples(topic, limit?) — Find Python code examples for a topic
  • decode_error(error_text, context?) — Analyze errors against docs
  • get_changelog(version?, limit?) — Fetch Reflex release notes
  • get_migration_guide(from_version, to_version) — Migration guidance between versions
  • search_api_reference(symbol) — API reference lookup
  • list_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.example contains Groq settings.
  • The indexer writes to data/reflex_docs.db by 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_CLONE
  • REFLEX_DOCS_KEEP_EXISTING
  • REFLEX_DOCS_CACHE_TTL (default: 300) — Seconds for search cache TTL
  • REFLEX_DOCS_HTTP_TIMEOUT (default: 10) — Seconds for outbound HTTP requests
  • REFLEX_DOCS_MAX_SEARCH_LIMIT (default: 30) — Hard cap on search result limit
  • REFLEX_DOCS_ENABLE_LIVE_FETCH (default: true) — If false, disable live HTTP fetches

License

MIT

Release files for reflex-docs-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for reflex-docs-mcp 0.2.0
File Size Uploaded
reflex_docs_mcp-0.2.0.tar.gz 19.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for reflex-docs-mcp 0.2.0
File Interpreter ABI Platform
reflex_docs_mcp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 43.0 kB

Release files / reflex_docs_mcp-0.2.0.tar.gz

Download URL reflex_docs_mcp-0.2.0.tar.gz
Size 19.3 kB
Tags Source
SHA-256 checksum
How to use checksums
756924cf81a72b088db11a5567217de550822a3c2d7648553582d6ac1a72683c
BLAKE2b-256 checksum
How to use checksums
dbfd7824a2966e40422f7dda42da0228af845fe24973da1207bbf3ed3c188573
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 10, 2026.

Transparency log

Release files / reflex_docs_mcp-0.2.0-py3-none-any.whl

Download URL reflex_docs_mcp-0.2.0-py3-none-any.whl
Size 23.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7931693b8fa6bf01dd56c6bdbd233d65651e1dafb5ef25eaf2aeb3028862fc39
BLAKE2b-256 checksum
How to use checksums
c594b31fce5cb4d19e3701f84668b2f7fb7f0366a8b051becdc7ec431f30b5e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page