react-docs-mcp

AI-powered semantic search over React documentation for Claude, Cursor, and other MCP clients.

Documentation

React Docs MCP

React Docs MCP Server

AI-powered semantic search over React documentation for Claude, Cursor, and other MCP clients.

**Also available β€” same engine, other docs:**πŸ“± react-native-docs-mcp (repo) β€” official React Native docs (reactnative.dev), with per-release version pinning πŸ“‹ react-hook-form-docs-mcp (repo) β€” official React Hook Form docs (react-hook-form.com)

All packages share one search engine (developed in this monorepo under packages/), so improvements land in all of them.

React Docs MCP Demo

πŸš€ Installation (One Command)

Claude Code

claude mcp add --transport stdio react-docs -- npx react-docs-mcp

Claude Desktop

Edit: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

{ "mcpServers": { "react-docs": { "command": "npx", "args": ["-y", "react-docs-mcp"] } } }

Cursor

Settings β†’ Cursor settings β†’ Tools and MCP β†’ Add server:

That's it! Restart your editor and ask about React.


Features

  • πŸ”‘ No API Key: Unlike hosted docs services (Context7, GitMCP), everything runs on your machine β€” no account, no key, no rate limits
  • πŸ”Œ Works Offline: Clones the official react.dev docs repo once, then searches locally β€” no network calls at query time
  • πŸ” Semantic Search: AI-powered search using embeddings for conceptual matches
  • ⚑ Fast Results: In-memory vector search with hybrid keyword+semantic ranking
  • πŸ“¦ Zero Config: Works with npx - no installation needed
  • πŸ€– Local AI: Runs embeddings locally (no API costs)
  • πŸ“ Concise Responses: Returns summaries instead of full documentation
  • πŸ”„ Auto-sync: Pulls latest docs from react.dev automatically

Configuration

For Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{ "mcpServers": { "react-docs": { "command": "node", "args": ["/absolute/path/to/reactDocsMcp/dist/index.js"] } } }

For Claude Code

Add to your MCP settings configuration:

Usage

Once configured, the server provides the following capabilities to AI agents:

Tools

search_react_docs

Search across React documentation.

Parameters:

  • query (required): Search query string
  • section (optional): Filter by section (learn, reference, blog, community)
  • limit (optional): Maximum number of results (default: 10, max: 50)

Example:

Search for "useState hook" in the learn section

get_doc

Get a specific documentation page.

Parameters:

  • path (required): Document path (e.g., "learn/hooks/useState")
  • full (optional): Return the full raw page instead of the ~1500 char summary (default: false)

Example:

Get the useState documentation

Why full? The default ~1500 char summary is enough for most API references, but it can cut off partway through longer pages β€” migration guides, upgrade walkthroughs, or anything with many sequential steps. If the summary seems to end mid-thought or you need every step of a guide, ask for the full page:

Get the full content of the React 19 upgrade guide, not just the summary

which calls get_doc with { "path": "learn/upgrading-to-react-19", "full": true } and returns the complete raw page instead of the truncated summary.

list_sections

List all available documentation sections.

Example:

What sections are available?

update_docs

Pull latest documentation from the Git repository.

CLI

npx react-docs-mcp --version # print the installed package version and exit

(Version pinning via --docs-version is a react-native-docs-mcp feature β€” react.dev has no versioned docs.)

Example:

Update the React documentation

Resources

The server exposes documentation as resources with the URI pattern:

react-docs://{section}/{path}

Examples:

  • react-docs://learn - List all learn section docs
  • react-docs://learn/hooks/useState - Get useState documentation
  • react-docs://reference/react/Component - Get Component API reference

Development

Run in Development Mode

npm run dev

Build

npm run build

Project Structure

reactDocsMcp/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ index.ts              # MCP server entry point
β”‚   β”œβ”€β”€ docsManager.ts        # Git & file operations
β”‚   β”œβ”€β”€ markdownParser.ts     # Markdown parsing
β”‚   β”œβ”€β”€ searchEngine.ts       # Search implementation
β”‚   β”œβ”€β”€ types.ts              # TypeScript types
β”‚   └── config.ts             # Configuration
β”œβ”€β”€ dist/                     # Compiled output
└── TECHNICAL_SPEC.md         # Technical documentation

How It Works

  1. Initialization: On first run, clones the official React documentation repository
  2. Indexing: Parses all markdown files and builds an in-memory search index
  3. Search: Provides keyword-based search with relevance scoring
  4. Updates: Can pull latest changes from the repository and re-index

Troubleshooting

Server won't start

  • Ensure Node.js 18+ is installed
  • Check that the build completed successfully (npm run build)
  • Verify the path in your MCP configuration is absolute and correct

No search results

  • The repository may still be cloning (check console output)
  • Try running update_docs tool to refresh the index

Git clone fails

  • Check internet connection
  • Verify Git is installed and accessible
  • Check firewall/proxy settings

Technical Details

For detailed technical information, see TECHNICAL_SPEC.md.

License

MIT

Contributing

This is a personal project for connecting React documentation to AI coding agents. Feel free to fork and modify for your own use.