Skip to main content
Glama
elkraps

context-bridge

by elkraps

Context Bridge MCP

Context Bridge is a Model Context Protocol (MCP) server designed to provide Large Language Models (LLMs) with secure, read-only access to local documentation. It acts as an intermediary layer, allowing agents to scan directories, search for keywords, and extract content from PDF, DOCX, Markdown, and plain text files directly from the host filesystem.

This tool resolves the context isolation problem by enabling agents to reference large local knowledge bases without requiring file uploads or manual copy-pasting.

Features

  • File System Scanning: recursively list documents with metadata (size, modification date) to understand the knowledge base structure.

  • Content Extraction: parse and extract text from binary formats (PDF, DOCX) and text-based formats (Markdown, TXT).

  • Semantic Search: perform keyword-based search across multiple files to locate relevant information snippets.

  • Safety: operates in read-only mode to prevent accidental data modification.

Related MCP server: MCP Docs Server

Available Tools

  • list_documents: Scans a directory for supported files (PDF, DOCX, MD, TXT).

    • path (string, optional): Absolute path to the directory. Defaults to current.

    • recursive (boolean, optional): Enable subdirectory scanning.

  • read_document: Extracts text content from a file. Handles binary conversion automatically.

    • path (string, required): Absolute path to the file.

  • search_documents: Performs case-insensitive keyword search with context snippets.

    • query (string, required): Search term.

    • path (string, optional): Directory scope.

    • recursive (boolean, optional): Enable subdirectory search.

Getting Started

Local Installation (Source)

  1. Clone the repository:

    git clone https://github.com/elkraps/context-bridge-mcp.git
    cd context-bridge
  2. Install dependencies and build:

    npm install
    npm run build
  3. Client Configuration: Add the server configuration to your MCP-compatible client's settings file. For example:

    {
      "mcpServers": {
        "context-bridge": {
          "command": "node",
          "args": ["/ABSOLUTE/PATH/TO/context-bridge/build/index.js"]
        }
      }
    }

NPX Usage

Configure your MCP client to run the server directly via npx:

{
  "mcpServers": {
    "context-bridge": {
      "command": "npx",
      "args": ["-y", "@elkraps/context-bridge"]
    }
  }
}

Usage

To effectively utilize this tool, you must explicitly direct the agent to interface with the local documentation using the context-bridge terminology.

System Prompt Configuration

To ensure the agent prioritizes this MCP server over generic shell commands (like ls or cat), add the following instruction to your System Prompt, .cursorrules, or custom instructions:

"You have access to local documentation via the context-bridge tools. ALWAYS use list_documents, read_document, and search_documents to explore, read, or search files. Do not use shell commands for documentation tasks."

Interaction Examples

Correct Prompting:

"Please analyze the system architecture described in my documentation folder at /Users/username/projects/docs using context-bridge. List the available files first."

"Search for 'authentication protocols' within the local documentation using context-bridge and summarize the findings."

"Read the file /Users/username/projects/docs/api-spec.pdf using context-bridge and generate a Python client based on it."

Supported File Types

  • PDF (.pdf): Text extraction only (OCR not supported).

  • Microsoft Word (.docx): Text extraction.

  • Markdown (.md): Native text reading.

  • Plain Text (.txt): Native text reading.

Available Tools

3 tools
list_documentsList documentsC

List supported documents in a directory

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoAbsolute path
recursiveNoRecurse

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of disclosing behavior. It states the operation but does not clarify what 'supported documents' means, whether recursive defaults to false, what the output structure looks like, or any side effects. This is a significant gap for a tool that could impact navigation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no redundant words. It is efficiently structured and easy to parse, but its brevity leaves out important context, so it doesn't earn a 5 for being both concise and informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity and two simple parameters, the description should provide enough detail to use the tool effectively. It does not explain the return format, default behavior for recursive, or what qualifies as 'supported', making it incomplete for an agent to reason about outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. However, the schema descriptions are minimal ('Absolute path' and 'Recurse') and the tool description adds no additional parameter context. The agent can infer basic semantics but not nuances like path type or recursive behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and a resource ('supported documents in a directory'), which clearly conveys the tool's main action. It is distinguishable from siblings like read_document (reads a specific doc) and search_documents (searches), though 'supported documents' is slightly vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the sibling tools. The description does not mention alternatives, prerequisites, or exclusions, leaving the agent to infer that listing is different from reading or searching without explicit direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_documentRead documentB

Extract text from a file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of disclosing behavior. It only states what the tool does ('extract text') without mentioning return format, file size limits, encoding handling, or whether the operation is read-only, though read-only is implied. This sparse disclosure is insufficient for a tool with no structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, immediately states the action and target, and contains no filler or redundant information. It is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity tool with one well-documented parameter and no output schema, the description covers the essential fact that it returns text from a file. The absence of usage alternatives and behavioral caveats slightly lowers the score, but the core invocation context is sufficiently clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (the single parameter 'path' is described as 'Absolute path'). The tool description adds no additional meaning beyond repeating 'a file', which does not enhance the schema's already clear parameter documentation. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Extract text from a file' uses a specific verb ('extract') and resource ('file'), clearly distinguishing the reading operation from sibling tools list_documents and search_documents. The purpose is unambiguous and directly matches the tool name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives. The description does not mention list_documents or search_documents, nor does it state prerequisites or exclusions, leaving the agent to infer the correct context from the tool name and siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_documentsSearch documentsC

Search text within documents

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoPath
queryYesTerm
recursiveNoRecurse

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It does not state whether the operation is read-only, what the return format is, whether it searches file contents or metadata, or how the recursive/path parameters affect behavior. This is a significant gap for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that is concise and easy to parse. However, it is under-specified, making it feel more like a placeholder than a well-crafted summary. Still, it earns its place without waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with three parameters and no output schema, the description is incomplete. It does not explain what is returned (e.g., matching documents, snippets, page numbers), how the path and recursive parameters affect the search, or any limitations. The schema provides some context but the description does not compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (all three parameters have descriptions, albeit minimal: Path, Term, Recurse). The description adds no extra meaning beyond the schema, but per the baseline rule, a high coverage warrants a score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a search action on documents with a specific verb and resource. It distinguishes itself from sibling tools (list_documents, read_document) by indicating a content-search function, though it lacks explicit scope or differentiation detail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like list_documents or read_document. The description implies usage for finding text, but there is no explicit context, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updatesv1.0.2
    • First observedlist_documents
    • First observedread_document
    • First observedsearch_documents

TDQS

A3.6/5.0
Disambiguation5/5

Each tool has a unique function: listing available documents, reading document content, and searching within documents. No two tools overlap in purpose, making selection unambiguous.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case, using list_, read_, and search_ prefixes. The slight singular/plural variation is natural and does not disrupt the pattern.

Tool Count5/5

Three tools is appropriately scoped for a document access utility, covering the essential read-side operations without redundancy. The server feels focused and not bloated.

Completeness5/5

For a context-bridge server that provides document access, the ability to list, read, and search covers the core use cases. There is no obvious missing operation within the server's implied read-only scope.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides direct access to local documentation files through simple search and overview tools, enabling LLMs to query project-specific markdown documentation without requiring vector databases or RAG pipelines.
    MIT
  • F
    license
    B
    quality
    D
    maintenance
    Provides LLMs with safe, read-only access to local codebases for searching, reading files, and finding function definitions. All source code remains local, ensuring privacy while enabling AI assistants to explore project structures and functionality.
    4
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/elkraps/context-bridge-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server