artemartemov/docs-mcp
If you are the rightful owner of docs-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
A secure Model Context Protocol (MCP) server providing intelligent documentation search across multiple frameworks using ChromaDB vector storage.
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.