RepoMind-MCP
Repomind-MCP provides a local, private, and efficient suite of tools for AI coding assistants to understand codebase structure, dependencies, and impact of changes, without loading entire file contents into context.
Workspace Scanning: Use
repomind_scan_workspaceto recursively scan a workspace, producing a file tree, source file listing, and statistics (counts, sizes by type), while automatically ignoring noise likenode_modules,.git, anddist.Dependency Analysis:
repomind_get_dependenciesparses imports in JavaScript, TypeScript, and Python files to build a directed dependency graph showing direct and transitive relationships for a file or directory.Architecture Diagrams:
repomind_generate_diagramcreates a Mermaid diagram of the dependency graph, optionally scoped to specific files or directories and grouped by parent folder into subgraphs.Impact Analysis:
repomind_impact_analysisperforms reverse-dependency BFS from a target file to identify all files that depend on it (directly or indirectly), revealing the blast radius of a change with configurable traversal depth.Raw Graph Access: Exposes a resource
repomind://workspace/graphfor direct JSON inspection of the full dependency graph.Prompt Templates: Provides pre-built prompts
architecture-reviewandblast-radius-checkthat incorporate live project data for structured code reviews.
Click on "Deploy 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., "@RepoMind-MCPanalyze dependencies of src/main.ts"
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.
RepoMind-MCP
A local Model Context Protocol server that gives AI coding assistants a map of your codebase — file structure, import graph, and "what breaks if I change this file" — without dumping the whole repo into the model's context.
It runs entirely on your machine over stdio. No network calls, no uploading code anywhere.
Quick Start
Add this to your MCP client config (e.g. Claude Desktop's claude_desktop_config.json):
{
"mcpServers": {
"repomind-mcp": {
"command": "npx",
"args": ["-y", "repomind-mcp"]
}
}
}Restart your client. The assistant can now call the tools below whenever it needs to understand your project's layout instead of guessing.
Related MCP server: mcp-server-ts-analysis
What it actually does
Ask your assistant something like "what would break if I change src/auth.ts?" or "give me an architecture diagram of this project" — it reaches for one of these tools instead of grepping blindly:
Tool | Answers the question... | Key argument |
| "What's in this project?" — file tree, counts, sizes by type |
|
| "What does this file import, directly and transitively?" |
|
| "Draw me the architecture" — Mermaid diagram grouped by folder |
|
| "What breaks if I change this file?" — reverse dependency BFS |
|
All paths are absolute and everything runs against your local filesystem — node_modules, .git, dist, and other build/binary noise is ignored automatically. Supports JavaScript, TypeScript, and Python import resolution.
Under the hood, a single in-memory dependency graph (keyed by file mtime, see src/cache.ts) backs all four tools, so repeated calls on an unchanged workspace are fast.
Also exposed
Resource
repomind://workspace/graph— the full serialized dependency graph as JSON, for clients that want to inspect it directly rather than calling a tool.Prompts
architecture-reviewandblast-radius-check— pre-built prompt templates that pull in the live file tree / impact analysis so the assistant reviews your actual code, not a hypothetical one.
Local Development
Only needed if you're modifying RepoMind-MCP itself — most users just want the Quick Start above.
npm install
npm run build # compiles src/ (TypeScript) -> dist/ (ESM)
npm start # runs the server on stdioPoint your client at the compiled entry point instead of npx:
{
"mcpServers": {
"repomind-mcp": {
"command": "node",
"args": ["/absolute/path/to/RepoMind-MCP/dist/index.js"]
}
}
}Testing
scratch/test-server.js spins up the built server and drives it through a handful of JSON-RPC tool calls end-to-end:
npm run build && node scratch/test-server.jsLicense
MIT
Available Tools
4 toolsrepomind_generate_diagramB
Generates a beautiful visual Mermaid diagram representing the dependency graph of the files. Can group files by their parent directories into subgraphs.
| Name | Required | Description | Default |
|---|---|---|---|
| scopePaths | No | Optional absolute paths of files or directories to restrict the scope of the diagram. If omitted, maps the entire workspace. | |
| diagramType | No | The type of diagram to generate. Currently supports 'mermaid'. | mermaid |
| workspaceRoot | No | Optional absolute path of the workspace root to resolve imports. Defaults to finding it from scopePaths or process.cwd(). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the core action of generating a diagram and optionally grouping by directories. It does not disclose whether the tool is read-only, any required permissions, or how output is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, and avoids redundancy. The word 'beautiful' is non-essential but does not significantly detract.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic function and one key feature, but lacks clarity on return value format and the effect of optional parameters, though these are documented in the schema. Without annotations or output schema, it is minimally adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all three parameters with descriptions, so the description adds no additional meaning. The mention of grouping by directories is a feature detail, not tied to specific parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a Mermaid diagram of the dependency graph, which is distinct from sibling tools that scan, get dependencies, or analyze impact. The verb 'Generates' and resource 'Mermaid diagram' are specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives; it does not mention that get_dependencies should be used for raw data or impact_analysis for impact assessment. Usage is only implied by the description's purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repomind_get_dependenciesA
Analyzes imports in JavaScript, TypeScript, and Python files within a target path (file or directory) to build a directed dependency graph showing local module relationships.
| Name | Required | Description | Default |
|---|---|---|---|
| targetPath | Yes | The absolute path to the file or directory to analyze for dependencies. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It clearly indicates a read-only analysis operation (no side effects) and specifies supported languages and output type (directed dependency graph). It lacks details on scalability or edge cases, but for a simple analysis tool it is sufficiently transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured sentence that front-loads the core function and includes essential qualifiers (languages, file/directory, output type). Every word earns its place with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is largely complete: it specifies the input path, languages analyzed, and the output graph. It could mention return format or limitations, but these are less critical for a read-only analysis tool in the context of sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter targetPath, which already defines it as an absolute path to a file or directory. The description adds no new information about parameter semantics beyond what the schema states, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool analyzes imports in JavaScript, TypeScript, and Python files and builds a directed dependency graph. It uses specific verbs and resources, and it distinguishes itself from siblings by focusing on dependency graph construction rather than scanning, diagramming, or impact analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used to analyze dependencies in a given path, but it does not explicitly state when to prefer this over sibling tools like repomind_scan_workspace or repomind_impact_analysis. There is no mention of exclusions or alternative usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repomind_impact_analysisA
Calculates the downstream blast radius (reverse dependents) of modifying a target file or module, showing exactly which files depend on it directly or indirectly.
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | The maximum traversal depth for reverse lookup (defaults to 3). | |
| targetPath | Yes | The absolute path to the target file to assess. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It adds meaningful context by explaining the tool shows 'directly or indirectly' dependent files, hinting at recursive traversal. However, it does not detail the output format, performance implications, or how depth is handled beyond what the schema already states. This is minimal but non-contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that clearly conveys the tool's purpose without any filler or repetition. Every part contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple two-parameter schema and clear purpose, the description is complete enough for an agent to select and invoke the tool. It lacks an output schema, but the description implies a list of dependent files. It could be slightly more detailed about output format, but overall it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both targetPath and depth having descriptions. The description adds 'directly or indirectly' which maps to depth traversal but does not provide substantial additional semantics. Baseline 3 applies because the schema already explains parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Calculates the downstream blast radius (reverse dependents) of modifying a target file or module, showing exactly which files depend on it directly or indirectly.' This uses a specific verb and resource, and distinguishes it from siblings like repomind_get_dependencies (forward dependencies) by emphasizing reverse dependents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a clear use case: assessing the impact of modifying a file or module. It states the purpose ('if modifying a target file') but does not explicitly mention alternatives or exclusions. This is clear context without explicit when-not-to-use guidance, matching the 'clear context, no exclusions' level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repomind_scan_workspaceA
Recursively scans a workspace directory, mapping its file structure, listing source files, and providing statistics, while ignoring binary/build folders (e.g. node_modules, .git, dist).
| Name | Required | Description | Default |
|---|---|---|---|
| basePath | Yes | The absolute path to the workspace root directory to scan. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the scan is recursive, ignores binary/build folders (node_modules, .git, dist), and provides statistics. However, it does not explicitly state that the operation is read-only or mention any potential side effects, performance implications, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the main action ('Recursively scans'), then adds specific details about ignored folders and outputs. Every clause earns its place, with no superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description adequately covers the tool's behavior and output by mentioning file structure mapping, source file listing, and statistics. It could be more specific about the return format (e.g., JSON object), but the current level is sufficient for a straightforward scan.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, basePath, is fully described in the schema ('The absolute path to the workspace root directory to scan'). The description adds no extra meaning beyond repeating that it is the workspace root. Baseline 3 is appropriate given 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's verb ('Recursively scans'), resource ('workspace directory'), and scope ('mapping its file structure, listing source files, and providing statistics'). It also distinguishes itself from siblings by specifying it ignores binary/build folders, which is unique among the listed tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for scanning a workspace to understand its structure, but does not explicitly state when to use this tool versus alternatives like repomind_generate_diagram or repomind_impact_analysis. No exclusions or explicit 'use this when...' guidance is provided.
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.
4 tool updates
v2.0.1- First observed
repomind_generate_diagram - First observed
repomind_get_dependencies - First observed
repomind_impact_analysis - First observed
repomind_scan_workspace
TDQS
Scored across 4 tools
Each tool targets a distinct phase of repository analysis: scanning structure, computing dependencies, generating diagrams, and calculating impact. No overlap or ambiguity exists between them.
All tools follow the consistent pattern 'repomind_<verb>_<object>' with snake_case throughout. The verb-noun construction is uniform and predictable across the set.
Four tools is an ideal size for a focused repository analysis server. Each tool earns its place and there is no bloat or redundancy.
The tool set forms a complete workflow: scan a workspace, extract dependencies, visualize them, and analyze impact. No obvious gaps exist for the stated purpose of repository analysis.
Maintenance
Related MCP Connectors
Repository knowledge graph MCP server for codebase understanding and debugging.
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for static security analysis of Android source code
MCP server for VC pitch-deck scoring, thesis-fit matching, and deal-flow management.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceMCP server for automated architectural mapping, security vulnerability detection, ML asset tracking, and code metrics in local repositories.-
- FlicenseBqualityCmaintenanceMCP server for TypeScript type resolution and dependency graph analysis using ts-morph and madge.81-
- AlicenseAqualityCmaintenanceMCP server that analyzes TypeScript/JavaScript codebases via AST parsing and dependency graph tracing to identify affected tests, detect dead code, circular dependencies, and trace import chains, enabling AI agents to run only relevant tests.1528 npmMIT
- AlicenseAqualityAmaintenanceAn MCP server that maps any repository into architecture diagrams, providing tools for scanning code facts, building import graphs, and generating Mermaid/DOT diagrams, plus architecture rule enforcement for CI.531 npm1MIT