
ContextMCP
<p align="left"> <a href="https://discord.gg/bYqAp4ayYh"> <img src="https://img.shields.io/discord/1305511580854779984?label=Join%20Discord&logo=discord" alt="Join Discord" /> </a> <a href="https://twitter.com/dodopayments"> <img src="https://img.shields.io/twitter/follow/dodopayments?label=Follow&style=social" alt="Twitter Follow" /> </a> </p>Self-hosted MCP server for your documentation. Index your documentation from across the sources and serve it via the Model Context Protocol (MCP) and REST API.
What is ContextMCP?
ContextMCP creates a searchable knowledge base from your documentation that AI assistants can query via the Model Context Protocol (MCP).
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
- Parse - Extract content from your docs, APIs, and READMEs
- Chunk - Split into semantic chunks optimized for search
- Embed - Generate embeddings using OpenAI or Gemini
- Store - Upload to Pinecone vector database
- Search - Query via MCP from AI assistants
Ecosystem
Add a chat UI with ContextChat
ContextMCP serves retrieval; pair it with ContextChat 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 <script> tag.
Repository Structure
contextmcp/
βββ packages/
β βββ cli/ # npx contextmcp (npm package)
β βββ template/ # Project template (scaffolded to users)
β βββ website/ # contextmcp.ai documentation site
βββ deployments/
βββ dodopayments/ # Dodo Payments specific deploymentPackages
| Package | Description | Published |
|---|---|---|
packages/cli | CLI scaffolding tool | β
npm: contextmcp |
packages/template | Project template | (copied by CLI) |
packages/website | Documentation site | (deployed to Vercel) |
Development
Prerequisites
- Node.js 18+
Setup
# Install all dependencies
npm install
# Development
npm run dev:website # Run website locally
npm run dev:cli # Watch CLI for changes
# Build
npm run build:website # Build website
npm run build:cli # Build CLI
# Type checking
npm run typecheck # Check all packagesDocumentation
Visit contextmcp.ai/docs for full documentation.
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines on how to contribute to this project.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
# 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 deployQuick Start
# 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 deployNo common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.