Skip to main content

Check Docs - FastMCP Document Indexing Server

A FastMCP server that uses ChromaDB for semantic document indexing and Git diff analysis to identify documentation that needs updates when code changes.

Features

  • 📚 Document Indexing: Index markdown documentation with semantic search capabilities
  • 🔍 Semantic Search: Search documentation using natural language queries
  • 📝 Git Diff Analysis: Automatically identify documentation that needs updates based on code changes
  • 🚀 Fast Embeddings: Uses Ollama's nomic-embed-text model for high-quality embeddings
  • 💾 Persistent Storage: ChromaDB for reliable vector storage

Prerequisites

  1. Python 3.9+
  2. uv (Python package manager)
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  3. Ollama with nomic-embed-text model
    # Install Ollama (macOS)
    brew install ollama
    
    # Start Ollama service
    ollama serve
    
    # Pull the embedding model
    ollama pull nomic-embed-text
    

Quick Start

1. Clone and Setup

# Clone the repository
git clone <your-repo-url>
cd check_docs

# Install dependencies with uv
uv sync

# Activate the virtual environment
source .venv/bin/activate  # On macOS/Linux
# or
.venv\Scripts\activate  # On Windows

2. Configure Continue

Create a YAML configuration file at .continue/mcpServers/mcp-server.yaml:

name: Check Docs MCP server
version: 0.0.1
schema: v1
mcpServers:
  - name: check_docs
    command: uv
    args:
      - --directory
      - /path/to/your/check_docs
      - run
      - python
      - server.py

Replace /path/to/your/check_docs with your actual project path.

Usage Examples

Index Documentation

In Continue Agent, ask to index the example docs:

index_docs ./docs # or  path to your docs folder

Search Documentation

Search through indexed documentation:

Search docs for "git integration"

Analyze Code Changes

Check which docs need updates based on code changes:

Check what documentation needs updating based on recent Git changes

Self-Documentation Check

Use the project on itself to ensure all features are documented:

  1. First, index the project's own documentation:

    index_docs ./
    
  2. Then check if all code features are covered:

    Check docs to see if all features in server.py are covered in the documentation
    

This will analyze the codebase and suggest any missing documentation for new features or tools.

For detailed information about available MCP tools, see available_tools.md.

Development

Running Tests

# Install dev dependencies
uv sync --dev

# Run tests
uv run pytest

Project Structure

check_docs/
├── server.py          # Main FastMCP server implementation
├── pyproject.toml     # Project configuration
├── README.md          # This file
├── example.md         # Implementation guide
├── chroma_db/         # ChromaDB storage (auto-created)
└── example_docs/      # Example documentation (optional)

Environment Variables

  • OLLAMA_HOST: Ollama API endpoint (default: http://localhost:11434)
  • CHROMA_DB_PATH: ChromaDB storage path (default: ./chroma_db)

Architecture

The server uses:

  • FastMCP for the MCP protocol implementation
  • ChromaDB for vector storage and similarity search
  • Ollama with nomic-embed-text for generating embeddings
  • GitPython for repository analysis
  • Pydantic for request/response validation

Troubleshooting

Ollama Connection Error

If you see "connection refused" errors:

# Check if Ollama is running
ollama list

# Start Ollama if needed
ollama serve

ChromaDB Persistence

The database is stored in ./chroma_db by default. To reset:

rm -rf chroma_db/

Memory Issues

For large documentation sets, you may need to:

  • Increase chunk size to reduce total chunks
  • Process files in batches
  • Use a cloud ChromaDB instance

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests with uv run pytest
  5. Submit a pull request

License

MIT License - see LICENSE file for details

Metadata

Release files for check-the-docs 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for check-the-docs 0.1.0
File Size Uploaded Provenance
check_the_docs-0.1.0.tar.gz 151.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for check-the-docs 0.1.0
File Interpreter ABI Platform
check_the_docs-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 313.9 kB

Release files / check_the_docs-0.1.0.tar.gz

Download URL check_the_docs-0.1.0.tar.gz
Size 151.0 kB
Tags Source
SHA-256 checksum
How to use checksums
15d7ee7e17835143ca4b9b35ecfbc4218f758fd4042b933880419d1c91cc879d
BLAKE2b-256 checksum
How to use checksums
8b4fde7e81ae387c42e89d172fa7e1f507906f809188d5212132914bf2d689c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / check_the_docs-0.1.0-py3-none-any.whl

Download URL check_the_docs-0.1.0-py3-none-any.whl
Size 162.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
487a5e708f2847099376097757dd03e9796eb9457a51ce2a146768327fc0ede9
BLAKE2b-256 checksum
How to use checksums
e0fd4cc4b960dc9afc216fedcb39d75de0780caef713af10069f1cdb208a5d4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Security for check-the-docs 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page