Skip to main content
Glama

RepoGraph

Turn any codebase into an interactive architecture map in 2 seconds. Zero server, full privacy, built for Claude & Claude Code.

RepoGraph demo: click a file for its blast radius, double-click a directory to collapse it

npm version MIT license Node >=18 Languages

👉 Try the interactive live demo (zustand's architecture, generated with one command)

Find the files that matter before changing the code. RepoGraph scans local imports, groups source files by directory and likely architectural layer, and writes an interactive HTML map. Directory clustering and utility folding help keep shared helpers from turning the view into a spiderweb. Three MCP tools let Claude inspect architecture and trace the impact of a proposed change.

“2 seconds” describes the quickstart experience, not a measured performance guarantee. Scan time and HTML size depend on the repository; a small map can be ~40 KB. No account, server, or configuration file is required.

Quickstart

npx repograph-cli .

Open the printed file:///.../repograph.html link. Click a file to see its incoming callers in cyan and outgoing dependencies in red. Double-click directory boxes to collapse or expand them. Press f to fit the graph to the viewport. Search matches subsequences in full file paths; the minimap lets you jump around large graphs.

Node.js 18 or newer is required. Scanning stays on your machine. The HTML embeds your file paths and graph data, so treat it as repository information when sharing. Opening the interactive map downloads pinned Cytoscape/layout scripts from public CDNs; no source or graph data is sent by RepoGraph. The CDN scripts must be reachable on first opening. SVG, JSON, and Mermaid exports need no browser CDN scripts.

Related MCP server: contextflow-mcp

CLI reference

repograph [path] [options]
repograph mcp

Options:
  -o, --output <file>       Write to a file
  --theme <theme>           dark | light | matrix (default: dark)
  --max-depth <n>           Maximum directory nesting (default: 6)
  --no-collapse-utils      Show utility candidates immediately
  --format <format>        html | json | mermaid | svg (default: html)
  -V, --version            Show version
  -h, --help               Show help

The path defaults to .. HTML defaults to ./repograph.html in your current working directory and prints its absolute file URL after writing. Other formats print to stdout unless --output is supplied. Output directories are created automatically. --max-depth 0 scans only root files.

npx repograph-cli ./my-app --output ./architecture.html --theme matrix
npx repograph-cli . --format json > graph.json
npx repograph-cli . --format mermaid --output architecture.mmd
npx repograph-cli . --format svg --output architecture.svg
npx repograph-cli . --max-depth 10 --no-collapse-utils

The static SVG arranges files in entry → business → unknown → data → util columns. Mermaid exports preserve nested directory subgraphs. Both include utility candidates; HTML initially hides folded utilities and their edges.

Use with Claude

Install from the MCP Registry

RepoGraph is listed on the official MCP Registry as io.github.Karry1123/repograph. Registry-aware clients can install it by that name; the manual Claude setup below also works.

Claude Desktop

Add this entry to claude_desktop_config.json, merging it with existing servers:

{
  "mcpServers": {
    "repograph": {
      "command": "npx",
      "args": ["-y", "repograph-cli", "mcp"]
    }
  }
}

Restart Claude Desktop, then ask: “Scan my repository at /absolute/path/to/project and show the impact of changing src/core/graph.ts.” Use an absolute repository path; the MCP server may start with a different working directory. Windows paths work too, for example F:\\RepoGraph in JSON.

Claude Code

claude mcp add repograph -- npx -y repograph-cli mcp

Ask Claude to generate an architecture map before a refactor, or find all transitive callers of a module before editing it. MCP mode uses stdio for the protocol and writes errors only to stderr.

Tools

Tool

Arguments

Result

scan_repository_graph

path (absolute repo root), maxDepth (int, default 6), collapseUtils (bool, default true)

Full ArchitectureGraph JSON: nodes, edges, nested clusters, metrics. Use for structure and hub files.

generate_architecture_html

path, outputPath (default ./repograph.html, relative to path), theme (dark / light / matrix)

Writes a self-contained interactive map; returns { success, filePath, nodeCount }. Use when a person wants a visual.

query_impact_path

path, changedFile (repo-relative, e.g. src/core/graph.ts)

Direct and transitive callers with BFS depth, affected clusters, blast radius. Use before editing or deleting a file.

Each tool performs its own fresh static scan of path on every call, so no prior scan is needed. Tools are annotated readOnlyHint: true except generate_architecture_html, which writes one file.

For HTML generation, a relative outputPath is resolved against the repository path. An absolute output path is used directly. The tools use a utility fan-in threshold of 15. Missing changed files return an error with the closest matching IDs. transitiveDependents includes direct callers at depth 1; blastRadius counts unique affected files and excludes the changed file itself.

How the map works

Imports become edges

Each source file becomes a node with a forward-slash relative ID. Local imports become directed edges from importer to dependency. JavaScript and TypeScript use Babel, with a regex fallback for unsupported syntax. Repeated references of the same type are combined with an edge weight. External packages are dropped. Class inheritance through an imported binding gets an inheritance edge; import() gets a dynamic edge.

RepoGraph tries source extensions, directory index files, NodeNext .js → .ts equivalents, and a heuristic @/ → src/ alias. It does not execute code or load project-specific compiler plugins. Computed imports and custom aliases can be missed.

Layers give the graph meaning

Layer

File or directory clues

Colour

Entry

controller, route, router, handler, api, endpoint, cli, app, server, main; root index

Cyan

Business

service, usecase, core, domain, logic, manager

Magenta

Data

repo, repository, model, schema, entity, store, db, dao, migration

Amber

Util

util, utils, helpers, common, shared, lib, constants, types, config; high fan-in

Slate

Unknown

Everything else

Indigo

Classification checks entry, business, data, then utility clues. It is an explainable filename heuristic, not a semantic judgement about your design. Clusters reflect the first two directory levels and retain nested parents.

Utility folding reduces noise

Files with more than 12 incoming callers and at most two outgoing dependencies, or utility-like names, are folding candidates. CLI/API default to 12; MCP defaults to 15. Folded nodes and their edges stay in the graph data and impact analysis but disappear from the initial HTML view. “Show utilities” reveals them. Degree counts use unique neighboring files, not repeated imports.

Blast radius follows callers

Impact analysis performs a breadth-first search over reverse edges. It handles cycles, visits each file once, and records the shortest caller depth. The inspector lists direct callers and dependencies; the highlight traces both full transitive chains. If a cycle belongs to both chains, the dependency highlight takes precedence.

Dead-code warnings count files with no incoming local edges that do not look like entry points. Treat these as review hints: frameworks, reflection, external consumers, and dynamic loading can all create valid files with no static callers. Coupling factor is average unique out-degree; density is edges divided by n * (n - 1) (zero for fewer than two files). LOC counts nonblank source lines, including comments.

Supported languages and scan rules

Language

Resolution

JavaScript / TypeScript

ESM imports/re-exports, require(), dynamic imports, imported superclass bindings; JS/JSX/MJS/CJS/TS/TSX/MTS/CTS

Python

import a.b, absolute and relative from imports, .py modules and __init__.py packages

Go

Single imports and import blocks; paths under the root go.mod module resolve to every scanned .go file in the target directory

Rust

mod x; resolves to x.rs or x/mod.rs; use crate::... resolves modules under src/

Root and nested .gitignore rules are respected. RepoGraph skips dependency, build, cache, and editor directories, including node_modules, .git, dist, build, out, coverage, __pycache__, .venv, venv, .next, .nuxt, target, vendor, .idea, .vscode, and .cache. Symlinks are skipped to prevent cycles. Files larger than 1.5 MB and *.min.js are excluded. Test/spec files are excluded from the main graph, with their count retained as metrics.excludedTestFiles.

Python, Go, and Rust resolution is intentionally static and heuristic: workspace manifests, build tags, Python import hooks, Rust macros, and non-root Go modules are not evaluated. Only files included in the scan can become nodes or targets.

Where it fits

This table describes the tools' focus rather than a feature-completeness or performance benchmark. Check each project's current documentation for its full capabilities.

RepoGraph

Madge

CodeSee

Gitingest

Primary output

Local interactive HTML architecture map

Module dependency graphs

Code exploration and mapping platform

Repository text context

Workflow

CLI + three MCP tools

Dependency analysis CLI/API

Platform workflow

Ingest code for LLM context

Main emphasis

Layers, utility folding, caller impact

Module relationships and cycles

Collaborative code understanding

Shareable code context

RepoGraph's approach

No server; embedded graph snapshot

Complementary dependency tooling

Different platform model

Complementary text-first tooling

Programmatic use

import { analyzeRepository } from 'repograph-cli/dist/src/api.js';
import { impactPath } from 'repograph-cli/dist/src/core/graph.js';
import { renderToHtml } from 'repograph-cli/dist/src/renderer/htmlTemplate.js';

const graph = await analyzeRepository('.', {
  maxDepth: 6,
  collapseUtils: true,
  utilThreshold: 12,
});
const impact = impactPath(graph, 'src/api.ts');
const html = renderToHtml(graph, { theme: 'dark' });

createServer() and startMcpServer() are exported from dist/src/index.js; importing the module does not start a transport. The graph data model lives in src/types.ts and ships with generated TypeScript declarations.

Contributing

npm install
npm run build
node dist/bin/cli.js . --output demo/self.html
node dist/bin/cli.js . --format json
node dist/bin/cli.js . --format mermaid

During development, use npm run dev -- .. On Windows PowerShell installations that block npm.ps1, use npm.cmd. Keep path IDs portable, avoid executing scanned code, and test resolution changes against a small repository containing the relevant imports. Include reproduction steps and the expected edges in bug reports or contributions.

License

MIT © 2026 Karry. See LICENSE.

Roadmap · star to vote

  • TypeScript/JavaScript

  • Python

  • Go

  • Rust

  • Java/Kotlin (unlocks at 200 ⭐)

  • C# (300 ⭐)

  • PHP/Ruby (500 ⭐)

  • Monorepo workspace + tsconfig paths alias resolution (200 ⭐)

  • VS Code extension (1000 ⭐)

Star to vote, open a Language Support Request issue, and share the imports and project layout you need supported. These thresholds guide priorities rather than promise delivery dates.

Available Tools

3 tools
generate_architecture_htmlGenerate interactive architecture map (HTML)A
Idempotent

Scan a local repository and write a single self-contained HTML file with an interactive architecture map: compound boxes per directory, nodes coloured by heuristic layer, click-to-highlight callers (cyan) and dependencies (red), fuzzy search, collapsible directories and a minimap. Use it when a person wants to look at or share the architecture; use scan_repository_graph when you need the data as JSON, or query_impact_path for the blast radius of one file. Returns { success: true, filePath, nodeCount } where filePath is the absolute path of the written file, which you can open in a browser. Every call performs its own fresh static scan of path; no prior scan is required. The HTML embeds the repository file paths and graph data, so treat it as repository information when sharing. The page loads pinned Cytoscape.js libraries from a public CDN when opened; nothing else leaves the machine.

NameRequiredDescriptionDefault
pathYesAbsolute path to the repository root to scan, e.g. "/home/me/project" or "C:/dev/project". Relative paths resolve against the MCP server process working directory, which is usually not the project, so prefer absolute paths.
themeNoColour theme of the generated page: "dark" (slate background, default), "light", or "matrix" (black and green).dark
outputPathNoWhere to write the HTML file. Default "./repograph.html". A relative value is resolved against `path` (the repository root); an absolute value is used as-is, e.g. "/tmp/arch.html". Parent directories are created../repograph.html

TDQS

A4.2/5.0
Behavior3/5

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

The description adds real context beyond annotations: it writes a file to disk, performs a fresh static scan on every call (no prior scan needed), embeds repository file paths so the artifact should be treated as repo information, and loads pinned Cytoscape.js from a CDN on open. However, it does not state overwrite behavior for an existing outputPath or any failure modes, which matters for a tool whose annotations declare readOnlyHint=false but destructiveHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the capability, then routing, then return value, then behavioral caveats. Dense but every sentence carries distinct information; the embedded feature list is the only slightly heavy part.

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

Completeness5/5

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

No output schema exists, but the description documents the return shape ({ success, filePath, nodeCount }), explains that filePath is an absolute path openable in a browser, and covers the scanning and CDN behavioral model. An agent has everything needed to call it and interpret the result.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters (including the path absolute-path guidance and outputPath resolution rules) are already documented in the schema. The description adds no parameter-level meaning beyond what the schema provides, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific verb (scan + write) and resource (single self-contained HTML architecture map) with concrete feature enumeration. It explicitly distinguishes itself from scan_repository_graph (JSON data) and query_impact_path (blast radius), so an agent can route without opening schemas.

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

Usage Guidelines5/5

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

Gives an explicit when-to-use ('when a person wants to look at or share the architecture') and names both alternatives with the exact condition selecting each. Nothing about tool selection is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_impact_pathQuery impact path (blast radius) of a fileA
Read-onlyIdempotent

Scan a local repository and report which files would be affected by changing one file: a breadth-first search over reverse import edges. Returns { changedFile, directDependents, transitiveDependents: [{ id, depth }], affectedClusters, blastRadius } where depth 1 means a direct importer, affectedClusters lists the directories touched, and blastRadius counts unique affected files excluding the changed file. Use it before editing, renaming or deleting a file to see who depends on it; use scan_repository_graph when you need the full graph, or generate_architecture_html for a visual. Every call performs its own fresh static scan of path; no prior scan is required. If changedFile is not found, the result is an error that lists the closest matching file ids so you can retry. Static analysis only: dynamic or computed imports and custom path aliases may be missed, and external packages are not tracked.

NameRequiredDescriptionDefault
pathYesAbsolute path to the repository root to scan, e.g. "/home/me/project" or "C:/dev/project". Relative paths resolve against the MCP server process working directory, which is usually not the project, so prefer absolute paths.
changedFileYesThe file whose callers you want, as a repository-relative path with forward slashes, e.g. "src/core/graph.ts" or "pkg/server/handler.go". An absolute path inside the repository is also accepted.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive), and the description still adds real behavior: each call performs a fresh static scan so no prior scan is needed, missing changedFile yields an error with closest matching ids, and static analysis limits (dynamic/computed imports, aliases, external packages) are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and algorithm, then the return shape, then alternatives, then caveats — a sensible ordering with no filler sentences. It is dense and multi-clause, which costs it the top mark, but nothing is redundant given the absent output schema.

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

