Skip to main content
Glama

repo-reader-mcp

A read-only MCP server that lets any AI agent read and search code in git repositories — files at any branch, tag or commit, the history, diffs, blame and search across many repositories — without ever changing them.

Status: pre-alpha, being designed. Nothing here is ready to use yet. The plan is in dev/PLAN.md, the design in dev/DESIGN.md.

Why

Agents answer questions about code better when they can read it the way a developer does: open a file at the commit that matters, follow a change through the history, compare a branch with main, see who wrote a line and why. Most git MCP servers work on one local checkout and can write to it. This one is built to be pointed at many repositories — local folders or remote hosts — and to be safe to hand to a whole team.

Related MCP server: Sourceplane MCP

What it will do

  • Read a file, a folder, any branch, tag or commit — not only the default branch.

  • History: commits of a repository or a path, a commit with its diff, a diff between two refs, blame.

  • Search across all configured repositories at once, and grep inside one.

  • Any code host: local paths, GitHub, GitLab, Bitbucket, any git server — mirrored on a schedule, fetching only what is read.

  • Read-only by construction: no command that writes, no shell; secrets found in files are hidden before an agent sees them; answers sized for what clients accept.

  • Any MCP client: stdio for a local agent, Streamable HTTP for a shared server — Claude, ChatGPT, Cursor, Codex, any client that speaks MCP.

Configuration (planned)

One YAML file names the repositories and what to take from them; secrets are named, never written in it. A draft is in examples/config.example.yaml.

Development

Python 3.12, uv, the official MCP Python SDK.

uv sync
uv run pytest
uv run ruff check . && uv run ruff format --check .
uv run repo-reader-mcp            # the server over stdio

License

Apache-2.0.

Available Tools

1 tool
aboutA
Read-only

What this server is and what it will offer. Call it to check the connection.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered structurally. The description reinforces this implicitly as a diagnostic/connection-check call but adds no detail on what the response contains or how failures manifest, leaving modest added value.

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?

Two short sentences with zero waste, and the identity statement is front-loaded ahead of the call-to-action. Nothing is padded.

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

Completeness3/5

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

With no output schema, the description should ideally say what an agent gets back (server name, version, capabilities) so the tool's result can be reasoned about. It gestures at this with 'what this server is and what it will offer' but stops short of concrete return-value disclosure.

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

Parameters4/5

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

The tool takes zero parameters, so there is no parameter semantics to explain; the baseline for a param-less tool applies. The description correctly does not fabricate any inputs.

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

Purpose3/5

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

The description states the tool returns information about the server and its offerings, but 'what it will offer' is vague about the actual content. There's no concrete verb+resource framing (e.g., 'returns server name, version, capabilities') and no siblings to differentiate from, so the purpose is only loosely established.

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

Usage Guidelines4/5

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

It gives an explicit trigger: 'Call it to check the connection.' With no sibling tools, there are no alternatives to exclude, so the usage context is clear enough for an agent to know when to invoke it.

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.

  1. 1 tool updatev0.0.1
    • First observedabout

TDQS

B3.4/5.0

Scored across 1 tool

Disambiguation5/5

There is only one tool, so there is no risk of confusing it with another tool. Its purpose as a connection/about check is clear from its description.

Naming Consistency4/5

With a single tool there is no mixed naming convention to evaluate. However, 'about' is a noun and does not follow the common verb_noun pattern, so it is slightly less predictable.

Tool Count1/5

The server is named repo-reader-mcp, but it exposes only a single trivial 'about' tool. This is an extreme mismatch between the apparent purpose and the available tool surface.

Completeness1/5

There are no tools for reading repositories, files, metadata, or any core repo-reader functionality. The surface is severely incomplete for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that gives AI agents deep code understanding across multiple git repositories, combining git lifecycle management, Zoekt-based trigram code search, and cross-repo dependency analysis.
    20 PyPI
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Secure multi-source MCP server for reading local, GitHub, GitLab, Bitbucket, and network source code with read-only-by-default access, enabling AI assistants to inspect repositories safely.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A read-only MCP server that lets AI assistants inspect local workspace files, search context, view git diffs, and fetch a fixed GitHub profile, all within a sandboxed stdio transport.
    5
    ISC
  • F
    license
    A
    quality
    B
    maintenance
    A read-only MCP server that gives AI coding agents structured access to a project's source code, architecture, documentation, and Git context through 16 tools for searching, reading, and comparing evidence without modifying files.
    16
    -