Skip to main content
Glama

gograph_api

Read-onlyIdempotent

Detect API drift in Go projects by comparing exported symbols between the current code and a baseline git reference. Catch breaking changes before releasing.

Instructions

Detect public API surface drift by comparing exported Go symbols (functions, types, interfaces) between the current working tree and a baseline git reference. Uses git archive to snapshot the baseline — requires git to be available and the since ref to be a valid branch, tag, or commit. Requires .gograph/graph.json — run gograph build . first. Read-only; archives only a temp directory that is removed after the call. WHEN TO USE: Before releasing or merging a PR to catch breaking-change regressions — exported symbols added, removed, or renamed since the baseline. NOT TO USE: For listing current exports without a diff baseline (use gograph_public or gograph_skeleton instead). RETURNS: JSON with added[], removed[], and changed[] arrays of exported symbol names since the baseline ref; empty arrays indicate no API drift.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sinceYesThe baseline git reference (e.g., 'main' or 'HEAD~1') to compare against
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant behavioral context beyond annotations: it explains the need for git availability, a valid git reference, and a pre-existing .gograph/graph.json file. It also discloses that the operation is read-only and that a temp directory is created and removed. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately concise and well-structured with sections, but could be slightly more compact. However, it effectively front-loads key information and uses clear formatting.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description adequately explains return value format. It covers prerequisites, operational details, side effects, and use cases. All essential context seems present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'since' is already well-described in the schema with a clear description. The tool description does not add substantial new semantic detail beyond what the schema provides. With 100% schema coverage, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool detects API surface drift by comparing exported Go symbols between the current working tree and a baseline git reference. It uses specific verbs ('detect', 'compare') and resources ('exported Go symbols'), and distinguishes from sibling tools by mentioning alternative tools for non-diff use cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit 'WHEN TO USE' and 'NOT TO USE' sections, recommending use before releases or PR merging to catch regressions, and advising against using for listing current exports without a baseline. It also names alternative tools (gograph_public, gograph_skeleton) for such cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ozgurcd/gograph'

If you have feedback or need assistance with the MCP directory API, please join our Discord server