Completeness5/5

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

No output schema exists, so the description supplies the full return shape including field meanings ('depth 1 means a direct importer', blastRadius excluding the changed file). Combined with the disclosed limitations and error behavior, an agent has everything needed to call it and interpret the result.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds genuine semantics: `path` is rescanned every call (fresh-scan contract) and `changedFile` failure mode returns near-match ids. It does not, however, restate the path-format expectations, which the schema already handles well.

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

Purpose5/5

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

States a specific verb and resource ('report which files would be affected by changing one file') plus the algorithm ('breadth-first search over reverse import edges'). The title's 'blast radius' concept is operationalized, so an agent can distinguish this from the two siblings without reading their schemas.

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

Usage Guidelines5/5

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

Gives explicit when-to-use ('before editing, renaming or deleting a file') and names both alternatives with their selecting conditions: scan_repository_graph for the full graph, generate_architecture_html for a visual. Exclusions are stated, not inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_repository_graphScan repository architecture graphA
Read-onlyIdempotent

Scan a local repository and return its architecture graph as JSON: one node per source file (id, layer, cluster, in/out degree, lines of code), import edges between files, nested directory clusters, and metrics (totalFiles, totalEdges, density, couplingFactor, deadCodeCount, foldedUtilityCount). Use it to understand how a codebase is organised, find hub files, or feed graph data into further analysis. Use query_impact_path instead when you only need the callers of one file, and generate_architecture_html when a human wants a visual map. Every call performs its own fresh static scan of path; no prior scan is required. Reads the local filesystem only, executes nothing, and sends nothing over the network. Supports TypeScript/JavaScript, Python, Go and Rust; external packages are dropped, test files are excluded, and layer labels (entry/business/data/util/unknown) are filename heuristics, not semantic judgements.

