Repo Interrogator
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Repo Interrogatorsearch for 'BM25' in the codebase"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Repo Interrogator
Repo Interrogator is a local-first, deterministic MCP server that helps AI tools inspect one code repository safely.
It is for repository interrogation, not code modification.
What it does:
indexes files inside one
repo_rootruns deterministic BM25 search
outlines code structure via pluggable language adapters
builds context bundles with citations
writes sanitized audit logs
What it does not do:
no LLM calls in v1
no code writes or patching
no multi-repo routing
no HTTP/SSE transport in v1
Supported Environments
Python:
>=3.11Tested in this project: Linux and WSL paths, with explicit Windows path normalization tests
Expected to run on: Linux, macOS, Windows (with Python 3.11+)
Related MCP server: Local Project Sync
Quick Start
Clone this repository and enter it:
git clone https://github.com/taggedzi/Repo-Interrogator
cd repomapInstall (end-user style):
python -m pip install .This installs the console command repo-mcp.
Run against a local repository:
repo-mcp --repo-root /absolute/path/to/target/repoThe server uses STDIO. It waits for newline-delimited JSON requests and writes newline-delimited JSON responses.
Verify it responds:
printf '%s\n' '{"id":"req-1","method":"repo.status","params":{}}' \
| repo-mcp --repo-root /absolute/path/to/target/repoYou should get a JSON envelope with keys like:
request_idokresultwarningsblocked
Developer Quick Start
python -m venv .venv
source .venv/bin/activate
python -m pip install -e .
python -m pip install ruff mypy pytest buildRun checks:
python -m ruff format .
python -m ruff check .
python -m mypy src
python -m pytest -qTool Surface (Current)
repo.statusrepo.list_filesrepo.open_filerepo.outlinerepo.searchrepo.referencesrepo.build_context_bundlerepo.refresh_indexrepo.audit_log
Language Adapter Support
repo.outline currently supports these adapters:
Python:
python(AST-based)TypeScript/JavaScript:
ts_js_lexical(lexical)Java:
java_lexical(lexical)Go:
go_lexical(lexical)Rust:
rust_lexical(lexical)C++:
cpp_lexical(lexical)C#:
csharp_lexical(lexical)Fallback:
lexical(empty structural outline for unsupported files)
Important limits:
Non-Python adapters are lexical. They are deterministic and fast, but conservative.
Macro/generated code and advanced language features can be partially represented.
Search, references, and context bundle coverage depend on indexed extensions/excludes.
Start from
examples/repo_mcp.tomlfor stack-aware include/exclude defaults and override guidance.
Documentation
Installation:
docs/INSTALL.mdUsage and request/response examples:
docs/USAGE.mdConfiguration and limits:
docs/CONFIG.mdAI client integration (MCP over STDIO):
docs/AI_INTEGRATION.mdTroubleshooting:
docs/TROUBLESHOOTING.mdIssue labels and triage workflow:
docs/TRIAGE.mdSecurity policy and vulnerability reporting:
SECURITY.mdSecurity model and blocked behavior:
docs/SECURITY.mdRelease process:
docs/release.md
Docs Verification Checklist
Run these commands to validate docs examples against the current codebase:
python -m ruff format .
python -m ruff check .
python -m mypy src
python -m pytest -q
# quick server smoke
printf '%s\n' '{"id":"req-docs-1","method":"repo.status","params":{}}' \
| python -m repo_mcp.server --repo-root .This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/taggedzi/Repo-Interrogator'
If you have feedback or need assistance with the MCP directory API, please join our Discord server