loading…
Search for a command to run...
loading…
Enables AI agents to semantically search GitHub repository documentation by automatically fetching, vectorizing, and indexing content into an Upstash Vector dat
Enables AI agents to semantically search GitHub repository documentation by automatically fetching, vectorizing, and indexing content into an Upstash Vector database. It provides a standard MCP interface for agents to retrieve relevant documentation snippets through natural language queries.
Vectorize GitHub tool documentation and provide MCP (Model Control Protocol) interface for AI Agents.
┌─────────────┐ ┌──────────────┐ ┌──────────────┐ ┌────────────┐
│ GitHub Repo │ → │ Crawl Docs │ → │ Split Chunks│ → │ Embedding │
└─────────────┘ └──────────────┘ └──────────────┘ └────────────┘
↓
┌──────────────┐
│ Vector DB │ ← Query ┌──────────┐
│ (Upstash) │ → Result │ AI Agent │
└──────────────┘ └──────────┘
↑
┌───────────┐
│ MCP API │
└───────────┘
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_token
npm install
npm run dev
Open http://localhost:3000 in your browser.
npx tsx cli/index.ts index <owner> <repo> [branch]
Example:
npx tsx cli/index.ts index openai openai-python main
npx tsx cli/index.ts search "how to use embeddings"
npx tsx cli/index.ts stats
npx tsx cli/index.ts clear
npx tsx cli/index.ts mcp
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>"
}
}
}
}
search_docs - Search documentation semantically
query (string): The search querylimit (number, optional): Maximum number of results (1-20, default 5)get_stats - Get statistics about stored documentation
This project is optimized for Cloudflare Pages deployment:
npm install && npx next build.nextA sample workflow is included in .github/workflows/deploy.yml that automatically deploys to Cloudflare Pages on every push to main branch.
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 # Dependencies
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"docs-vector-mcp": {
"command": "npx",
"args": []
}
}
}Query your database in natural language
Read-only database access with schema inspection.
Interact with Redis key-value stores.
Database interaction and business intelligence capabilities.