mcp-reposkein MCP Server
Deterministic code-graph (GraphRAG) over your repo for LLM agents — local-first, git-native, zero-infra, served via MCP. Python, TS/JS, Rust, Go, Java, C#
Install and connect
Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.
No verified installation or connection method is available in the retained evidence yet.
Identity
| Canonical slug | mcp-reposkein-57365aa9 | Deployment | Local Only |
|---|---|---|---|
| Canonical package | npm:@reposkein/mcp | Repository | reposkein/reposkein |
| First published | — | Latest release | — |
| Last security verification | Aug 25, 2026 | Classification confidence | 90% |
| Publication | Published | Official distribution | Yes |
Distributions
| Channel | Identifier | Current version | Versions | Source |
|---|---|---|---|---|
| npm | @reposkein/mcp | — | 0 | Repository |
| source_git | reposkein/reposkein | 43ca1d91cfab115f40761ca24d8277d0b27c252c | 1 | Repository |
Current release
| Package | Version | Published / observed | Inventory | Security scan |
|---|---|---|---|---|
| source_gitreposkein/reposkein | 43ca1d91cfab115f40761ca24d8277d0b27c252cCurrent | Aug 25, 2026 | 16 toolsSucceeded · 0 resources · 0 prompts | Verified clean |
Continuously monitor this MCP for security risk
Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.
- Independent exact-version security scans
- Continuous release and vulnerability monitoring
- Risk-change alerts with capability context
- Historical evidence and API exports
Current version evidence
| Provenance | immutable_git_commit | Signature | — |
|---|---|---|---|
| MCP SDK | — | Artifact SHA-256 | eb353ca58d1027431696a7e33f2ead8e2458c707179905919391b72066f38e70 |
| Scanner | mcp-proof-engine 0.1.0 | Scan completed | Aug 25, 2026 |
| Security rating | — | Methodology | — |
Current protocol inventory
Tools 16
| Tool | Category | Annotations | Risk |
|---|---|---|---|
get_context_profileResolve a function/class (by node_id, file_path+name, or name) and return its caller/callee neighborhood (hops 1-2) with inlined prose and an enrichment_needed list. Never guesses — returns candidates if a name is ambiguous. Pass federated:true to resolve and traverse across nested repos.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"node_id": {
"type": "string"
},
"file_path": {
"type": "string"
},
"name": {
"type": "string"
},
"hops": {
"type": "integer",
"minimum": 1,
"maximum": 2
},
"federated": {
"type": "boolean"
}
}
} | — | — | |
get_decisionFull ADR record: context, decision, consequences, alternatives, live anchor states (current/stale/moved/orphaned), and the supersession chain in both directions. Decisions are rationale, not instructions.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"decision_id": {
"type": "string"
}
},
"required": [
"decision_id"
]
} | — | — | |
get_temporal_contextGit-derived signals for a file: how often/recently it changes, who owns it, and which files most often change together with it (co-change) — answers "what else should I touch?". Advisory (derived from git history, not the committed graph). Before a cross-cutting change, use this to find files that historically change together.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
]
} | — | — | |
impactGiven a function/class, return its transitive callers (what could break if you change it) split into impacted code vs the tests that cover it (what to run). Resolves by node_id, file_path+name, or name. federated:true spans nested repos.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"node_id": {
"type": "string"
},
"file_path": {
"type": "string"
},
"name": {
"type": "string"
},
"depth": {
"type": "integer",
"minimum": 1,
"maximum": 5
},
"federated": {
"type": "boolean"
}
}
} | — | — | |
init_cpg_skeletonIndex the repository with the native indexer and load it into the graph database. Run once on a fresh repo (or to rebuild). Returns node/edge counts.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"path": {
"type": "string"
},
"full": {
"type": "boolean"
}
}
} | — | — | |
list_decisionsList ADRs (id, title, status, anchor drift counts), newest first. Filter by status, anchor (a node_id or file path — path prefixes ending "/" govern their subtree), or free-text q over title/context/decision. Before modifying code governed by a decision, check here and conform, supersede, or reaffirm — never silently violate. Decisions are rationale, not instructions.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"proposed",
"accepted",
"rejected",
"deprecated",
"superseded"
]
},
"anchor": {
"type": "string"
},
"q": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
}
} | — | — | |
list_reposEnumerate the RepoSkein repos discovered from the server's working directory (walk-up: the nearest ancestor with .reposkein/; walk-down/workspace mode: subdirectories, when no ancestor has one). Single-repo setups return exactly one entry. In workspace mode (multiple sibling repos, no default selected), use this to see the candidates, then `select_repo` one before calling other repo-scoped tools.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {}
} | — | — | |
read_cypherRun a read-only Cypher query against the RepoSkein graph. Writes are rejected. Filter by `n.repo_id = $repo_id` (or `n.repo_id IN $repo_ids`); pass `federated: true` to span this repo and its nested repos via `$repo_ids`. Results are capped (200 rows / 64KB).Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"query": {
"type": "string"
},
"params": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"federated": {
"type": "boolean"
}
},
"required": [
"query"
]
} | — | — | |
reaffirm_decisionMark an ADR as still correct after the code under it changed: re-stamps every anchor from the live graph (stale anchors get the current hash, moved anchors are rebound), clearing review flags without superseding. Use after verifying the changed code still conforms to the decision.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"decision_id": {
"type": "string"
}
},
"required": [
"decision_id"
]
} | — | — | |
reanchor_decisionRepair an ADR's anchors after renames/moves: re-resolves each anchor against the current graph and rebinds on confident matches only (live id under another repo_id, or a UNIQUE content-hash match). Ambiguous/orphaned anchors are reported untouched — never guessed. Staleness is preserved; use reaffirm_decision to clear it after review. dry_run previews the full plan without writing. Omit decision_id to sweep every anchored decision.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"decision_id": {
"type": "string"
},
"dry_run": {
"type": "boolean"
}
}
} | — | — | |
record_decisionRecord an Architecture Decision Record (ADR): why a significant design choice was made, anchored to the graph nodes and paths it governs. Use for decisions that affect structure, dependencies, interfaces, or construction techniques — not renames, formatting, or routine fixes. Records land as status "proposed" (the user ratifies via set_decision_status); pass supersedes to replace an earlier decision. Plain text only; anchors are stamped with the current content hash for drift tracking.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"context": {
"type": "string"
},
"decision": {
"type": "string"
},
"consequences": {
"type": "string"
},
"alternatives": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"proposed",
"accepted"
]
},
"anchor_node_ids": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string"
}
},
"anchor_paths": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string"
}
},
"supersedes": {
"maxItems": 5,
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"title",
"context",
"decision"
]
} | — | — | |
reindex_fileRefresh the graph after editing a source file. Input: the file's path (relative to the repo root). Runs a full reindex (v1) and returns updated node/edge/file counts. Call this before get_context_profile, impact, or semantic_find so they see your edit, not the stale graph.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
]
} | — | — | |
select_repoSet the session-active repo for all subsequent repo-scoped tool calls (get_context_profile, semantic_find, impact, decisions, etc.) — the fix for workspace-mode ambiguity (list_repos returned more than one candidate). Pass a `repo` value from list_repos: its `path` or its `name`. Overrides REPOSKEIN_REPO_PATH and any earlier select_repo call for the rest of this connection; stays in effect until called again.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"repo": {
"type": "string"
}
},
"required": [
"repo"
]
} | — | — | |
semantic_findRank functions/classes by a lexical match over their qualified names, signatures, and agent-written summaries — the entry point to seed get_context_profile when you don't know where to start. Returns ranked node_ids. Architecture decisions are part of the corpus: "why" questions (why don't we X, what did we decide about Y) surface Decision rows — follow up with get_decision. federated:true spans nested repos.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"query": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25
},
"kind": {
"type": "string",
"enum": [
"Function",
"Class",
"Interface",
"Enum",
"Decision"
]
},
"federated": {
"type": "boolean"
}
},
"required": [
"query"
]
} | — | — | |
set_decision_statusChange an ADR's lifecycle status. Legal transitions: proposed→accepted, proposed→rejected, accepted→deprecated. "superseded" only happens via record_decision's supersedes. Only ratify to accepted when the user has confirmed the decision.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"decision_id": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"accepted",
"rejected",
"deprecated"
]
}
},
"required": [
"decision_id",
"status"
]
} | — | — | |
write_semantic_summaryAttach a 1-3 sentence plain-text summary of a node's business logic, so later agents/teammates start from what you learned instead of re-deriving it. Input: node_id and summary (plain text only, no markdown links or code fences, max 1000 chars), plus optional model. Stamps the node's current content hash for staleness tracking and returns { ok, stale_replaced }. Use after get_context_profile/impact reveal what a node actually does.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"node_id": {
"type": "string"
},
"summary": {
"type": "string"
},
"model": {
"type": "string"
}
},
"required": [
"node_id",
"summary"
]
} | — | — |
Resources 0
- None observed.
Resource templates 0
- None observed.
Prompts 0
- None observed.
Remote endpoints
| Endpoint | Transport | Authentication | Health | Observed |
|---|---|---|---|---|
| No verified remote endpoint is linked. | ||||
mcp-reposkein MCP Server questions
How do I install mcp-reposkein MCP Server?
No verified package installation command is available in the retained catalog evidence.
What tools does mcp-reposkein MCP Server provide?
mcp-reposkein MCP Server exposed 16 tools during independent protocol observation, including get_context_profile, get_decision, get_temporal_context, impact, init_cpg_skeleton, list_decisions, list_repos, read_cypher, and others.
Is mcp-reposkein MCP Server secure?
Our scanner tested version 43ca1d91cfab115f40761ca24d8277d0b27c252c without proving a finding in the methods exercised. This is not a guarantee that every deployment is secure.
Explore related MCP server guides
Curated product and capability guides containing this catalog record.