Skip to main content
Glama
mcp-doc-search

mcp-doc-search

by anujmv

mcp-doc-search

A small Model Context Protocol (MCP) server that gives an LLM grounded search and retrieval over a local folder of documents. The model calls search_docs to find relevant sources, then get_document to read and cite them, so answers stay grounded in your files instead of the model's memory.

Built as a focused, forward-deployed pattern: the simplest thing that makes retrieval real and citable, ready to drop into an enterprise workflow and extend with embeddings or evals.

Tools

Tool

What it does

search_docs

Ranks documents in the docs folder against a query and returns top matches with snippets and scores.

get_document

Returns the full text of a document by id, for citation or deeper reading.

Related MCP server: directory-indexer

Quick start

npm install
npm run build
DOCS_DIR=./docs npm start

The server speaks MCP over stdio, so it is launched by an MCP client rather than used directly.

Use with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "doc-search": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-doc-search/dist/index.js"],
      "env": { "DOCS_DIR": "/absolute/path/to/your/docs" }
    }
  }
}

Then ask Claude something answerable from your docs, for example: "Search the docs for the KYC retry policy and cite the source."

How it works

  1. On startup the server indexes every .md / .txt file in DOCS_DIR.

  2. search_docs scores documents with a term-frequency relevance measure and returns ranked snippets.

  3. get_document returns full text for citation.

Scoring is intentionally simple. The point is the grounded retrieval contract, which is swappable for vector embeddings without changing the tool interface.

Roadmap

  • Vector embeddings + chunking for semantic search

  • PDF ingestion with OCR for scanned documents

  • A small eval set to measure answer groundedness

License

MIT

Available Tools

2 tools
get_documentGet documentA

Return the full text of a document by its id (filename), for citation or deeper reading.

Inputs: id (required).

search_docsSearch documentsA

Search the local document set for a query and return the most relevant documents with snippets. Use this to ground answers in real sources before responding.

Inputs: query (required), limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.3/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have completely distinct purposes: one for searching documents with snippets, the other for retrieving full text by ID. No ambiguity exists.

    Naming Consistency5/5

    Both names follow a consistent verb_noun pattern in snake_case (search_docs, get_document), making them predictable and easy to distinguish.

    Tool Count4/5

    With only two tools, the server is minimal but adequately scoped for a focused document search and retrieval purpose. It is slightly thin but not inappropriate.

    Completeness5/5

    The tool surface covers the essential workflow for a read-only document search: searching and retrieving full documents. No obvious gaps for its stated purpose.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      B
      quality
      D
      maintenance
      Provides intelligent retrieval capabilities for local files by scanning directories, generating vector indexes, and enabling semantic search through RAG (Retrieval Augmented Generation) with incremental indexing support.
      2
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables retrieval-augmented generation by allowing LLMs to search documents in a local folder using vector similarity, supporting multiple file formats.
      -
    • A
      license
      A
      quality
      F
      maintenance
      Provides LLMs with secure, read-only access to local documentation by scanning directories, extracting content from PDF, DOCX, Markdown, and text files, and performing keyword searches.
      3
      5 npm
      MIT