NameRequiredDescriptionDefault
pathYesAbsolute path to the repository root to scan, e.g. "/home/me/project" or "C:/dev/project". Relative paths resolve against the MCP server process working directory, which is usually not the project, so prefer absolute paths.
maxDepthNoMaximum directory nesting depth to scan below the root. Integer, default 6. Use 0 to scan only files in the root directory; raise it for deeply nested monorepos.
collapseUtilsNoWhether to mark high fan-in utility files (more than 15 callers and at most two dependencies, or utility-like names such as utils/helpers/types/config) as folded. Boolean, default true. Folded nodes stay in the graph data with isFolded: true; set false to treat every file equally.

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations: every call performs a fresh static scan with no prior scan required, reads only the local filesystem, executes nothing and makes no network calls. It also discloses language support, that external packages are dropped and tests excluded, and that layer labels are filename heuristics rather than semantic judgements — a material caveat for interpreting results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and output shape, and every clause carries information (alternatives, freshness, safety, language scope, heuristic caveat). It is a single dense paragraph, so the caveats are harder to scan than they would be if separated, but there is no filler.

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

Completeness5/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 carries the return-value burden and does so by enumerating node fields, edges, clusters, and named metrics. Combined with freshness, safety, and language-scope statements, an agent has everything needed to call it correctly and interpret the result.

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?

