# ContextMCP

Join Discord Twitter Follow

**Self-hosted MCP server for your documentation.** Index your documentation from across the sources and serve it via the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) and REST API. ## Quick Start ```bash # Scaffold a new project npx contextmcp init my-docs-mcp # Follow the prompts, then: cd my-docs-mcp npm install # Configure your API keys cp .env.example .env # Edit .env with your PINECONE_API_KEY and an embedding provider key # (OPENAI_API_KEY for provider: openai, or GEMINI_API_KEY for provider: gemini) # Configure your documentation sources # Edit config.yaml # Index your documentation npm run reindex # Edit the cloudflare-worker # Deploy the MCP server cd cloudflare-worker npm install npm run deploy ``` ## What is ContextMCP? ContextMCP creates a searchable knowledge base from your documentation that AI assistants can query via the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/). ### Supported Content Types | Parser | Content Types | Examples | | ---------- | --------------------- | ------------------------------ | | `mdx` | MDX/JSX documentation | Mintlify, Fumadocs, Docusaurus | | `markdown` | Plain Markdown files | READMEs, CHANGELOGs | | `openapi` | OpenAPI/Swagger specs | API reference docs | ### How It Works 1. **Parse** - Extract content from your docs, APIs, and READMEs 2. **Chunk** - Split into semantic chunks optimized for search 3. **Embed** - Generate embeddings using OpenAI or Gemini 4. **Store** - Upload to Pinecone vector database 5. **Search** - Query via MCP from AI assistants ## Ecosystem ### Add a chat UI with ContextChat ContextMCP serves retrieval; pair it with [**ContextChat**](https://github.com/dodopayments/context-chat) to give your docs a drop-in, embeddable "Ask AI" widget. ContextChat is a single Cloudflare Worker that queries your ContextMCP `/search` endpoint and streams answers with inline citations — add it to any site or docs page with one `