Allows for crawling and indexing documentation from GitHub repositories to provide AI agents with a searchable knowledge base of tool documentation.
Uses OpenAI's text-embedding models to enable semantic search and natural language understanding of documentation content.
Integrates with Upstash Vector to store and query vectorized documentation, facilitating efficient semantic retrieval for AI agents.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Docs Vector MCPsearch the docs for how to index a new repository"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Docs Vector MCP
Vectorize GitHub tool documentation and provide MCP (Model Control Protocol) interface for AI Agents.
Features
π Auto-fetch from GitHub - Automatically crawls and extracts documentation from GitHub repositories
π§ Vector Embeddings - Uses OpenAI embeddings to store documentation in vector database
π Semantic Search - Find relevant documentation using natural language queries
π MCP Protocol - Standard Model Control Protocol interface for AI Agents
π¨ Modern Web UI - Built with Next.js 15 + TailwindCSS
Architecture
βββββββββββββββ ββββββββββββββββ ββββββββββββββββ ββββββββββββββ
β GitHub Repo β β β Crawl Docs β β β Split Chunksβ β β Embedding β
βββββββββββββββ ββββββββββββββββ ββββββββββββββββ ββββββββββββββ
β
ββββββββββββββββ
β Vector DB β β Query ββββββββββββ
β (Upstash) β β Result β AI Agent β
ββββββββββββββββ ββββββββββββ
β
βββββββββββββ
β MCP API β
βββββββββββββTech Stack
Framework: Next.js 15 + TypeScript + TailwindCSS
Vector Database: Upstash Vector (serverless, perfect for Cloudflare deployment)
Embeddings: OpenAI text-embedding-3-small
GitHub API: Octokit
MCP: @modelcontextprotocol/sdk
Environment Variables
Create a .env.local file:
# GitHub (optional but recommended for higher rate limits)
GITHUB_TOKEN=your_github_token
# OpenAI
OPENAI_API_KEY=your_openai_api_key
# Upstash Vector
UPSTASH_VECTOR_RESTAR_URL=your_upstash_vector_url
UPSTASH_VECTOR_RESTAR_TOKEN=your_upstash_vector_tokenGetting Started
Install dependencies
npm installRun development server
npm run devOpen http://localhost:3000 in your browser.
CLI Usage
Index a GitHub repository
npx tsx cli/index.ts index <owner> <repo> [branch]Example:
npx tsx cli/index.ts index openai openai-python mainSearch indexed documentation
npx tsx cli/index.ts search "how to use embeddings"Show statistics
npx tsx cli/index.ts statsClear all indexed documents
npx tsx cli/index.ts clearStart MCP server (for AI Agent connection)
npx tsx cli/index.ts mcpMCP Integration
Add this configuration to your AI Agent that supports MCP:
{
"mcpServers": {
"docs-vector": {
"command": "node",
"args": [
"path/to/docs-vector-mcp/dist/cli/index.js",
"mcp"
],
"env": {
"OPENAI_API_KEY": "<your-openai-api-key>",
"UPSTASH_VECTOR_RESTAR_URL": "<your-upstash-url>",
"UPSTASH_VECTOR_RESTAR_TOKEN": "<your-upstash-token>"
}
}
}
}Available MCP Tools
search_docs- Search documentation semanticallyParameters:
query(string): The search querylimit(number, optional): Maximum number of results (1-20, default 5)
get_stats- Get statistics about stored documentationNo parameters
Deployment
Cloudflare Pages
This project is optimized for Cloudflare Pages deployment:
Push your code to GitHub
Connect your repository to Cloudflare Pages
Set build command:
npm install && npx next buildSet output directory:
.nextAdd all environment variables in Cloudflare dashboard
Deploy!
CI/CD with GitHub Actions
A sample workflow is included in .github/workflows/deploy.yml that automatically deploys to Cloudflare Pages on every push to main branch.
Project Structure
docs-vector-mcp/
βββ app/ # Next.js app router
β βββ api/ # API routes
β β βββ index/ # Indexing endpoint
β β βββ search/ # Search endpoint
β β βββ stats/ # Stats endpoint
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout
β βββ page.tsx # Home page
βββ components/ # React components
β βββ IndexForm.tsx # Repository indexing form
β βββ SearchForm.tsx # Search form
βββ lib/ # Core libraries
β βββ github.ts # GitHub fetcher
β βββ text-processor.ts # Text chunking
β βββ embedding.ts # Embedding generator
β βββ vector-store.ts # Vector storage
β βββ mcp-server.ts # MCP server
β βββ docs-service.ts # Service orchestrator
βββ cli/ # CLI entry
β βββ index.ts # CLI main
βββ .github/
β βββ workflows/ # GitHub Actions
βββ next.config.ts # Next.js config
βββ tailwind.config.ts # Tailwind config
βββ package.json # DependenciesHow It Works
Add Repository: You input a GitHub repository that contains tool documentation
Crawling: The system fetches all documentation files (.md, .mdx, .rst, .txt, etc.) from the repo
Processing: Text is cleaned and split into overlapping chunks
Embedding: OpenAI generates vector embeddings for each chunk
Storage: Vectors are stored in Upstash Vector database
Search: When an AI Agent asks a question, the query is embedded and similar documents are retrieved
Response: Relevant documentation snippets are returned to the AI Agent for answering
License
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.