| name | go-navigator-read |
| description | Use Go Navigator MCP to explore Go code semantically (packages, symbols, definitions/references, context, metrics, deps) and return file/line/snippets; do not modify code. |
Go Navigator (READ) — semantic navigation only
Scope rules
- READ-ONLY: never call renameSymbol or rewriteAst (or any tool that changes files).
- Prefer semantic tools over raw text search.
Defaults
- Use "dir": "." unless the user specifies another root.
- For any "package" field, use the exact import path returned by listPackages (go list style).
Recommended workflows
Orientation in a new repo
- listPackages { "dir": "." }
- getProjectSchema { "dir": ".", "depth": "standard" } (optional)
- getMetricsSummary { "dir": ".", "package": "
" } (optional) - getDependencyGraph { "dir": ".", "package": "
" } (optional)
Understand a symbol
- getDefinitions { "dir": ".", "ident": "
" } - getReferences { "dir": ".", "ident": "
" } - getSymbolContext { "dir": ".", "ident": "
", "kind": "<func|type|...>" } (preferred) - getFunctionSource / getStructInfo / getFileInfo for deeper inspection
Interfaces & implementations
- listInterfaces { "dir": ".", "package": "
" } - getImplementations { "dir": ".", "name": "
" }
Complexity, dead code, summary
- getComplexityReport { "dir": ".", "package": "
" } - getDeadCodeReport { "dir": ".", "package": "
", "limit": 10 } - getMetricsSummary { "dir": ".", "package": "
" }
Large result sets
- Use limit/offset pagination where supported (getDefinitions/getReferences).
- Return the most relevant files first.
Output format
- Always include file paths + line numbers.
- Include minimal snippets (1–5 lines) unless asked for full bodies.
- Summarize findings and propose next tool calls (still read-only).