trackmcp
Back to directory
patw

avs-docs-mcp

View on GitHub

A vector search MCP for document retrieval using MongoDB Atlas Vector Search and Voyage AI Context embeddings.

2 stars PythonAI & Machine Learning Updated Aug 13, 2025
atlas-vector-searchmcp-servervoyageai

Documentation

MCP Document Search System

A vector search system for document retrieval using MongoDB Atlas Vector Search and Voyage AI embeddings.

Sample data included is for Atlas Vector Search!

Features

  • Ingests and chunks markdown documents with hierarchical headers
  • Generates embeddings using Voyage AI's contextual embeddings API
  • Stores documents and embeddings in MongoDB with parent-child relationships
  • Provides a FastMCP server for semantic document search
  • Supports configurable vector dimensions and chunking strategies

Available MCP Tools

The document search server provides these tools:

1. search_documents_vector(query: str, limit: int = 5)

    2. search_documents_lexicaly(query: str, limit: int = 1)

      3. get_parent_document(parent_id: str)

        Claude Desktop Tool Call

        Prerequisites

        • Python 3.10+
        • MongoDB Atlas cluster with vector search enabled
        • Voyage AI API key

        Installation

        1. Clone the repository:

        bash
        git clone https://github.com/patw/avs-document-search.git
        cd avs-document-search

        2. Install dependencies:

        bash
        pip install -r requirements.txt

        3. Create a `.env` file based on `sample.env` with your credentials

        Usage

        1. Ingest documents in the docs/ directory:

        bash
        python ingest_docs.py

        2. Run the search server:

        bash
        python avs-mcp.py

        Running the search server won't do much, other than verify your MongoDB URI is correct, you will need to plug this MCP server into an MCP client like Claude Desktop. Here's a sample config:

        json
        {
          "mcpServers": {
            "Atlas Vector Search Docs": {
              "command": "uv",
              "args": [
                "run",
                "--with",
                "fastmcp, pymongo, requests",
                "fastmcp",
                "run",
                "/avs-docs-mcp/avs-mcp.py"
              ]
            }
          }
        }

        Configuration

        Copy `sample.env` to `.env` and Edit to configure:

        • MongoDB connection string
        • Database and collection names
        • Voyage AI API key
        • Vector dimensions (256 default)

        Future Improvements

        • Implement hybrid search combining vector and text search using `$rankFusion` (when MongoDB 8.1 is GA on Atlas)
        • Support additional file formats (PDF, Word, etc.) with Docling

        Contributing

        Pull requests are welcome! For major changes, please open an issue first.

        Author

        Pat Wendorf

        pat.wendorf@mongodb.com

        GitHub: patw

        License

        MIT

        Frequently asked questions

        What is avs-docs-mcp?

        avs-docs-mcp is A vector search MCP for document retrieval using MongoDB Atlas Vector Search and Voyage AI Context embeddings.

        How do I install avs-docs-mcp?

        Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

        Is avs-docs-mcp open source?

        Yes — it is hosted on GitHub at https://github.com/patw/avs-docs-mcp and has 2 stars.

        Related MCP tools

        Run your own MCP server? See who uses it and what to fix.

        Measure it with TrackMCP