Merge pull request #1528 from colbymchenry/issue/671-mcp-supported-languages
feat(mcp): surface supported languages in MCP server instructions (recut of #678)
This commit is contained in:
@@ -15,6 +15,8 @@ and adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|||||||
|
|
||||||
- `codegraph_explore` no longer re-sends source it already returned earlier in the same conversation. A file it has already shown you comes back as a short pointer — the path, the symbols and the exact line range, with confirmation that the file hasn't changed since — and the space that frees is spent on code you haven't seen yet, so a follow-up call covers new ground instead of repeating the last one. If a file was edited in between, its source is always shown again in full. Set `CODEGRAPH_EXPLORE_DEDUP=0` to turn this off.
|
- `codegraph_explore` no longer re-sends source it already returned earlier in the same conversation. A file it has already shown you comes back as a short pointer — the path, the symbols and the exact line range, with confirmation that the file hasn't changed since — and the space that frees is spent on code you haven't seen yet, so a follow-up call covers new ground instead of repeating the last one. If a file was edited in between, its source is always shown again in full. Set `CODEGRAPH_EXPLORE_DEDUP=0` to turn this off.
|
||||||
|
|
||||||
|
- When an agent connects over MCP, CodeGraph now states up front that it indexes 30+ languages — TypeScript/JavaScript, Python, Go, Rust, Java, C#, C/C++, PHP, Ruby, Swift, Kotlin, and more — so agents no longer assume a language isn't supported and skip the graph. (#671)
|
||||||
|
|
||||||
### Fixes
|
### Fixes
|
||||||
|
|
||||||
- A long-lived index no longer drifts away from what a fresh `codegraph index` would produce. When a file gained or lost a symbol, references to that name in files the sync never touched kept pointing at the definition that was correct before the change, and — because nothing distinguished two same-named definitions — the winner could come down to the order files happened to be written, which differs between a full index and a sync. On this project's own repository, replaying 80 commits through `sync` left 5.7% of connections wrong; it is now 1.3%, and the wrong-answers-still-being-asserted half drops by 99.7%. Since call edges are what flow questions follow and what `codegraph_explore` ranks files by, this quietly degraded answers as an index aged, with nothing to indicate it. Syncing is unchanged in speed, and an edit that only changes a function's body does no extra work at all. Set `CODEGRAPH_NO_REBIND=1` to opt out.
|
- A long-lived index no longer drifts away from what a fresh `codegraph index` would produce. When a file gained or lost a symbol, references to that name in files the sync never touched kept pointing at the definition that was correct before the change, and — because nothing distinguished two same-named definitions — the winner could come down to the order files happened to be written, which differs between a full index and a sync. On this project's own repository, replaying 80 commits through `sync` left 5.7% of connections wrong; it is now 1.3%, and the wrong-answers-still-being-asserted half drops by 99.7%. Since call edges are what flow questions follow and what `codegraph_explore` ranks files by, this quietly degraded answers as an index aged, with nothing to indicate it. Syncing is unchanged in speed, and an edit that only changes a function's body does no extra work at all. Set `CODEGRAPH_NO_REBIND=1` to opt out.
|
||||||
|
|||||||
@@ -22,8 +22,10 @@ export const SERVER_INSTRUCTIONS = `# Codegraph — code intelligence over an in
|
|||||||
Codegraph is a SQLite knowledge graph of every symbol, edge, and file in
|
Codegraph is a SQLite knowledge graph of every symbol, edge, and file in
|
||||||
the workspace — pre-computed structure you would otherwise re-derive by
|
the workspace — pre-computed structure you would otherwise re-derive by
|
||||||
reading files (cached intelligence: thousands of parse/trace decisions you
|
reading files (cached intelligence: thousands of parse/trace decisions you
|
||||||
don't pay to re-reason each run). Reads are sub-millisecond; the index lags
|
don't pay to re-reason each run). It indexes 30+ languages
|
||||||
writes by ~1s through the file watcher. Reach for it BEFORE *and* while
|
(TypeScript/JavaScript, Python, Go, Rust, Java, C#, C/C++, PHP, Ruby, Swift,
|
||||||
|
Kotlin, and more) — don't assume a language here isn't covered. Reads are
|
||||||
|
sub-millisecond; the index lags writes by ~1s through the file watcher. Reach for it BEFORE *and* while
|
||||||
writing or editing code — not just for questions: one call returns the
|
writing or editing code — not just for questions: one call returns the
|
||||||
verbatim source PLUS who calls it and what it affects, so you edit with the
|
verbatim source PLUS who calls it and what it affects, so you edit with the
|
||||||
blast radius in view. More accurate context, in far fewer tokens and
|
blast radius in view. More accurate context, in far fewer tokens and
|
||||||
@@ -87,7 +89,7 @@ calls; a grep/read exploration is dozens.
|
|||||||
export const SERVER_INSTRUCTIONS_NO_ROOT_INDEX = `# Codegraph — available (per-project; pass projectPath)
|
export const SERVER_INSTRUCTIONS_NO_ROOT_INDEX = `# Codegraph — available (per-project; pass projectPath)
|
||||||
|
|
||||||
Codegraph is a SQLite knowledge graph of a codebase's symbols, edges, and
|
Codegraph is a SQLite knowledge graph of a codebase's symbols, edges, and
|
||||||
files: one \`codegraph_explore\` call returns the verbatim, line-numbered source
|
files (30+ languages): one \`codegraph_explore\` call returns the verbatim, line-numbered source
|
||||||
of the relevant symbols PLUS the call paths between them and a blast-radius
|
of the relevant symbols PLUS the call paths between them and a blast-radius
|
||||||
summary — replacing a grep + Read loop with one round-trip.
|
summary — replacing a grep + Read loop with one round-trip.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user