Schema coverage is 100%, so the baseline is 3; the description adds meaning by explaining that folded utility nodes remain in the data with isFolded:true and that layer/cluster labels are heuristics. It does not add syntax guidance for maxDepth or path beyond what the schema already says, so it stops short of a 5.

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

Purpose5/5

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

States a specific verb and resource ('Scan a local repository and return its architecture graph as JSON') and enumerates the return structure (nodes, edges, clusters, metrics). It distinguishes itself from both siblings by name and by what distinguishes them.

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

Usage Guidelines5/5

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

Gives explicit use cases ('understand how a codebase is organised, find hub files, or feed graph data into further analysis') and names the alternatives with the conditions that select them: query_impact_path for callers of one file, generate_architecture_html for a human-facing visual map.

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. 3 tool updates
    • Changedgenerate_architecture_html3 fields changed
      • addedInput schema / properties / outputPath / description
        Added value: +"Where to write the HTML file. Default \"./repograph.html\". A relative value is resolved against `path` (the repository root); an absolute value is used as-is, e.g. \"/tmp/arch.html\". Parent directories are created."
      • addedInput schema / properties / path / description
        Added value: +"Absolute path to the repository root to scan, e.g. \"/home/me/project\" or \"C:/dev/project\". Relative paths resolve against the MCP server process working directory, which is usually not the project, so prefer absolute paths."
      • addedInput schema / properties / theme / description
        Added value: +"Colour theme of the generated page: \"dark\" (slate background, default), \"light\", or \"matrix\" (black and green)."
    • Changedquery_impact_path2 fields changed
      • addedInput schema / properties / changedFile / description
        Added value: +"The file whose callers you want, as a repository-relative path with forward slashes, e.g. \"src/core/graph.ts\" or \"pkg/server/handler.go\". An absolute path inside the repository is also accepted."
      • addedInput schema / properties / path / description
        Added value: +"Absolute path to the repository root to scan, e.g. \"/home/me/project\" or \"C:/dev/project\". Relative paths resolve against the MCP server process working directory, which is usually not the project, so prefer absolute paths."
    • Changedscan_repository_graph3 fields changed
      • addedInput schema / properties / collapseUtils / description
        Added value: +"Whether to mark high fan-in utility files (more than 15 callers and at most two dependencies, or utility-like names such as utils/helpers/types/config) as folded. Boolean, default true. Folded nodes stay in the graph data with isFolded: true; set false to treat every file equally."
      • addedInput schema / properties / maxDepth / description
        Added value: +"Maximum directory nesting depth to scan below the root. Integer, default 6. Use 0 to scan only files in the root directory; raise it for deeply nested monorepos."
      • addedInput schema / properties / path / description
        Added value: +"Absolute path to the repository root to scan, e.g. \"/home/me/project\" or \"C:/dev/project\". Relative paths resolve against the MCP server process working directory, which is usually not the project, so prefer absolute paths."
  2. 3 tool updatesv0.1.1
    • First observedgenerate_architecture_html
    • First observedquery_impact_path
    • First observedscan_repository_graph

