docs-mcp
A secure MCP server providing intelligent documentation search across multiple frameworks using ChromaDB vector storage, enabling semantic search and integration with AI tools.
README
docs-mcp
A secure Model Context Protocol (MCP) server providing intelligent documentation search across multiple frameworks using ChromaDB vector storage.
Features
- Semantic Search across documentation using vector embeddings
- Multiple Frameworks supported: Python, FastAPI, React, SwiftUI, Tailwind CSS, Figma API, Figma Plugins, MDN CSS
- ChromaDB Storage for fast, persistent vector search
- MCP Protocol integration for Claude Code and other AI tools
- CLI Interface for easy management and extraction
Quick Start
-
Setup Environment
./docs-mcp dev --setup -
Extract Documentation (choose one or more)
./docs-mcp extract --framework python ./docs-mcp extract --framework css ./docs-mcp extract --all -
Start MCP Server
./docs-mcp server --start -
Test Integration
./docs-mcp test --framework figma
Available Commands
Extract Documentation
./docs-mcp extract --framework python # Python official docs
./docs-mcp extract --framework fastapi # FastAPI documentation
./docs-mcp extract --framework react # React.js documentation
./docs-mcp extract --framework swiftui # SwiftUI Apple docs
./docs-mcp extract --framework tailwind # Tailwind CSS docs
./docs-mcp extract --framework figma # Figma REST API docs
./docs-mcp extract --framework figma_plugin # Figma Plugin API docs
./docs-mcp extract --framework css # MDN CSS documentation
./docs-mcp extract --all # Extract all frameworks
Analyze Collection
./docs-mcp analyze --stats # Show documentation statistics
Test Integrations
./docs-mcp test --framework figma # Test Figma integration
./docs-mcp test --all # Run all tests
Server Operations
./docs-mcp server --start # Start MCP server
./docs-mcp server --config # Show configuration
Development
./docs-mcp dev --setup # Setup development environment
./docs-mcp dev --clean # Clean temporary files
Configuration
Set environment variables in .env:
CHROMA_DATA_DIR=/path/to/chroma/data
OPENAI_API_KEY=your_openai_key
ENVIRONMENT=development
MCP_SERVER_HOST=127.0.0.1
MCP_SERVER_PORT=8000
MCP Integration
Add to your .mcp.json:
{
"mcpServers": {
"docs": {
"command": "python",
"args": ["src/docs_mcp/server.py"],
"env": {
"PYTHONPATH": "src"
}
}
}
}
Available MCP Tools
search_fastapi_docs()- Search FastAPI documentationsearch_python_docs()- Search Python documentationsearch_swift_ios_docs()- Search Swift/iOS documentationget_security_guidelines()- Get security best practicesget_collection_stats()- View database statisticsadd_project_documentation()- Add custom documentation
Framework Coverage
| Framework | Documents | Status |
|---|---|---|
| Python | 465+ | ✅ Complete |
| Tailwind CSS | 195+ | ✅ Complete |
| Figma API | 144+ | ✅ Complete |
| Figma Plugins | 60+ | ✅ Complete |
| SwiftUI | 39+ | ✅ Complete |
| FastAPI | 21+ | ✅ Complete |
| React | 15+ | ✅ Complete |
| CSS (MDN) | 2,400+ | 🔄 In Progress |
Requirements
- Python 3.8+
- OpenAI API key (for embeddings)
- 2GB+ disk space (for ChromaDB)
License
MIT License - see LICENSE file for details.
Testing
This project maintains high test coverage with organized test suites:
- Server Initialization Tests (4 tests): Verify server startup and imports
- Configuration Tests (7 tests): Validate settings and environment handling
- Tool Registration Tests (9 tests): Ensure all MCP tools are properly registered
- CLI Tests (4 tests): Test command-line interface functionality
Running Tests Locally
# Run all tests
make test
# Run specific test categories
python -m pytest tests/test_server_initialization.py -v
python -m pytest tests/test_configuration.py -v
python -m pytest tests/test_tool_registration.py -v
python -m pytest tests/test_cli.py -v
# Run with coverage
python -m pytest tests/ --cov=src/docs_mcp --cov-report=html
Coverage Requirements
- Minimum Coverage: 75%
- Coverage Reports: Generated automatically in CI/CD
- Coverage Artifacts: Available in GitHub Actions builds
- PR Comments: Automatic coverage reporting on pull requests
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and ensure coverage:
make test - Submit a pull request
All pull requests must pass:
- ✅ Server initialization tests
- ✅ Configuration validation tests
- ✅ Tool registration tests
- ✅ CLI functionality tests
- ✅ Code formatting (Black)
- ✅ Code linting (flake8)
- ✅ 75%+ test coverage
Support
For issues and questions, please open an issue on GitHub.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.