docs-mcp

artemartemov/docs-mcp

3.1

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.

Tools
6
Resources
0
Prompts
0

docs-mcp

CI Tests Coverage Python 3.8+ License: MIT Code style: black

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

  1. Setup Environment

    ./docs-mcp dev --setup
    
  2. Extract Documentation (choose one or more)

    ./docs-mcp extract --framework python
    ./docs-mcp extract --framework css
    ./docs-mcp extract --all
    
  3. Start MCP Server

    ./docs-mcp server --start
    
  4. 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 documentation
  • search_python_docs() - Search Python documentation
  • search_swift_ios_docs() - Search Swift/iOS documentation
  • get_security_guidelines() - Get security best practices
  • get_collection_stats() - View database statistics
  • add_project_documentation() - Add custom documentation

Framework Coverage

FrameworkDocumentsStatus
Python465+✅ Complete
Tailwind CSS195+✅ Complete
Figma API144+✅ Complete
Figma Plugins60+✅ Complete
SwiftUI39+✅ Complete
FastAPI21+✅ Complete
React15+✅ 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

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and ensure coverage: make test
  5. 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.