by ozgurcd
Local-only Go static analysis engine with a built-in MCP server. Gives AI coding agents deterministic structural awareness: call graphs, impact analysis, symbol search, and more.
# Add to your Claude Code skills
git clone https://github.com/ozgurcd/gographLast scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T16:08:03.872Z",
"npmAuditRan": true,
"pipAuditRan": true
}gograph is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by ozgurcd. Local-only Go static analysis engine with a built-in MCP server. Gives AI coding agents deterministic structural awareness: call graphs, impact analysis, symbol search, and more. It has 198 GitHub stars.
Yes. gograph passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/ozgurcd/gograph" and add it to your Claude Code skills directory (see the Installation section above).
gograph is primarily written in Go. It is open-source under ozgurcd on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh gograph against similar tools.
No comments yet. Be the first to share your thoughts!
Give Go coding agents a compiler-aware map for safer refactors.
gograph builds a local structural graph of your Go repository, with optional
type-checked CHA/SSA enrichment. Its CLI and MCP workflows help coding agents
trace callers and interface implementations, plan change impact, and enforce
architecture without embeddings or a hosted code index.

Static analysis; no target-code execution. Default indexing parses Go source locally and does not call application services. It also reads project metadata such as
go.mod,.gitignore, graph/config JSON, and Git state. Precise mode anddocinvoke the local Go toolchain, which follows your configured module/cache/network policy. Session telemetry is local under.gograph/sessions/; nothing is sent to gograph services.
# Install
brew install ozgurcd/tap/gograph
# or: go install github.com/ozgurcd/gograph/cmd/gograph@latest
# Build a fast AST graph, then verify it
gograph build .
gograph stats
# Start with repository-wide results that require no guessed symbol
gograph summary
gograph hotspot --top 5
gograph flow --no-tests
Homebrew and go install install the normal gograph CLI. MCP clients that
support MCP Bundles can instead discover the local stdio server in the
official MCP Registry as
io.github.ozgurcd/gograph. Registry/MCPB installation is a separate
distribution path; it does not install the Homebrew formula or configure the
Claude Code marketplace plugin. The Registry is currently in preview. See
Official MCP Registry and MCPB installation for client
support, target selection, and current limitations.
Choose a real function or method shown by summary, hotspot, or
gograph complexity, then substitute its name below:
gograph context "YourSymbol" # source + callers + callees + tests
# For compilable repositories, enrich the graph before a major refactor
gograph build . --precise
gograph plan "YourSymbol"
Build artifacts are written under the target .gograph/ directory. gograph
adds .gograph/ to the enclosing Git repository root .gitignore when
available, falls back to the build target .gitignore outside Git, and exits
without replacing artifacts if no Go files are found or no source file parses
successfully. Individual ignored files and ignored directories use the same
scanner policy for building, freshness checks, and change detection.
Illustrative point-in-time output comparison from an earlier gograph revision (counts vary as the repository evolves; these commands return different kinds of evidence):
| Task | grep -rn |
gograph |
Observed output difference |
|---|---|---|---|
Find callers of loadGraph |
158 matching lines (comments, docs, vars) | 56 AST-derived call-site rows | ~65% fewer rows in that run |
| Locate symbol definitions | 842 lines matching "Symbol" | 83 true type/method declarations | ~90% noise eliminated |
| Read one function body | cat displays 180+ lines of the whole file |
source extracts the 12-line function |
~93% fewer source lines in that run |
| Gather common symbol context | Separate node, source, caller, callee, and test queries | context bundles those fields |
Five evidence types in one response |
61 Query and Analysis Capabilities — callers, callees, impact, context, plan, review, flow, errorflow, orphans, hotspot, coupling, and more. The MCP server registers 65 endpoints including four session lifecycle tools. Full command reference →
Native MCP Server — every query and analysis capability has an MCP endpoint for Claude, Cursor, Copilot, and other MCP clients. Host integration and CI artifact commands (build, gate, snapshot, plugin/hook installation, server startup, help, and version) remain CLI-only.
Explicit Freshness Model — CLI analysis reads the last persisted graph. MCP source-analysis tools check freshness per call, adopt a newer persisted precise graph, and rebuild in memory after edits using the latest requested analysis mode. MCP stale, default changes, and stats inspect the persisted snapshot.
Compact Composite Workflows — context, plan, and explain combine source and graph evidence that would otherwise require several separate queries. Actual tool-call and token savings depend on the repository and task.
Narrow by Design — never runs target repository binaries or tests and does not read .env, key, certificate, or credential files. AI worktree directories (.claude/, .cursor/, .agents/) are excluded. Precise analysis and external documentation use the installed Go toolchain.
Architecture Enforcement — boundary rules, API drift detection, complexity gates, dead code sweeps, god-object detection, coupling analysis. Run in CI with gograph gate.
Security Flow Analysis — flow follows potential HTTP request, decoded JSON, and environment data across assignments and function calls to SQL query text, process execution, filesystem paths, and outbound HTTP targets. Findings include severity, confidence, and source-to-sink path steps; MCP exposes the same analysis as gograph_flow.
Integrity-Aware Indexing — graph.json is atomically replaced only after a successful parse, records complete/partial build health and ast/precise/precise_fallback analysis status, and exposes both through gograph stats. gate refuses to evaluate a stale graph.
Agent Compliance Auditing — session telemetry tracks whether agents run plan before edits and review after. Grades agent behavior A–F with actionable recommendations.
Query and composed-analysis commands support --json; result-list queries also support --files-only. Operational commands such as build, wiki, gate, snapshot, sessions, installation, help, and version use text output.
| Category | Commands | What it does |
|---|---|---|
| Indexing | build . [--precise], stale, stats |
Parse AST, write graph. Check freshness. Index health. |
| Navigation | query, callers [--depth N], callees [--depth N], path, source, node |
Find symbols, trace call chains, extract source. |
| Context | context, explain, focus, endpoint |
Bundled structural data in one call. Token savers. |
| Change Analysis | plan, review, risk, impact [--uncommitted|--since], changes [--git], api --since |
Pre-edit planning, post-edit review, risk analysis, blast radius, drift. |
| Architecture | boundaries, coupling, complexity, godobj, orphans, arity |
Quality gates, dead code, coupling, god objects. |
| Types & Structs | fields, implementers [--test-only], interfaces, embeds, constructors, literals, usages, mutate, schema |
Struct fields, interface satisfaction, type usage. |
| Infrastructure | routes, sql, envs, errors, concurrency, globals, httpcalls, deps [--transitive], dependents, imports |
HTTP routes, SQL, env vars, concurrency, outbound HTTP calls, imports. |
| Security | flow [term] [--source kind] [--sink kind] [--config path] [--no-tests] |
Potential untrusted-data paths to SQL, process, filesystem, and outbound HTTP sinks. |
| Testing | tests, fixtures, mocks |
Test coverage map, helpers, mock implementations. |
| Error Tracing | errorflow [--no-tests], trace |
Reverse-BFS from error strings to HTTP entry points. |
| Diagnostics | hotspot, returnusage, skeleton, diagram, changes, public |
Hotspots, return usage, API signatures, Mermaid diagrams. |
| CI/CD | check [--since|--uncommitted], gate, snapshot save|diff|list|drop |
Policy checks, threshold enforcement, metric snapshots. |
| Telemetry | session create|end|audit|cleanup |
Agent compliance tracking and grading (A–F). |
| LLM-Wiki | wiki [--output dir] |
Generate llm-wiki/ — machine-first markdown pages for zero-cost agent orientation (overview, architecture, hotspots, routes, env, errors, concurrency, per-package, API surface). |
| Summary | summary [--json] |
Single-call codebase briefing: top 3 hotspots, worst instability package, highest complexity function, orphan count, god-object count. Replaces 5 separate calls. |
| Untested | untested [--pkg name] [--top N] [--json] |
Functions with callers but zero test edges — coverage gaps invisible to orphans or per-symbol test queries. One sweep replaces N tests <sym> calls. |
| Doc | doc <pkg[.Symbol]> [--json] |
go doc wrapper — signature + doc comment for any stdlib or third-party symbol. No graph required. Closes the gap when call chains leave the project. |
Full command reference with examples: gograph.identuum.ai/docs/command-reference
Define boundaries in .gograph/boundaries.json:
{
"layers": [
{ "name": "domain", "packages": ["internal/domain/**"], "may_import": [] },
{ "name": "handler", "packages": ["internal/handler/**"], "may_import": ["internal/service/**", "internal/domain/**"] }
]
}
Run gograph boundaries — exits with code 1 on violation. W