Skip to main content

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. It reads local repositories, and remote ones it mirrors from any git host — one by one, or a whole group by a pattern (github: acme/shop-*) — at any branch, tag or commit: history, diffs, blame. One server can serve a team over HTTP behind a token, and search across all its repositories at once; secrets found in files are hidden. Documentation: repo-reader.pipelab.dev. The plan is in dev/PLAN.md, the design in dev/DESIGN.md.

Install

uvx repo-reader-mcp --config config.yaml --check   # with uv: nothing else to install
pip install repo-reader-mcp                          # or into an environment of your own

Python 3.12+ and git 2.31+. Then say which repositories it reads and connect your agent.

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.

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.
  • Guidance for agents: a repository's AGENTS.md, CLAUDE.md, rules and skills reach the agent reading it — plus what the people who run the server add, from its configuration or from another repository.
  • Search across all configured repositories at once, and grep inside one at any ref, with lines of context.
  • Any code host: local paths, GitHub, GitLab, Bitbucket, any git server — mirrored on a schedule, fetching only what is served; a group of repositories named by a pattern, new ones joining as they are created.
  • 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

One YAML file names the repositories and what to take from them; secrets are named, never written in it. An example is in examples/config.example.yaml; every key is in docs/reference/configuration.md. The documentation is at repo-reader.pipelab.dev, built from docs/.

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 --config my-config.yaml --check                 # check a configuration
uv run repo-reader-mcp --config my-config.yaml --sync                  # bring the mirrors up to date once
uv run repo-reader-mcp --config my-config.yaml                         # the server over stdio
uv run repo-reader-mcp --config my-config.yaml --http 127.0.0.1:8000   # over Streamable HTTP, at /mcp

License

Apache-2.0.

Metadata

Release files for repo-reader-mcp 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 repo-reader-mcp 0.1.0
File Size Uploaded Provenance
repo_reader_mcp-0.1.0.tar.gz 133.6 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for repo-reader-mcp 0.1.0
File Interpreter ABI Platform
repo_reader_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 208.8 kB

Release files / repo_reader_mcp-0.1.0.tar.gz

Download URL repo_reader_mcp-0.1.0.tar.gz
Size 133.6 kB
Tags Source
SHA-256 checksum
How to use checksums
877398b90efa2ce071361191daafd1d7d029bf95e0b39ae8e937df224c6b3805
BLAKE2b-256 checksum
How to use checksums
24c633cdc05428a767e69a2ef5d4720adfca777a56a69c42a0a46c57b4cbb39c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

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

Download URL repo_reader_mcp-0.1.0-py3-none-any.whl
Size 75.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
88e59f5e6983a4715392fb7e6bd948025dccdf0fd480213e713a5dc75d3deea5
BLAKE2b-256 checksum
How to use checksums
c355bfa77c12508773dc86d28c52573927213636ac0af275e497d263e96d37c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Security for repo-reader-mcp 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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for repo_reader_mcp-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

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 Full 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