gograph
MCPB · GOGRAPH_1.7.18_LINUX_AMD64.MCPB · 4 COMPONENTS
Local Go repository call graphs and structural analysis for coding agents over stdio.
Last scanned (40 minutes ago)
Scores higher than 72% of MCPB servers
Category Developer Tools
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security0
- No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
- Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
- Install-script risk not yet assessed.Unverified
- Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 1 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability60
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 24789 tokens (~359/item across 69 items; 69 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management7
- Stability observed for 2 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 69 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 69 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Checks we ran (12)
- Source repository
- Provenance
- License
- Maintenance
- Security disclosure
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Checks we could not complete (4)
These are gaps on our side, not findings about this package. We only credit what we can confirm, so a category made up entirely of them scores 0.
- Malware scan in Supply Chain Security (scores 0 for this)No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.
- Known CVEs in Supply Chain Security (scores 0 for this)Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).
- Install scripts in Supply Chain Security (scores 0 for this)Install-script risk not yet assessed.
- Dependency health in Supply Chain Security (scores 0 for this)Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).
Does not apply to this package (2)
- Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
- Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 0 to 3. That category is still filling its 30-day observation window: 0 days of observed history at the previous scan, 1 at this one. The score rises as the window fills, whether or not the server changes.
- 4 Nov 26 +28
- Injection markers: unverified → pass ▲ security
- First check of Judged manipulation: pass security
- Tool safety: Tool safety not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. security
- Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
- MCP protocol: unverified → pass ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- Stability: unverified → 0.00 ▲ functional
- First check of Schema quality: fail functional
- First check of Schema quality: excellent functional
- First check of Destructive annotations: pass functional
- First check of Schema quality: fail functional
- First check of Tool coverage: 100 functional
- Capabilities: Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet. functional
- Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Package version: 1.7.16 → 1.7.18 functional
- Package version: 1.7.16 → 1.7.17 functional
- 3 Nov 26 0
- Package version: 1.7.15 → 1.7.16 functional
- 30 Oct 26 0
- Package version: 1.7.14 → 1.7.15 functional
- 15 Oct 26 0
- Tool safety: Tool safety not yet verified: our sandbox could not run this package, so we have no tool text to scan. security
- Stability: Stability not yet verified: our sandbox could not run this package, so we have no schema to compare. security
- Schema quality: Schema quality not yet verified: our sandbox could not run this package, so we have no schema to assess. functional
- Capabilities: Protocol version not yet verified: our sandbox could not run this package, so we never saw its MCP handshake. functional
- Tool coverage: Tool coverage not yet verified: our sandbox could not run this package, so we have no tool definitions to assess. functional
- 14 Oct 26 +2
- Maintenance: unverified → pass ▲ functional
- 12 Oct 26 0
- Provenance: unverified → fail ▼ security
- Security disclosure: unverified → pass ▲ functional
- 11 Oct 26 −2
- Provenance: fail → unverified ▼ security
- Maintenance: pass → unverified ▼ functional
- Security disclosure: pass → unverified ▼ functional
- Package version: 1.7.6 → 1.7.14 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 6 Nov 2026 · Analysed mcpb/https://github.com/ozgurcd/gograph/releases/download/v1.7.18/gograph_1.7.18_linux_amd64.mcpb@1.7.18
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | mcpb |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
gograph_path ~280
Find the best call chain from one symbol to another. Competing paths rank exact before possible, then shorter, production before tests, typed resolution before heuristics, with a deterministic canonical tie-breaker. The MCP server refreshes source analysis before the call. Read-only; no side effects. WHEN TO USE: To confirm reachability between non-adjacent symbols. NOT TO USE: For all transitive upstream callers (use gograph_impact). RETURNS: from, to, found, and steps[]; with mermaid=true, Mermaid flowchart text.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | yes | The starting symbol name |
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| mermaid | boolean | – | Return Mermaid flowchart text instead of structured JSON |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
| to | string | yes | The target symbol name |
No output schema declared.
No examples provided.
gograph_plan ~485
Generate a structured pre-edit plan for a target symbol: which symbols to read first, which tests cover them, which routes and env vars they touch, and whether the change is public-API or SQL-touching. The MCP server checks freshness before this call and refreshes in the current requested analysis mode; precise and precise_fallback graphs retry CHA/SSA after source changes. Read-only; no side effects. Set with_context=true to inline full source+callers+callees for each symbol to inspect — eliminates follow-up gograph_context calls. WHEN TO USE: Before multi-file refactoring or architectural changes to understand scope upfront. NOT TO USE: For trivial single-line fixes; for post-edit verification (use gograph_review instead). RETURNS: JSON with inspect_first[], tests[], routes[], env[], and a risk object (public_api, touches_sql, etc.); with with_context=true, also includes inspect_contexts[] with full per-symbol bundles. Uncommitted modes compare declarations against HEAD, including selected untracked Go files. Traversal consumers refuse deleted declarations requiring historical caller evidence. Review instead includes changes --git HEAD declaration evidence and names unavailable historical callers, tests and risk. Incomplete comparisons and missing/ambiguous current identities remain errors. Rebuild before traversing newly added symbols.
| Name | Type | Req | Description |
|---|---|---|---|
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
| symbol | string | – | The name of the symbol you intend to modify (supports short name 'ValidateToken', dot-notation 'graph.Graph', or fully-qualified ID) |
| uncommitted | boolean | – | Set to true to generate a global plan for all currently uncommitted changes across the repository |
| with_context | boolean | – | If set to true, bundles full context, source code, callers, callees, and architectural roles for each symbol to be inspected |
No output schema declared.
No examples provided.
gograph_public ~337
List all exported (public) symbols of a specific package, including functions, methods, types/interfaces, variables, and constants. The MCP server checks freshness before this call and refreshes in the current requested analysis mode; precise and precise_fallback graphs retry CHA/SSA after source changes. Read-only; no side effects. WHEN TO USE: When reviewing a package's public contract before changing it, building integration documentation, or checking what a package exposes to callers. NOT TO USE: For unexported/private symbols (use gograph_node or gograph_focus); for API drift detection against a baseline (use gograph_api). RETURNS: List of exported symbol names with kinds and file locations; empty when the package has no exports or is not found.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque next_cursor for the same graph snapshot and result selection. |
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| limit | integer | – | Maximum rows per page; the byte budget may return fewer. |
| package | string | yes | The package name or path to inspect (e.g., 'internal/auth') |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
No output schema declared.
No examples provided.
gograph_query ~372
Search the graph index for symbols, packages, files, and import edges that match one or more keyword substrings. Multiple terms use OR semantics, matching CLI `query term...`. The MCP server refreshes source analysis before the call. Read-only; no persistent side effects. WHEN TO USE: During initial exploration when you have a keyword or feature name but do not know its package. NOT TO USE: When you already know the exact symbol (use gograph_source or gograph_node); for package dependency trees (use gograph_deps). RETURNS: Matching symbols, files, and imports; empty when no terms match.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque next_cursor for the same graph snapshot and result selection. |
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| limit | integer | – | Maximum rows per page; the byte budget may return fewer. |
| no_tests | boolean | – | Exclude rows located in *_test.go files, matching CLI --no-tests |
| query | string | – | Alias of term |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
| term | string | – | One keyword search term (e.g. 'AuthService' or a route path such as '/api/v1/users/{id}') |
| terms | array | – | Optional list of keyword terms combined with OR semantics |
No output schema declared.
No examples provided.
gograph_returnusage ~343
Show how each caller uses the return value(s) of a named function: discarded, assigned, partially ignored, returned upstream, or passed directly to another call. The MCP server checks freshness before this call and refreshes in the current requested analysis mode; precise and precise_fallback graphs retry CHA/SSA after source changes. Read-only; no side effects. WHEN TO USE: Before changing a function's return signature — see which callers ignore the error or only use some return values. NOT TO USE: For error propagation tracing (use gograph_errorflow); for finding all callers without usage detail (use gograph_callers). RETURNS: List of call sites with usage classification (discarded/assigned/partially_ignored/returned/passed); empty when the function has no callers.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque next_cursor for the same graph snapshot and result selection. |
| function | string | yes | The function name to analyse (e.g., 'ValidateToken') |
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| limit | integer | – | Maximum rows per page; the byte budget may return fewer. |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
No output schema declared.
No examples provided.
gograph_review ~425
Summarize the scope and risk profile of a change: which symbols changed, which tests cover them, which routes and env vars they touch, and whether SQL is involved. The MCP server checks freshness before this call and refreshes in the current requested analysis mode; precise and precise_fallback graphs retry CHA/SSA after source changes. Read-only; no side effects. Requires either symbol or uncommitted=true. WHEN TO USE: After editing — as a post-edit verification step before committing; confirms the blast radius matches expectations. Use uncommitted=true to review all current unstaged changes at once. NOT TO USE: For boundary constraint enforcement (use gograph_boundaries); for pre-edit planning (use gograph_plan). RETURNS: JSON with changed_symbols[], tests[], routes[], env[], errors[], and a risk object (public_api, touches_sql, touches_routes, touches_env). Uncommitted modes compare declarations against HEAD, including selected untracked Go files. Traversal consumers refuse deleted declarations requiring historical caller evidence. Review instead includes changes --git HEAD declaration evidence and names unavailable historical callers, tests and risk. Incomplete comparisons and missing/ambiguous current identities remain errors. Rebuild before traversing newly added symbols.
| Name | Type | Req | Description |
|---|---|---|---|
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
| symbol | string | – | The name of the target symbol to run the design review for (e.g. 'AuthService') |
| uncommitted | boolean | – | Set to true to review all uncommitted/modified changes in the repository |
No output schema declared.
No examples provided.
gograph_risk ~411
Evaluate the change risk profile of target symbol(s) or uncommitted changes. Combines blast radius, cyclomatic complexity, test coverage, and downstream environment/SQL dependencies into a normalized 0–100 risk score and verdict. The MCP server checks freshness before this call and refreshes in the current requested analysis mode; precise and precise_fallback graphs retry CHA/SSA after source changes. Read-only; no side effects. Requires either symbol or uncommitted=true. WHEN TO USE: Before committing edits or when planning changes to understand the technical risk. NOT TO USE: For post-edit review checklist generation (use gograph_review); for pre-edit plan generation (use gograph_plan). RETURNS: JSON with title, results[] containing risk scores, verdicts, and breakdown metrics, and optional message. Uncommitted modes compare declarations against HEAD, including selected untracked Go files. Traversal consumers refuse deleted declarations requiring historical caller evidence. Review instead includes changes --git HEAD declaration evidence and names unavailable historical callers, tests and risk. Incomplete comparisons and missing/ambiguous current identities remain errors. Rebuild before traversing newly added symbols.
| Name | Type | Req | Description |
|---|---|---|---|
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
| symbol | string | – | The name of the target symbol to run the risk evaluation for (e.g. 'AuthService') |
| uncommitted | boolean | – | Set to true to evaluate risk for all uncommitted/modified changes in the repository |
No output schema declared.
No examples provided.
gograph_routes ~539
List a deterministic bounded page of HTTP routes with methods, URL patterns, handler names, and source locations. Production routes are returned by default; include_tests=true adds *_test.go registrations. Optional term matches method/path, handler, or file. module selects an exact module path/directory, a unique nested-module directory basename, or the repository directory name for a root module. limit defaults to 100 and is restricted to 1-200; next_cursor continues the same filtered census. Each page is also bounded to 64 KiB so the result stays directly consumable instead of spilling to an out-of-band file. Constant nested Gin/Echo/Fiber Group prefixes and Chi Route closure prefixes are composed; Gin/Fiber use the final variadic argument as the terminal handler, while Echo uses the handler immediately after the path. Dynamically computed prefixes remain unresolved. The MCP server refreshes source analysis before this call. Read-only; no side effects. WHEN TO USE: To inventory one service/module or find a route before gograph_endpoint. NOT TO USE: For a handler's downstream call chain (use gograph_endpoint). RETURNS: gograph.routes.v1 JSON with total, returned, truncated, routes[], and next_cursor when more matches exist.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque next_cursor from the previous gograph_routes result; reuse the same filters |
| include_tests | boolean | – | Include routes registered in *_test.go files; false by default |
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| limit | integer | – | Maximum rows in this page, 1-200 (default: 100); the 64 KiB byte budget may return fewer |
| module | string | – | Optional exact module path/directory, unique nested-module directory basename, or repository directory name for a root module (for example identuum-idp) |
| query | string | – | Alias of term |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
| term | string | – | Optional case-insensitive substring matched against method/path, handler, or file. Path parameters match in any spelling: :id, {id}, and *id are equivalent |
No output schema declared.
No examples provided.
gograph_schema ~340
Find Go structs that declare a mapping to a specific database table via struct tags (e.g., `db:"table_name"`, `gorm:"table:table_name"`). The MCP server checks freshness before this call and refreshes in the current requested analysis mode; precise and precise_fallback graphs retry CHA/SSA after source changes. Read-only; no side effects. WHEN TO USE: When tracing which Go types represent a database table, or before writing a migration to understand the current ORM model. NOT TO USE: For non-tagged Go structs used as query results (use gograph_fields or gograph_query instead). RETURNS: Matching struct names with package paths and file locations; empty when no structs map to the named table.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque next_cursor for the same graph snapshot and result selection. |
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| limit | integer | – | Maximum rows per page; the byte budget may return fewer. |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
| table | string | yes | The table or schema name to search for in struct tags (e.g., 'users', 'roles') |
No output schema declared.
No examples provided.
gograph_session_audit ~220
Review and grade agent compliance (Plan rule, Review rule, Composability/Efficiency) and tool success rates. Session IDs are strictly validated and only regular repository-confined logs are read. No additional prerequisite once the MCP server is running. WHEN TO USE: After ending a session to obtain compliance metrics and recommendations. RETURNS: Audited session details and grade.
| Name | Type | Req | Description |
|---|---|---|---|
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| json | boolean | – | Set to true to return structured JSON format instead of human-readable ASCII layout. |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Optional session ID to audit. If not supplied, audits the most recent session in the repository. |
No output schema declared.
No examples provided.
gograph_session_cleanup ~300
Archive stale and inactive session telemetry without following linked repository paths; never deletes. Each pass moves files into .gograph/_to_delete/<UTC time>_<suffix>/. First ends other callers' CLI-owned sessions idle past the idle limit (GOGRAPH_SESSION_IDLE_LIMIT, default 2h) or MCP-owned sessions whose server process exited on this host (owners without metadata or on another host are kept), listing each, and archives an unselected legacy active_session.json; then archives logs with end records; preserves the selected active log and refuses while any other caller is still live. MCP annotations mark this operation mutating and destructive. No prerequisites. WHEN TO USE: Call after auditing to keep the repository clean. RETURNS: Each ended session, any archived legacy pointer, and the number of session logs moved with the archive folder, or Nothing to archive.
| Name | Type | Req | Description |
|---|---|---|---|
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
No output schema declared.
No examples provided.
gograph_session_create ~264
Start a telemetry audit session for tracking agent compliance and tool success metrics. Writes only regular, repository-confined session state under .gograph/sessions and refuses linked storage; MCP annotations mark it mutating and non-idempotent. No prerequisites once the MCP server is running. WHEN TO USE: Call once at the start of a multi-step coding task to track your work. Pass the returned ID as session_id on this caller's later requests. Independent callers may create alongside other active sessions. RETURNS: Message with the caller session ID.
| Name | Type | Req | Description |
|---|---|---|---|
| custom_word | string | – | Optional custom word prefix to incorporate in the timestamped session ID (e.g. 'implement_feature') |
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
No output schema declared.
No examples provided.
gograph_session_end ~214
End only the explicitly selected caller session, append its end record, and remove its active marker through repository-confined regular-file operations. MCP annotations mark it mutating and non-idempotent. No additional prerequisite once the MCP server is running. WHEN TO USE: Call once after you have completed all edits and post-edit reviews. NOT TO USE: When no session is active. RETURNS: Message confirming ending of the session.
| Name | Type | Req | Description |
|---|---|---|---|
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
No output schema declared.
No examples provided.
gograph_skeleton ~311
Emit API signatures with function bodies stripped — struct definitions, interface declarations, and function/method signatures only. Supply file for one exact repository-relative indexed file; omit it for the full repository. Unknown files return an error. The MCP server checks freshness before this call and refreshes in the current requested analysis mode; precise and precise_fallback graphs retry CHA/SSA after source changes. Read-only; no side effects. WARNING: whole-repository output can be very large. WHEN TO USE: For a file's declarations or a compact map of the entire codebase's shape. NOT TO USE: For full implementations (use gograph_source); for a single package (use gograph_public). RETURNS: Multi-line text of stripped declarations and package names.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | – | Optional repository-relative indexed file; selects only that file's package and declarations. Unknown files are errors, never a repository fallback. |
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
No output schema declared.
No examples provided.
gograph_source ~374
Retrieve verbatim Go source for a named function, method, struct, interface, type, variable, or constant, including complete bodies or declarations. The MCP server checks freshness before this call and refreshes in the current requested analysis mode; precise and precise_fallback graphs retry CHA/SSA after source changes. Source reads are confined to regular .go files beneath the analyzed repository and reject symlink path components. Read-only; no side effects. WHEN TO USE: When you need a specific implementation or declaration in full without loading a large file — a targeted alternative to reading the whole file. NOT TO USE: For call hierarchy information (use gograph_callers/gograph_callees); for AST metadata without the full source (use gograph_node). RETURNS: Raw Go source blocks with file paths and line numbers. Text and gograph.read.v1 structured content both carry the source or a named refusal: absent symbol, ambiguity with candidates, unsafe/unreadable source, invalid indexed range, or source exceeding 65536 bytes (with its size).
| Name | Type | Req | Description |
|---|---|---|---|
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
| symbol | string | yes | The name of the symbol to retrieve source for (supports short name 'ValidateToken', dot-notation 'graph.Graph', or fully-qualified ID) |
No output schema declared.
No examples provided.
gograph_sql ~529
Return one bounded gograph.sql.v1 page of static PostgreSQL query literals with operation, read/write/DDL access, referenced tables, enclosing function, module ownership, and source location. Extraction covers direct literals plus statically resolvable local or same-file package const/var declarations, straight-line assignments, and bounded string concatenations. The MCP server checks freshness before this call and refreshes in the current requested analysis mode. Read-only; no side effects. Filters in different categories AND-compose; repeated values within tables, verbs, and accesses OR-compose. Tests remain included by default for backward compatibility; set no_tests=true for production-only results. CTEs resolve to their actual operation, data-modifying CTEs retain write access/table evidence, PostgreSQL UPSERT remains INSERT, and unsupported classification is explicit rather than guessed. WHEN TO USE: Audit database interactions, write paths, or queries touching a table. NOT TO USE: For ORM struct mappings (use gograph_schema) or runtime-generated SQL that is not a static literal. RETURNS: A deterministic page with total/returned/truncated/next_cursor and queries[].
| Name | Type | Req | Description |
|---|---|---|---|
| accesses | array | – | Optional statement access classes; values OR-compose |
| cursor | string | – | Opaque next_cursor from the previous gograph_sql page; reuse the same filters |
| function | string | – | Optional case-insensitive enclosing-function substring |
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| limit | integer | – | Page size from 1 to 200; defaults to 100 |
| module | string | – | Optional exact module path/directory, unique nested basename, or repository basename for a root module |
| no_tests | boolean | – | Exclude SQL facts from *_test.go files; tests are included by default |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
| tables | array | – | Optional PostgreSQL table selectors; values OR-compose and may be table or schema.table |
| term | string | – | Optional case-insensitive raw SQL substring filter |
| verbs | array | – | Optional PostgreSQL operation filters; values OR-compose |
No output schema declared.
No examples provided.
gograph_stale ~290
Check whether the trusted persisted graph index loaded from a regular, repository-confined .gograph/graph.json differs from the current selected-file inventory, effective Go build context, or selected source content digests. Modification times are returned only as diagnostics; legacy indexes without digests temporarily use the former mtime fallback until rebuilt. This tool intentionally does not refresh first; when the artifact is missing, unreadable, unsafe, or uses an unsupported source policy it compares against the startup auto-build fallback. Read-only; no side effects. WHEN TO USE: To decide whether CLI snapshot analysis or precise enrichment needs rebuilding. NOT TO USE: For module dependency freshness; for changed symbols (use gograph_changes). RETURNS: is_stale, graph_age, newest source metadata, changed_files, and build_context_changed.
| Name | Type | Req | Description |
|---|---|---|---|
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
No output schema declared.
No examples provided.
gograph_stats ~254
Report trusted persisted-index health and counts without refreshing source analysis, or startup-fallback health when graph.json is missing, unreadable, unsafe, or uses an unsupported source policy: schema/build timestamps, complete/partial status, ast/precise/precise_fallback analysis status, scanned/parsed/reused/rebuilt-package/failure counts, and graph entity totals. Read-only; no side effects. WHEN TO USE: To validate the snapshot/fallback before relying on its data. NOT TO USE: For a live symbol profile (use gograph_node or gograph_complexity). RETURNS: Structured build health and repository counts.
| Name | Type | Req | Description |
|---|---|---|---|
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
No output schema declared.
No examples provided.
gograph_strings ~390
Search Go string literals in the indexed source files for one or more case-insensitive substrings (OR semantics), returning file, line, the literal, and its enclosing function. Route-shaped terms match any path-parameter spelling (:id, {id}, *id). Source is read through the confined repository reader; unreadable files are named in a warning. The MCP server refreshes source analysis before the call. Read-only; no side effects. WHEN TO USE: To find raw route strings, URLs, SQL fragments, header names, or messages that are not symbols, instead of grep. NOT TO USE: For symbols (use gograph_query) or registered routes with handlers (use gograph_routes). RETURNS: gograph.results.v1 rows of kind string with total/returned/truncated/next_cursor.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque next_cursor for the same graph snapshot and result selection. |
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| limit | integer | – | Maximum rows per page; the byte budget may return fewer. |
| no_tests | boolean | – | Exclude *_test.go files |
| query | string | – | Alias of term |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
| term | string | – | Substring to find inside string literals (e.g. '/api/setup/license') |
| terms | array | – | Optional list of substrings combined with OR semantics |
No output schema declared.
No examples provided.
gograph_summary ~297
Single-call codebase briefing: top 3 hotspots (most-called symbols), worst instability package, highest cyclomatic complexity function, total orphan count, and god-object count. The MCP server checks freshness before this call and refreshes in the current requested analysis mode; precise and precise_fallback graphs retry CHA/SSA after source changes. Read-only; no side effects. WHEN TO USE: At the very start of any session — replaces running gograph_hotspot + gograph_coupling + gograph_orphans + gograph_complexity + gograph_godobj separately (5 calls → 1). NOT TO USE: For detailed drill-down into a specific metric (use the dedicated tool after reviewing summary). RETURNS: JSON with symbols, packages, hotspots[], worst_instability, top_complexity, orphan_count, and god_object_count.
| Name | Type | Req | Description |
|---|---|---|---|
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
No output schema declared.
No examples provided.
gograph_tests ~409
Find test functions in *_test.go files that statically exercise a named symbol, or list all attributed test edges when no symbol is given. Direct mode accepts Receiver.Method (including pointer receivers) or a full stable symbol ID. By default this preserves the direct-edge result contract. Set transitive=true with a required symbol to return gograph.tests.v1 reverse attribution, including exact/possible resolution, depth, and a representative stable-ID path from every reaching test; exact_only omits uncertain paths and package disambiguates the selected product symbol. The MCP server checks freshness before this call and refreshes in the current requested analysis mode. Read-only; no side effects. WHEN TO USE: Before editing a function — use transitive=true for router/callback-mediated coverage and direct mode for concrete test call sites. NOT TO USE: For test helper infrastructure (use gograph_fixtures); for running tests or proving runtime coverage. RETURNS: Direct result rows by default, or a versioned reverse-transitive report when requested.
| Name | Type | Req | Description |
|---|---|---|---|
| exact_only | boolean | – | With transitive=true, omit paths containing possible edges |
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| package | string | – | With transitive=true, optional exact Go package name used to disambiguate the selected symbol |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
| symbol | string | – | The symbol name to find tests for (optional) |
| transitive | boolean | – | Return reverse-transitive test attribution; requires symbol |
No output schema declared.
No examples provided.
gograph_trace ~239
Alias for gograph_errorflow. Refreshes in-memory source analysis, then traces an error string heuristically from its definition up through the call chain to HTTP handlers. Read-only; no side effects. WHEN TO USE: Prefer gograph_errorflow; this alias exists for compatibility. RETURNS: The same structured output as gograph_errorflow.
| Name | Type | Req | Description |
|---|---|---|---|
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| no_tests | boolean | – | If true, skip collecting related test functions |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
| term | string | yes | Error string or symbol name to trace (e.g. 'ErrNotFound', 'permission denied') |
No output schema declared.
No examples provided.
gograph_untested ~376
Sweep the full graph in one pass and return called production functions and methods without an exact transitive static path from any test. The MCP server checks freshness first. Precise direct calls and proof-backed concrete interface receivers are exact; open CHA or parser-only paths propagate possible to descendants, which remain visible with test_resolution=possible and possible_test_count. Repeatable CLI --exclude globs map to the MCP exclude string array and match repository-relative source paths lexically. This is static attribution, not runtime coverage proof. Read-only; no side effects. WHEN TO USE: During test census or pre-release hardening; it replaces N forward coverage or direct gograph_tests probes. NOT TO USE: For running tests or proving branch execution. RETURNS: JSON rows sorted by caller_count with stable_id, name, kind, file, line, caller_count, package, test_resolution, and optional possible_test_count.
| Name | Type | Req | Description |
|---|---|---|---|
| exclude | array | – | Repository-relative path globs to exclude; use prefix/** for all descendants |
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| pkg | string | – | Optional package name substring to filter results (e.g. 'cli', 'search') |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
| top | integer | – | Limit results to top N by caller count (0 = all, default) |
No output schema declared.
No examples provided.
gograph_usages ~427
Find every place a named Go type appears in function parameter lists, return type signatures, struct field or interface method declarations, and composite-literal construction. The MCP server checks freshness before this call and refreshes in the current requested analysis mode; precise and precise_fallback graphs retry CHA/SSA after source changes. Read-only; no side effects. WHEN TO USE: Before changing an interface or type definition — see the consumption and construction blast radius. NOT TO USE: For call sites of a function (use gograph_callers); use gograph_literals when only struct Foo{...} initialization sites are needed; for all transitive callers use gograph_impact. Also answers struct fields: 'Type.Field', 'pkg.Type.Field', or a bare field name returns the declaration plus every field_read, field_write, field_address, and field_literal site, attributed to the declaring struct so promoted fields resolve; typed rows come from precise builds of production packages, while AST graphs return labelled name-only possible_field_use rows. RETURNS: File paths and line locations where the type or field appears; empty when the type is not referenced.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque next_cursor for the same graph snapshot and result selection. |
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| limit | integer | – | Maximum rows per page; the byte budget may return fewer. |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
| type | string | yes | The type name (e.g., 'AuthService') or struct field ('Config.Limit', or a bare field name) to search for |
No output schema declared.
No examples provided.
gograph_wiki ~396
Generate the llm-wiki/ directory of machine-first markdown pages from the static graph. Pages produced: overview.md, architecture.md, hotspots.md, routes.md, env.md, errors.md, concurrency.md, api-surface.md, and one packages/<name>.md per internal package. The MCP server checks freshness before this call and refreshes in the current requested analysis mode; precise and precise_fallback graphs retry CHA/SSA after source changes. A relative output is anchored beneath the graph root and rejects linked components; an absolute output explicitly selects a local destination whose final directory must be real. Generated page paths and regular-file writes remain confined beneath the selected output root. Writes may overwrite existing regular files; MCP annotations mark it mutating and destructive. WHEN TO USE: At the start of an agent session on an unfamiliar codebase — run once to get a token-efficient orientation without issuing dozens of individual tool calls. NOT TO USE: For targeted symbol lookups (use gograph_context or gograph_source). RETURNS: JSON manifest of written page filenames and a count; error when the graph cannot be loaded or the output directory is unsafe or cannot be created.
| Name | Type | Req | Description |
|---|---|---|---|
| intention | string | – | Technical rationale, required for analytical calls selecting an active session. |
| output | string | – | Wiki directory: relative paths are graph-rooted; an absolute path explicitly selects a real local output root (default 'llm-wiki') |
| root | string | – | Absolute path of the checkout you are working in (your cwd or git worktree). Must be this server's repository or one of its git worktrees; the answer then comes from that checkout's own graph. A path… |
| session_id | string | – | Caller selector returned by session_create. Omission means an independent caller; never inherits server environment or another caller's session. |
No output schema declared.
No examples provided.
How do I install the gograph MCP server?
gograph ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, c6ca833fcd55781e8e15e7fab6a89595dce1ee9bdc20c833ff6df3128f1d8656; the commands to do that are on this page. If it does not match, do not open it.
mcpb · gograph_1.7.18_linux_amd64.mcpb
Download bundleCheck the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.
SHA-256
c6ca833fcd55781e8e15e7fab6a89595dce1ee9bdc20c833ff6df3128f1d8656
macOS / Linux
echo "c6ca833fcd55781e8e15e7fab6a89595dce1ee9bdc20c833ff6df3128f1d8656 gograph_1.7.18_linux_amd64.mcpb" | shasum -a 256 -c
Windows (PowerShell)
(Get-FileHash -Algorithm SHA256 .\gograph_1.7.18_linux_amd64.mcpb).Hash -eq "c6ca833fcd55781e8e15e7fab6a89595dce1ee9bdc20c833ff6df3128f1d8656"
Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.
What is the gograph MCP server?
gograph is an MCP server listed in the public MCP registry as io.github.ozgurcd/gograph. Local Go repository call graphs and structural analysis for coding agents over stdio. This page covers its MCPB bundle (https://github.com/ozgurcd/gograph/releases/download/v1.7.18/gograph_1.7.18_linux_amd64.mcpb).
Is the gograph MCP server safe to use?
gograph scores 39 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the gograph MCP server expose?
gograph exposes 69 tools: gograph_api, gograph_arity, gograph_boundaries, gograph_boundaries_create, gograph_callees, and 64 more. Their descriptions and schemas cost roughly 24,789 tokens of context every time the server is loaded.
What licence is the gograph MCP server under?
gograph declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.
What did VerifyMCP test on the gograph MCP server?
VerifyMCP ran 12 checks on gograph, covering Source repository, Provenance, License, Maintenance and 8 more. 4 items could not be completed, a gap on our side rather than a finding about gograph: Malware scan, Known CVEs, Install scripts and Dependency health. One category scores 0 for that reason, because we only credit what we can confirm. Endpoint Security and Transport & Reachability do not apply to an MCPB bundle, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.