TDQS

A4.4/5.0

Scored across 3 tools

Disambiguation5/5

Each tool produces a clearly different artifact: full graph JSON, a rendered HTML visual, or a reverse-dependency blast radius for one file. Descriptions explicitly cross-reference each other ('use X when you need Y'), so misselection is very unlikely.

Naming Consistency5/5

All three names follow a strict verb_noun snake_case pattern (scan_repository_graph, generate_architecture_html, query_impact_path) with unambiguous verbs.

Tool Count4/5

Three tools is on the lean side but each covers a genuinely distinct output mode (data, visualization, targeted analysis) with no filler. The narrow scope is intentional and coherent rather than anemic.

Completeness4/5

The surface covers the core lifecycle: extract graph, export it, and analyze impact of a change, including error recovery hints for unknown files. Minor gaps exist (e.g. no tool to query a single node's details or filter/cluster views without pulling the whole graph), but the full graph output makes these workable.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides semantic code intelligence to help users search, navigate, and analyze entire codebases using plain English. It enables Claude to perform architectural overviews, bug detection, and refactor suggestions through local semantic search and keyword indexing.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables semantic code search and AI-powered Q\&A over vectorized repositories directly within Claude. It provides tools to search code chunks, answer questions grounded in source code, and inspect repository snapshot metadata.
    6 npm
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides Claude Code with local semantic search and indexing of your codebase using AST-aware chunking and hybrid search, enabling deep code understanding without sending data to the cloud.
    61 PyPI
    MIT