mcp-repo-search
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_REPO_SEARCH_TEMP_DIR | No | Base directory for clones (default: os.tmpdir()/mcp-repo-search) | |
| MCP_REPO_SEARCH_TTL_SECONDS | No | Idle timeout in seconds before the clone is deleted (default: 300) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ensure_repoA | Clone a Git repo to a temp directory (or reuse existing clone). Call this first before search_repo, read_file, or list_directory. Returns the clone path and status. Resets the 5-minute idle timer. |
| get_repo_statusA | Returns whether a repo is currently cloned, its path, repo URL, and seconds until expiry. Does not clone; call ensure_repo first if needed. |
| read_fileA | Read a file from the cloned repo. Path is relative to repo root. Call ensure_repo first. Resets idle timer. |
| list_directoryA | List files and directories in the cloned repo. Path is relative to repo root (default "."). Call ensure_repo first. Resets idle timer. |
| search_repoA | Search for text or regex in the cloned repo. Optional path (subdir) and fileGlob (e.g. *.ts). Call ensure_repo first. Resets idle timer. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: cloning, checking status, reading a file, listing a directory, and searching. ensure_repo and get_repo_status are related but one performs an action while the other reports state, so no ambiguity.
All tool names follow a consistent verb_noun pattern (ensure_repo, get_repo_status, read_file, list_directory, search_repo), using snake_case throughout. This makes the set predictable and easy to navigate.
Five tools is well-scoped for a repo search server: one setup action, one status query, and three core read/search operations. Each tool earns its place, and the count is within the ideal 3-15 range.
The tool surface provides complete lifecycle coverage for the stated purpose of searching within a cloned repo. It supports cloning (with reuse), checking cached state, reading individual files, listing directories, and searching by text/regex—no obvious gaps for this read-only domain.