Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
MCP server that maintains a living knowledge graph of your codebase for contextual awareness mcp-codemap $1 $1 MCP server that gives coding agents a mental map of your codebase with progressive disclosure - like foldable code sections in an IDE, but for LLMs. The first run parses every source file using tree-sitter and builds a graph of entities (classes, functions, interfaces, etc.) and their relationships (imports, extends, implements). This is stored in a local SQLite database (.codemap/graph.db) so subse Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Freshness
Last checked 2/25/2026
Best For
mcp-codemap is best for cli workflows where MCP compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB MCP, runtime-metrics, public facts pack
MCP server that maintains a living knowledge graph of your codebase for contextual awareness mcp-codemap $1 $1 MCP server that gives coding agents a mental map of your codebase with progressive disclosure - like foldable code sections in an IDE, but for LLMs. The first run parses every source file using tree-sitter and builds a graph of entities (classes, functions, interfaces, etc.) and their relationships (imports, extends, implements). This is stored in a local SQLite database (.codemap/graph.db) so subse
Public facts
4
Change events
1
Artifacts
0
Freshness
Feb 25, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 25, 2026
Vendor
Breca
Artifacts
0
Benchmarks
0
Last release
0.0.2
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Setup snapshot
git clone https://github.com/breca/mcp-codemap.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Breca
Protocol compatibility
MCP
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
# npx claude mcp add codemap -- npx mcp-codemap # docker claude mcp add codemap -- docker run --rm -i -v .:/project:z ghcr.io/breca/mcp-codemap
bash
npx mcp-codemap serve -p /path/to/your/project
json
{
"mcpServers": {
"codemap": {
"command": "npx",
"args": ["mcp-codemap"]
}
}
}json
{
"mcpServers": {
"codemap": {
"command": "docker",
"args": ["run", "--rm", "-i", "-v", ".:/project:z", "ghcr.io/breca/mcp-codemap"]
}
}
}json
{
"mcp": {
"codemap": {
"type": "stdio",
"command": "npx",
"args": ["mcp-codemap"]
}
}
}json
{
"mcp": {
"codemap": {
"type": "stdio",
"command": "docker",
"args": ["run", "--rm", "-i", "-v", ".:/project:z", "ghcr.io/breca/mcp-codemap"]
}
}
}Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
MCP server that maintains a living knowledge graph of your codebase for contextual awareness mcp-codemap $1 $1 MCP server that gives coding agents a mental map of your codebase with progressive disclosure - like foldable code sections in an IDE, but for LLMs. The first run parses every source file using tree-sitter and builds a graph of entities (classes, functions, interfaces, etc.) and their relationships (imports, extends, implements). This is stored in a local SQLite database (.codemap/graph.db) so subse
MCP server that gives coding agents a mental map of your codebase with progressive disclosure - like foldable code sections in an IDE, but for LLMs.
The first run parses every source file using tree-sitter and builds a
graph of entities (classes, functions, interfaces, etc.) and their
relationships (imports, extends, implements). This is stored in a local
SQLite database (.codemap/graph.db) so subsequent sessions read from
the index instantly - no re-parsing needed.
It exposes three tools. map builds the big picture - every file, class,
and function at a chosen detail level, from a quick outline to full
signatures with docstrings and dependency edges. query zooms into
a single entity for its source code, members, and relationships without
a separate file read. reindex keeps things fresh after edits,
auto-detecting changes via git diff.
Supported languages:
Typical exploration to understand a backend directory (44 files, ~420 entities):
Without codemap - Glob/Read/Grep or an Explore subagent:
| Step | Tool calls | Chars consumed | |---|---|---| | Glob to find files | 1 | ~500 | | Read models.py (572 lines) | 1 | ~15K | | Read world_service.py (628 lines) | 1 | ~18K | | Read ws.py (570 lines) | 1 | ~15K | | Read events.py (299 lines) | 1 | ~8K | | Read 4-5 API route files | 4-5 | ~60K | | Grep for cross-file imports/usage | 3-5 | ~10K | | Total | ~12-15 calls | ~125K+ |
And that's optimistic - an Explore subagent often does 15-25 tool calls across multiple turns, each with its own overhead, and still misses things.
With codemap - one or two calls:
| Level | Tool calls | Chars consumed |
|---|---|---|
| names (quick orient) | 1 | ~6K |
| signatures (working knowledge) | 1 | ~25K |
That's 5-6x fewer tokens, 12-20x fewer tool calls, and complete coverage - every entity in every file, not just the ones the agent guessed to read.
# npx
claude mcp add codemap -- npx mcp-codemap
# docker
claude mcp add codemap -- docker run --rm -i -v .:/project:z ghcr.io/breca/mcp-codemap
The project directory is auto-detected via MCP roots. To set it explicitly:
npx mcp-codemap serve -p /path/to/your/project
The first run indexes the project automatically. The index is stored in
.codemap/graph.db inside the project directory. Subsequent calls to map
or query auto-detect changed files via git diff and refresh the index
before returning results — no manual reindexing needed.
Add the MCP server config to your client's config file:
| Client | Config file |
|---|---|
| Claude Code | .mcp.json in project root |
| Cursor | .cursor/mcp.json in project root |
| Crush | .crush.json in project root |
| Continue | .continue/config.yaml |
| OpenCode | opencode.json in project root |
.mcp.json (Claude Code, Cursor):
{
"mcpServers": {
"codemap": {
"command": "npx",
"args": ["mcp-codemap"]
}
}
}
{
"mcpServers": {
"codemap": {
"command": "docker",
"args": ["run", "--rm", "-i", "-v", ".:/project:z", "ghcr.io/breca/mcp-codemap"]
}
}
}
<details>
<summary>Crush / OpenCode / Continue configs</summary>
.crush.json:
{
"mcp": {
"codemap": {
"type": "stdio",
"command": "npx",
"args": ["mcp-codemap"]
}
}
}
{
"mcp": {
"codemap": {
"type": "stdio",
"command": "docker",
"args": ["run", "--rm", "-i", "-v", ".:/project:z", "ghcr.io/breca/mcp-codemap"]
}
}
}
opencode.json:
{
"mcp": {
"codemap": {
"type": "local",
"command": ["npx", "mcp-codemap"]
}
}
}
{
"mcp": {
"codemap": {
"type": "local",
"command": ["docker", "run", "--rm", "-i", "-v", ".:/project:z", "ghcr.io/breca/mcp-codemap"]
}
}
}
.continue/config.yaml:
mcpServers:
- name: codemap
command: npx
args:
- mcp-codemap
mcpServers:
- name: codemap
command: docker
args:
- run
- --rm
- -i
- -v
- .:/project:z
- ghcr.io/breca/mcp-codemap
</details>
Response structure:
| Element | Meaning |
|---|---|
| Header line | PROJECT: <files> \| <entities> \| <languages> - project summary |
| === dir/ [N files, M entities] === | Directory section with aggregate counts |
| C/F/M/I/P/E | Kind prefix: Class, Function, Method, Interface, Property, Enum |
| :10-342 | Line range (start-end) |
| exp | Exported / public symbol |
| > imports: | Files this file imports from (resolved paths) |
| > used-by: | Files that import from this file |
map - structural overviewReturns files, entities, signatures, and relationships as a compact text map.
map(scope?, detail?, max_depth?)
detail controls output density (default: "signatures"):
| Level | Content | Relative size |
|---|---|---|
| "outline" | Files + entity counts | ~1% |
| "names" | Entity names, kinds, line ranges + docstrings on top-level entities | ~8% |
| "signatures" | Full signatures, docstrings, imports/used-by | ~25% |
| "full" | Signatures + cross-file relationships | ~40% |
scope limits output to a directory or file prefix (e.g., "src/api").
Typical workflow:
map(detail="names") # orient on the whole project
map(scope="src/api", detail="signatures") # drill into a module
map(detail="full") # inspect dependency graph
map(scope="src/tools", detail="names")PROJECT: 53 files | 642 entities | csharp/go/java/javascript/kotlin/php/python/ruby/rust/typescript
INDEXED: just now
C=class F=function M=method I=interface P=property E=enum V=variable T=type N=namespace
=== src/tools/ [5 files, 13 entities] ===
src/tools/describe-entity.ts
I DescribeEntityParams :6-9
"Parameters for the describe-entity tool."
F describeEntity :12-27
"Generate or retrieve a natural-language description for a named entity."
F formatDescribeResult :29-37
src/tools/get-context.ts
I GetContextParams :5-9
"Parameters for the map tool: optional scope, depth limit, and detail level."
F getContext :12-18
"Build and return the compact text map of the codebase."
src/tools/query.ts
I QueryParams :6-8
"Parameters for the query tool: entity name or qualified name."
F queryEntity :11-104
"Deep-dive on a single entity: signature, source, callers, callees, and members."
src/tools/reindex.ts
I ReindexParams :6-9
"Parameters for the reindex tool: optional file paths and force flag."
F reindex :12-52
"Re-index changed files; auto-detects via git diff when no paths given."
src/tools/update-context.ts
I UpdateContextParams :6-10
"Parameters for the update-context tool."
F updateContext :13-55
"Incrementally update the index; falls back to full rescan if requested."
outline - file list with entity counts:
PROJECT: 53 files | 642 entities | csharp/go/java/javascript/kotlin/php/python/ruby/rust/typescript
INDEXED: just now
C=class F=function M=method I=interface P=property E=enum V=variable T=type N=namespace
=== src/parser/languages/ [11 files, 162 entities] ===
src/parser/languages/base.ts (10 entities)
src/parser/languages/python.ts (12 entities)
src/parser/languages/typescript.ts (10 entities)
names - adds entity names with kind prefix, line ranges, and docstrings on top-level entities:
src/parser/languages/base.ts
I ExtractedEntity :4-17
"A code entity (class, function, variable, etc.) extracted from a parse tree."
I FileParseResult :29-33
"Complete extraction output for a single source file."
I LanguageExtractor :45-50
"Contract for language-specific extractors that turn parse trees into entities."
F getDocComment :53-68
"Extract a JSDoc-style comment immediately preceding a node."
F getSignature :82-140
"Build a human-readable signature string from a class, function, or interface node."
signatures - adds full signatures, docstrings, export markers, and dependency info:
src/parser/languages/python.ts
C class PythonExtractor implements LanguageExtractor :11-343 exp
"Extracts classes, functions, and imports from Python source files."
P language :12-12
P extensions :13-13
M extract(tree: Parser.Tree, sourceCode: string, filePath: string): FileParseResult :15-23
M walkNode(
node: Parser.SyntaxNode,
sourceCode: string,
filePath: string,
entities: ExtractedEntity[],
...
): void :25-97
M extractEntity(...): ExtractedEntity | null :99-171
> imports: src/parser/languages/base.ts
src/parser/languages/typescript.ts
C class TypeScriptExtractor implements LanguageExtractor :15-352 exp
"Extracts classes, functions, interfaces, and relationships from TypeScript/TSX files."
...
> imports: src/parser/languages/base.ts
> used-by: src/parser/languages/javascript.ts
full - adds a cross-file relationships section:
=== RELATIONSHIPS ===
src/parser/languages/javascript.ts -> src/parser/languages/typescript.ts [extends: TypeScriptExtractor]
src/parser/languages/python.ts -> src/parser/languages/base.ts [implements: LanguageExtractor]
src/parser/languages/typescript.ts -> src/parser/languages/base.ts [implements: LanguageExtractor]
query - deep dive on one entityReturns signature, source code, callers, callees, and members for a single class, function, or method. Accepts simple or qualified names.
query(entity)
query(entity="UserService") # find by name
query(entity="UserService.createUser") # find by qualified name
Output includes the actual source code, so the agent doesn't need a separate file read to see the implementation.
class PythonExtractor [exported]
src/parser/languages/python.ts:10-342
SIGNATURE: class PythonExtractor implements LanguageExtractor
MEMBERS:
property language :11-11
property extensions :12-12
method extract(tree, sourceCode, filePath): FileParseResult :14-22
method walkNode(...): void :24-96
method extractEntity(...): ExtractedEntity | null :98-170
method extractDocstring(...): string | null :172-187
DEPENDS ON:
imports ExtractedEntity (src/parser/languages/base.ts:3)
imports FileParseResult (src/parser/languages/base.ts:26)
implements LanguageExtractor (src/parser/languages/base.ts:40)
USED BY:
imports ScanResult (src/parser/pipeline.ts:15)
SOURCE:
10 | export class PythonExtractor implements LanguageExtractor {
11 | language = 'python';
12 | extensions = ['.py'];
...
Response structure:
| Section | Content |
|---|---|
| Header | Entity kind, name, export status, file location |
| SIGNATURE | Full type signature |
| MEMBERS | Properties and methods with signatures and line ranges |
| DEPENDS ON | Entities this one imports, extends, or implements (with source locations) |
| USED BY | Entities that depend on this one |
| SOURCE | Full source code with line numbers |
reindex - refresh after editsNote: map and query automatically refresh the index before returning
results, so explicit reindexing is only needed for a forced full rescan.
Re-indexes changed files. Auto-detects changes via git diff when called with no arguments.
reindex(paths?, force?)
reindex() # auto-detect via git diff
reindex(paths=["src/foo.ts"]) # specific files
reindex(force=true) # full rescan, ignore cache
Git diff update (30 changed files)
Processed: 18
Skipped (unchanged): 11
Errors: 1
src/broken.js: TypeError: Cannot read properties of undefined
Place a config.json in the .codemap/ directory to override defaults:
{
"excludePatterns": [
"**/node_modules/**",
"**/dist/**",
"**/build/**",
"**/.git/**",
"**/vendor/**",
"**/__pycache__/**",
"**/target/**",
"**/*.min.js",
"**/*.bundle.js",
"**/*.generated.*",
"**/.codemap/**"
],
"maxFileSize": 1000000
}
| Option | Type | Default | Description |
|---|---|---|---|
| excludePatterns | string[] | See above | Glob patterns for files/directories to skip |
| includePatterns | string[] | ["**/*.{ts,tsx,js,...,c,h,cpp,hpp,...}"] | Glob patterns for files to include (non-git repos only) |
| languages | string[] | [] (all supported) | Restrict parsing to specific languages |
| maxFileSize | number | 1000000 | Skip files larger than this (bytes) |
| updateGitignore | boolean | true | Auto-add .codemap/ to .gitignore on init |
In git repos, file discovery uses git ls-files and respects .gitignore
automatically - includePatterns is only used in non-git repos as a
fallback. The exclude patterns act as a secondary filter in both cases.
The same binary works as a standalone CLI:
# npx
npx mcp-codemap map [-s scope] [--detail level] # print the map
npx mcp-codemap query <entity> # inspect an entity
npx mcp-codemap reindex [paths...] # re-index
npx mcp-codemap stats # show project stats
npx mcp-codemap web [--port 3333] # interactive web UI
npx mcp-codemap install-hooks # git hooks for auto re-indexing
npx mcp-codemap uninstall-hooks # remove installed git hooks
# docker (mount your project at /project)
docker run --rm -v .:/project:z ghcr.io/breca/mcp-codemap map -p /project
docker run --rm -v .:/project:z ghcr.io/breca/mcp-codemap stats -p /project
docker run --rm -v .:/project:z ghcr.io/breca/mcp-codemap query <entity> -p /project
docker run --rm -v .:/project:z -p 3333:3333 ghcr.io/breca/mcp-codemap web -p /project
codemap web launches an interactive graph explorer in your browser - a
visualization of every entity and relationship in the index.

codemap web [--port 3333]
Features:
tests).Only path-resolved relationships (imports, extends, implements) are included
in output. Name-based "calls" edges are excluded because global name lookup
produces too many false positives (get, split, etc. matching unrelated
symbols). See CONSTRAINTS.md for details.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/mcp-breca-mcp-codemap/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-breca-mcp-codemap/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-breca-mcp-codemap/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-breca-mcp-codemap/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-breca-mcp-codemap/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-breca-mcp-codemap/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-breca-mcp-codemap/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-breca-mcp-codemap/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-breca-mcp-codemap/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T03:12:27.964Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|unknown|profile capability:cli|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Breca",
"href": "https://github.com/breca/mcp-codemap",
"sourceUrl": "https://github.com/breca/mcp-codemap",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T03:22:21.664Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-breca-mcp-codemap/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-breca-mcp-codemap/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-25T03:22:21.664Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-breca-mcp-codemap/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-breca-mcp-codemap/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to mcp-codemap and adjacent AI workflows.