Skip to main content
Glama

GID MCP Server

Model Context Protocol server for Graph-Indexed Development

License: AGPL-3.0 npm

Give AI assistants structural awareness of your codebase. GID represents software systems as typed, directed graphs — so AI can reason about architecture, not just syntax.

GID Visualization


Why GID?

AI can generate code, but it can't answer:

  • "What breaks if I change UserService?"

  • "Which components implement the auth feature?"

  • "What's the dependency path from Controller to Database?"

GID fills this gap by providing a graph-based map of your software architecture that AI assistants can query and update.

Two workflows:

  • Top-down: Describe what you want to build → GID generates the architecture graph → AI implements against it

  • Bottom-up: Extract a graph from existing code → Use it for impact analysis, safe refactoring, and planning new changes

The graph evolves with your project. Every time you add a feature or refactor, the graph updates — so AI always has the current map.

Dogfooding: GID's own architecture is defined as a GID graph. We used GID to build GID — tracking components, querying impact before refactoring, and planning new features. See the self-referential graph.


Related MCP server: Axon Pro

Tools

Query & Analysis

Tool

Description

gid_query_impact

Analyze what components and features are affected by changing a node

gid_query_deps

Get dependencies or dependents of a node (with depth control)

gid_query_common_cause

Find shared dependencies between two nodes (useful for debugging)

gid_query_path

Find dependency path between two nodes

gid_analyze

Deep analysis of a file (functions, classes, complexity)

gid_get_file_summary

Structured file analysis for AI summarization

gid_advise

Graph health score, validation issues, and improvement suggestions

gid_get_schema

Get the GID graph schema with dynamic relations

Graph Management

Tool

Description

gid_read

Read graph structure (YAML, JSON, or summary)

gid_init

Initialize a new GID graph in a project

gid_edit_graph

Add, update, or delete nodes, edges, and relation types

gid_refactor

Rename, move, or delete nodes with cascade

gid_history

Version history — list, diff, or restore previous versions

AI-Assisted

Tool

Description

gid_design

Generate a graph from natural language requirements

gid_extract

Extract dependency graph from existing code (TypeScript/JavaScript)

gid_semantify

Propose semantic upgrades — map files to components, assign layers, detect features

gid_complete

Analyze docs to identify gaps and suggest graph additions

gid_visual

Generate interactive D3.js HTML visualization

Resources

Resource

Description

gid://graph

Current dependency graph (YAML)

gid://health

Health score and validation results

gid://features

List of all features in the graph


Installation

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "gid": {
      "command": "npx",
      "args": ["graph-indexed-development-mcp"]
    }
  }
}

Claude Code

claude mcp add gid -- npx graph-indexed-development-mcp

Cursor / VS Code

Add to your MCP settings:

{
  "gid": {
    "command": "npx",
    "args": ["graph-indexed-development-mcp"]
  }
}

Quick Start

  1. Install the MCP server (see above)

  2. Initialize a graph in your project:

You: "Initialize a GID graph for this project"
→ Claude uses gid_init
  1. Extract dependencies from your code:

You: "Extract the dependency graph from the codebase"
→ Claude uses gid_extract
  1. Start querying:

You: "What would break if I change UserService?"
→ Claude uses gid_query_impact

You: "Design the architecture for a notification feature"
→ Claude uses gid_design

You: "Show me the project health score"
→ Claude uses gid_advise

Example Conversations

Top-Down: Design First, Then Build

You: "Design an e-commerce backend with auth, payments, and order tracking"
Claude uses gid_design →
  Created 4 features: UserAuth, Payment, OrderTracking, ProductCatalog
  Created 8 components across 4 layers
  Created 15 dependency edges
  Health score: 95/100

You: "Now implement the AuthService based on the graph"
Claude uses gid_query_deps →
  AuthService depends on: UserRepository, TokenManager
  Implements: UserAuth feature
  Layer: application
Claude generates code that fits the architecture.

Bottom-Up: Extract from Existing Code

You: "Extract the dependency graph from this project"
Claude uses gid_extract →
  Found 42 files, 156 dependencies
  Grouped into 12 components across 4 layers

You: "I need to refactor UserService. What would break?"
Claude uses gid_query_impact →
  Direct dependents: AuthController, ProfileController, OrderService
  Affected features: UserRegistration, OrderPayment
  5 components impacted, 2 features at risk

You: "Why do OrderService and PaymentService keep failing together?"
Claude uses gid_query_common_cause →
  Shared dependency: DatabaseService
  Both services depend on it — that's likely the root cause.

Continuous: Keep the Graph Updated

You: "I just added a NotificationService. Update the graph."
Claude uses gid_edit_graph →
  Added node: NotificationService (Component, application layer)
  Added edges: depends_on EmailClient, implements Notifications feature

You: "Check the project health"
Claude uses gid_advise →
  Health: 87/100
  Warning: NotificationService has no tests
  Warning: EmailClient has 6 dependents (high coupling)
  Suggestion: Consider splitting EmailClient into smaller modules

Visualization

You: "Visualize the current project architecture"
Claude uses gid_visual → Generates an interactive D3.js HTML file

GID Visualization


Graph Format

GID uses a YAML-based graph format (.gid/graph.yml):

nodes:
  UserAuth:
    type: Feature
    description: User authentication and authorization
    priority: core
    status: active
  AuthService:
    type: Component
    layer: application
    description: Handles authentication logic
    path: src/services/auth.ts
  AuthController:
    type: Component
    layer: interface
    path: src/controllers/auth.ts

edges:
  - from: AuthService
    to: UserAuth
    relation: implements
  - from: AuthController
    to: AuthService
    relation: depends_on

Node types: Feature, Component, Interface, Data, File, Test, Decision

Relation types: implements, depends_on, calls, reads, writes, tested_by, defined_in, enables, blocks, requires, precedes, refines, validates, related_to, decided_by — plus custom relations you define.


Task Tracking

Nodes can have an optional tasks field for inline step tracking:

webhook-push:
  type: Component
  layer: infrastructure
  status: in_progress
  description: "Webhook push notifications HMAC-SHA256"
  tasks:
    - "[x] Implement HMAC signing"
    - "[x] DM webhook events"
    - "[ ] Run migration 011 on prod"
    - "[ ] Add retry logic"

Convention: When all tasks are done, remove the tasks field and set status: active.

Tools

Tool

Description

gid_tasks

Query tasks across the graph. No args = all pending. --node <id> for specific node. --done to include completed.

gid_task_update

Toggle task completion: --node <id> --task "task text" --done true/false

gid_read

Now shows tasks inline in summary output

Display Format

webhook-push [Component, infrastructure, in_progress]
  "Webhook push notifications HMAC-SHA256"
  Tasks: 2/4 done
    ✅ Implement HMAC signing
    ✅ DM webhook events
    ☐ Run migration 011 on prod
    ☐ Add retry logic

Requirements

  • Node.js >= 20.0.0



License

AGPL-3.0 — See LICENSE for details.

For commercial licensing, see COMMERCIAL-LICENSE.md.


Author

Toni Tang@tonioyeme

Available Tools

20 tools
gid_adviseB

Validate graph and get improvement suggestions. Returns health score + issues + suggestions.

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNoSuggestion level (default: all)
graphPathNoPath to graph.yml (optional)
thresholdNoCoupling threshold (default: 5)

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of disclosing behavior. It fails to mention side effects (e.g., whether the graph is modified), permissions required, or any other behavioral constraints. It merely states the function and outputs.

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 brief and front-loaded with the core action. It effectively communicates the tool's purpose in a concise manner, though it could be slightly more structured.

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

Completeness3/5

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

Given the lack of output schema, the description partially compensates by listing return items. However, it does not describe the format or structure of the returned data, and with multiple siblings, more context might be needed to ensure correct selection.

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?

Schema coverage is 100% with each parameter having a description. The tool description does not add any additional meaning beyond the schema. Baseline score of 3 applies.

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 the tool's purpose: validate a graph and get improvement suggestions, listing specific outputs (health score, issues, suggestions). This distinguishes it from siblings like 'gid_analyze' which likely focus on analysis rather than advice.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as 'gid_analyze' or 'gid_complete'. There is no explicit context for when to use or when not to use this tool.

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

gid_analyzeC

Analyze file, function, or class. Returns structured JSON for AI consumption.

ParametersJSON Schema
NameRequiredDescriptionDefault
classNoClass name for deep dive (optional)
filePathYesPath to the file to analyze
functionNoFunction name for deep dive (optional)
includePatternsNoInclude pattern detection (default: true)

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits (e.g., read-only, output structure, error handling). It only states 'returns structured JSON' without details on side effects, permissions, or performance.

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

Conciseness5/5

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

The description is extremely concise: two sentences with no wasted words. It front-loads the core purpose and return type effectively.

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

Completeness2/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 and the presence of sibling tools, the description is incomplete. It does not specify what 'analyze' entails (e.g., syntax parsing, dependency extraction) or the output structure, limiting its usefulness for an AI agent.

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

Parameters2/5

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

Although schema coverage is 100%, the description does not clarify parameter interactions (e.g., how 'class' and 'function' relate to 'filePath'). The 'includePatterns' parameter is unmentioned, leaving its semantics ambiguous.

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

Purpose4/5

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

The description clearly states the tool analyzes files, functions, or classes, which is a specific verb and resource. It distinguishes from siblings like 'gid_read' or 'gid_get_file_summary' by implying deep inspection, but could be more explicit about the analysis scope.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. It does not mention context, prerequisites, or exclusions. The agent must infer usage from the tool name and siblings.

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

gid_completeA

Analyze existing graph and documentation to identify gaps and suggest semantic layer additions. Returns structured context for AI to complete the graph with gid_edit_graph.

ParametersJSON Schema
NameRequiredDescriptionDefault
docsPathNoPath to documentation directory to analyze
graphPathNoPath to existing graph.yml
docContentNoDirect documentation content to analyze (alternative to docsPath)

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It states the tool analyzes and suggests, but does not disclose any side effects, error conditions, or requirements (e.g., permissions, rate limits). Returns 'structured context' without specifying format.

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

Conciseness5/5

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

Two sentences, no redundancy, front-loaded with the verb 'Analyze'. Every word earns its place.

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

Completeness3/5

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

No output schema, so description should detail return structure but only mentions 'structured context'. Lacks error handling, edge cases, and prerequisites for a tool with three parameters.

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?

Schema coverage is 100% with clear parameter descriptions. The tool description adds minimal extra meaning beyond the schema, merely summarizing the overall intent.

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 the tool analyzes graph and documentation to identify gaps and suggest semantic layer additions, and returns structured context for completion. This distinguishes it from siblings like gid_analyze (analyzes only) and gid_edit_graph (edits).

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

Usage Guidelines4/5

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

The description implies usage when gaps need identification and graph completion, explicitly linking to gid_edit_graph. However, it does not mention when to avoid using it or provide alternatives.

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

gid_designB

Generate semantic graph from natural language requirements. Creates Features, Components, layers, and relationships.

ParametersJSON Schema
NameRequiredDescriptionDefault
outputPathNoWhere to save graph.yml (optional)
requirementsYesNatural language description of what to build

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden for behavioral disclosure, yet it only mentions the creation of graph structures. It does not indicate whether the tool is read-only or destructive, what permissions might be needed, or if it modifies existing state.

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

Conciseness5/5

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

The description is a single, well-structured sentence that conveys the tool's purpose without extraneous words. It is appropriately front-loaded and every word adds value.

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

Completeness3/5

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

While the description covers the basic purpose and parameters are well-documented in schema, it lacks explanation of what a 'semantic graph' entails or details about the output format. For a tool that presumably creates a file, more context on expected results would be beneficial.

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 input schema covers both parameters with descriptive comments (100% coverage), so the description adds no additional parameter meaning. Baseline 3 is appropriate as per guidelines.

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 the tool's function: generating a semantic graph from natural language requirements, and lists specific output elements (Features, Components, layers, relationships). This distinctively differentiates it from siblings like gid_analyze (analysis) or gid_edit_graph (editing).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus its siblings, nor any prerequisites or context for use. It only describes the core action, leaving an AI agent without decision support for tool selection.

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

gid_edit_graphB

Directly add, update, or delete nodes, edges, and relation types in the graph. Supports dynamic relation schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoPreview changes without applying (default: false)
graphPathNoPath to graph.yml (optional)
operationsYesList of operations to perform

TDQS

B3.1/5.0
Behavior2/5

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

Without annotations, the description carries full burden but fails to disclose important behaviors. It does not mention the dryRun option (safety preview), side effects, idempotency, or error handling. The description implies mutation but is vague on specifics.

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 a single, front-loaded sentence that efficiently conveys the core purpose. It could be improved by including key details like dryRun support, but it remains concise with no wasted words.

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

Completeness2/5

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

The tool has a complex nested input schema and no output schema or annotations. The description is too brief; it does not explain return format, error behavior, or batching capabilities. Essential information for proper invocation is missing.

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?

Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema; 'supports dynamic relation schema' gives slight context but is already implied by the operations array schema.

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 the tool's purpose: 'Directly add, update, or delete nodes, edges, and relation types in the graph.' It includes a distinctive feature ('Supports dynamic relation schema') and differentiates from sibling tools like gid_refactor by specifying direct manipulation.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., gid_refactor for restructuring, gid_get_schema for reading). No prerequisites or context for best use are mentioned.

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

gid_extractB

Extract dependency graph from existing code (TypeScript/JavaScript) with optional enrichment

ParametersJSON Schema
NameRequiredDescriptionDefault
groupNoGroup files into components by directory structure (auto-detects optimal grouping)
pathsNoDirectories to scan (default: current directory)
dryRunNoPreview without writing
enrichNoShorthand for withSignatures + withPatterns
ignoreNoAdditional patterns to ignore
outputPathNoWhere to save graph.yml
withPatternsNoDetect and include architectural patterns (controller, service, etc.)
groupingDepthNoDirectory depth for grouping (default: auto-detect)
withSignaturesNoInclude function/class signatures in node metadata

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It only says 'extract dependency graph' and 'optional enrichment' without explaining whether the tool modifies files, what the output format is, or any side effects. This is insufficient.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. Every word serves a purpose, achieving high conciseness.

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

Completeness2/5

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

With 9 parameters and no output schema, the description should provide more context about the output format, behavior, and trade-offs. It lacks guidance on complexity and fails to compensate for missing structured details.

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?

Schema description coverage is 100%, so baseline is 3. The description adds the overall context of extracting a dependency graph but does not add significant meaning beyond the individual parameter descriptions. It hints at enrichment but lacks detail.

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 the tool's purpose with a specific verb 'Extract' and resource 'dependency graph from existing code (TypeScript/JavaScript)'. It also mentions optional enrichment, distinguishing it from sibling tools like gid_analyze or gid_query_deps.

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

Usage Guidelines2/5

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

The description gives no explicit guidance on when to use this tool versus alternatives. It does not address prerequisites, context, or scenarios where other tools would be more appropriate. Usage is only implied.

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

gid_get_file_summaryC

Get structured file analysis ready for AI to generate a summary description

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the file to summarize
includeContentNoInclude full file content (default: false)

TDQS

C2.6/5.0
Behavior2/5

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

No annotations exist, so the description must carry the full burden. It does not disclose whether the tool is read-only, destructive, requires authentication, or has rate limits. The name suggests retrieval, but the description provides no behavioral safety cues.

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 a single sentence, concise and front-loaded with the verb and resource. However, it could be more structured to pack more information without increasing length.

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

Completeness2/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 and the tool's position among many siblings, the description lacks completeness. It does not mention return format, file size limits, or how the output differs from gid_read or gid_analyze.

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?

Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema descriptions; it does not clarify how parameters interact or provide format details.

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

Purpose3/5

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

The description states 'Get structured file analysis ready for AI to generate a summary description', which is a clear verb and resource but remains vague on what exactly 'structured file analysis' entails. It lacks precision compared to siblings like gid_read or gid_analyze, making it somewhat ambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool over alternatives. The description does not mention context, prerequisites, or when not to use it, leaving the agent without decision support.

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

gid_get_schemaA

Get the GID graph schema with dynamic relations. If a graph exists, includes custom/discovered relations from that graph.

ParametersJSON Schema
NameRequiredDescriptionDefault
graphPathNoPath to graph.yml to read custom relations from (optional, auto-detects)
includeExampleNoInclude example graph (default: true)

TDQS

A3.8/5.0
Behavior3/5

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

Discloses dynamic relations inclusion based on existence of a graph, but no other behavioral traits (e.g., read-only, permissions, side effects) are mentioned. No annotations to supplement.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, no waste. Efficient and clear.

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

Completeness4/5

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

Covers purpose and key behavior; missing return format details but output schema is absent. Still adequate for the tool's simplicity.

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?

Schema already covers both parameters with descriptions. The description adds minimal value ('auto-detects' for graphPath) but does not significantly enhance understanding.

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?

Clearly states the tool retrieves the GID graph schema with dynamic relations. Distinguishes from siblings like gid_read or gid_edit_graph by focusing on schema retrieval.

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

Usage Guidelines3/5

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

Implies usage when schema is needed, especially with dynamic relations, but lacks explicit when-to-use/when-not-to-use guidance or alternatives.

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

gid_historyB

Manage graph version history (list, diff, restore)

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoForce restore without confirmation
actionNoAction to perform (default: list)
versionNoVersion filename for diff/restore
graphPathNoPath to graph.yml (optional)

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries full burden but fails to disclose behavioral traits such as side effects (e.g., restore modifies history), permissions needed, output format, or error conditions. The description only lists actions without explaining consequences or behavior.

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 extremely concise with one short phrase, no filler words. However, it sacrifices informative detail. It is front-loaded with the key actions, earning a high conciseness score despite brevity.

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

Completeness2/5

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

Given four parameters, no required ones, and no output schema, the description is insufficiently complete. It does not explain default behavior (e.g., action defaults to list), how versions are specified, or what each action returns. More context is needed for effective use.

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?

Schema coverage is 100%, so the schema already documents all four parameters. The description adds no additional meaning beyond what the schema provides (e.g., does not explain default action, required combinations, or parameter relationships). Baseline 3 applies.

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 the verb 'Manage' and the resource 'graph version history', and enumerates the three supported actions (list, diff, restore). This distinguishes it from sibling tools like gid_read or gid_edit_graph, providing a specific purpose.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not explain when to use each action or how gid_history relates to other gid_ tools. No exclusions or alternative references are given.

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

gid_initB

Initialize a new GID graph in a project

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoProject directory (default: current)
forceNoOverwrite existing graph
templateNoTemplate to use (default: standard)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description bears full burden. It does not disclose side effects (e.g., overwriting via force), required permissions, or destruction behavior beyond what is implied by parameter names.

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?

Single sentence, no fluff. Front-loaded. However, it could benefit from slightly more detail without becoming verbose.

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

Completeness3/5

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

Given three parameters and no output schema, the description is minimally adequate. It does not explain template differences or what 'initializing' entails, but the schema covers parameters.

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?

Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema; it merely restates the tool's purpose.

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 the verb (Initialize) and resource (GID graph), with scope (in a project). It distinguishes from sibling tools like gid_edit_graph or gid_read, which serve different purposes.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not specify prerequisites, when not to use it, or mention any dependent operations.

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

gid_query_common_causeB

Find shared dependencies between two nodes (useful for debugging)

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeAYesFirst node
nodeBYesSecond node
graphPathNoPath to graph.yml (optional)

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states 'Find shared dependencies', which implies a read-only query. It does not disclose any behavioral traits such as side effects, permission requirements, or what happens if nodes are missing. This lack of transparency is a notable gap.

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

Conciseness5/5

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

The description is a single concise sentence that fronts the core action and context. No unnecessary words; every part contributes to understanding the tool's purpose.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description is insufficiently complete. It does not explain what 'shared dependencies' means, the output format, or edge cases. The tool is one of many similar sibling queries, so more detail is needed for full contextual completeness.

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?

Schema coverage is 100%, so baseline is 3. The description adds no additional meaning beyond what the schema provides for nodeA and nodeB (the two nodes). It does not explain the optional graphPath parameter, so no extra value is added.

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 uses a specific verb 'Find' and resource 'shared dependencies' between two nodes, providing a clear and distinct purpose. It differentiates from sibling tools like gid_query_deps or gid_query_impact by specifying a common-cause analysis.

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

Usage Guidelines3/5

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

The description implies usage for debugging but does not explicitly state when to use this tool versus alternatives like gid_query_deps or gid_query_impact. No when-not conditions or alternative names are provided, leaving the agent with only implicit context.

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

gid_query_depsB

Get dependencies or dependents of a node

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeYesNode name
depthNoMax depth (default: 1, -1 for unlimited)
reverseNoIf true, get dependents instead of dependencies
graphPathNoPath to graph.yml (optional)

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description needs to disclose behavioral traits. It only says 'Get dependencies or dependents' and adds no details about side effects, permissions, or limitations beyond the schema.

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 a single concise sentence with no wasted words, but it could be slightly more detailed given the tool has four parameters.

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

Completeness2/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 and behavioral context, the description is too brief to fully inform the agent about return values or usage scenarios.

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?

Schema description coverage is 100%, so baseline is 3. The description does not add additional meaning to the parameters beyond what the schema already provides.

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 specifies the verb 'Get' and the resource 'dependencies or dependents of a node', distinguishing it from sibling query tools like gid_query_common_cause and gid_query_path.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like gid_query_impact or gid_query_path. No usage context or exclusions are mentioned.

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

gid_query_impactA

Analyze what components and features are affected by changing a node

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeYesNode name to analyze
graphPathNoPath to graph.yml (optional)

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description must disclose all behavioral traits. It does not mention side effects, authorization needs, or scope of analysis, leaving significant ambiguity about what 'changing a node' entails.

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

Conciseness5/5

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

A single, front-loaded sentence with no wasted words. Every word carries meaning.

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

Completeness3/5

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

For a simple tool with two parameters and no output schema, the description is adequate but lacks detail about the analysis methodology or result format.

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?

Schema coverage is 100%, so baseline is 3. The description adds no meaning beyond the schema's parameter descriptions.

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 uses a specific verb 'analyze' and clearly identifies the resource ('components and features affected by changing a node'), distinguishing it from siblings like gid_query_deps (query dependencies) or gid_query_common_cause.

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

Usage Guidelines3/5

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

The description implies usage context (when you want to know impact of a change) but provides no explicit guidance on when to use versus alternatives or prerequisites.

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

gid_query_pathB

Find dependency path between two nodes

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesTarget node
fromYesStarting node
graphPathNoPath to graph.yml (optional)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral context. It fails to disclose that the tool is read-only, whether it requires specific permissions, or what happens when no path exists. The description is too sparse.

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 a single sentence of 6 words, which is concise. However, it lacks front-loading of critical details like return type or usage hints, but overall it is not verbose.

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

Completeness2/5

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

The description does not explain the output format (e.g., list of nodes, edge list), nor does it address edge cases like cyclic dependencies or missing paths. Given no output schema, the description should compensate but does not.

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?

Schema description coverage is 100%, with each parameter having a basic description. The tool description adds no additional meaning beyond what the schema already provides, so a baseline score of 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 the verb 'Find' and the resource 'dependency path between two nodes'. It distinguishes from sibling tools like gid_query_deps (which likely finds all dependencies) and gid_query_common_cause (which finds common causes).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as gid_query_deps or gid_query_impact. It does not mention any prerequisites or context.

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

gid_readB

Read and return the current graph structure or summary

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoOutput format (default: summary)
graphPathNoPath to graph.yml (optional)

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the burden for behavioral disclosure. 'Read and return' implies a safe read operation, but it does not explicitly state nondestructiveness, error conditions, or other traits. The description is minimal but sufficient for a simple read tool.

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 a single sentence with no wasted words. It is concise, though not structured with bullet points or sections, but it earns its place.

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

Completeness3/5

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

Given the absence of annotations and output schema, and only two parameters, the description is minimal. It does not explain return values or behavior beyond reading. For a read tool this is adequate but not comprehensive, especially among many siblings.

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?

Schema description coverage is 100% (both parameters documented in schema). The description adds no additional meaning beyond the schema's existing documentation, so a baseline score of 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 specifies the verb 'Read and return' and the resource 'current graph structure or summary', clearly indicating the tool's purpose. It distinguishes from siblings like gid_edit_graph (modification) and gid_analyze (analysis).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description implies it's for reading, but there is no explicit context, exclusion criteria, or mention of related siblings.

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

gid_refactorC

Preview or apply graph changes to codebase (rename, move, split, merge nodes)

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoPreview changes without applying (default: true)
nodeIdYesNode to refactor
newNameNoNew name for rename operation
newLayerNoNew layer for move operation
graphPathNoPath to graph.yml (optional)
operationYesRefactoring operation

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It states 'Preview or apply graph changes' but does not mention that modifications are destructive, require permissions, or have side effects. The dryRun parameter suggests a safety mechanism, but the description does not elaborate on behavior or error conditions.

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 a single sentence, making it concise and front-loaded. However, it includes operations ('split', 'merge') that are not in the schema, slightly undercutting efficiency. Overall, it is well-structured for quick comprehension.

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

Completeness2/5

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

With 6 parameters and no output schema, the description lacks important context. It fails to explain what the preview output looks like, how changes are applied, error handling, or return values. Given the tool's complexity (preview vs apply, multiple operations), the description is insufficient.

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?

Schema description coverage is 100%, meaning every parameter already has a description in the schema. The tool's top-level description adds no additional parameter-specific information. A score of 3 is appropriate since the schema carries the burden adequately.

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

Purpose3/5

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

The description specifies the tool is for previewing or applying graph changes (rename, move, split, merge nodes). However, 'split' and 'merge' are not present in the input schema's operation enum, which actually includes 'preview', 'rename', 'move', and 'delete'. This mismatch reduces clarity and could mislead an AI agent.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives like 'gid_edit_graph' or sibling tools. No context about prerequisites, when to prefer preview vs apply, or what distinguishes it from similar tools is given.

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

gid_semantifyA

Propose semantic upgrades: map files to components, assign layers, detect features. Use returnContext: true for AI semantic analysis (reads docs + code names).

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoWhat to semantify (default: all)
dryRunNoPreview proposals without applying (default: true)
graphPathNoPath to graph.yml (optional)
returnContextNoReturn rich semantic context (docs + code) for AI analysis instead of heuristic proposals

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses two operating modes (heuristic proposals vs. AI analysis) and mentions that dryRun previews without applying. However, it is unclear whether the tool modifies project files when dryRun is false. The description could be more explicit about mutation behavior.

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

Conciseness5/5

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

The description is two short sentences: the first clearly states the purpose, and the second gives specific usage guidance for a parameter. No wasted words, and the information is front-loaded.

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

Completeness4/5

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

Given the 4 parameters and no required fields, the description covers the main functionality and the two modes. However, it lacks discussion of prerequisites, error conditions, or how it differs from siblings like gid_analyze. It is mostly complete but could be slightly more detailed.

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

Parameters4/5

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

Schema coverage is 100%, providing a baseline of 3. The description adds value by explaining the returnContext parameter's purpose for AI analysis beyond the schema. It also mentions the dryRun default, though that is already in the schema. This added context for a key parameter merits a 4.

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 the tool's action: 'Propose semantic upgrades' with specific tasks like 'map files to components, assign layers, detect features'. This verb-resource pair is precise and distinguishes it from siblings like gid_analyze or gid_design which focus on different aspects.

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

Usage Guidelines4/5

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

The description provides clear context for using the returnContext parameter: 'Use returnContext: true for AI semantic analysis (reads docs + code names)'. This guides the agent on when to choose that mode. However, it does not explicitly state when not to use this tool or compare it to alternatives like gid_analyze.

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

gid_tasksC

Query tasks across the graph. Shows nodes with pending (or all) tasks.

ParametersJSON Schema
NameRequiredDescriptionDefault
doneNoInclude completed tasks (default: only pending)
nodeNoShow tasks for a specific node
graphPathNoPath to graph.yml (optional)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It discloses that tasks are queried and can include completed ones, but it does not mention that the tool is read-only, whether it requires authentication, or if there are any side effects. Important behavioral traits are missing.

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 one concise sentence with no fluff. It front-loads the purpose. However, it could be slightly more structured (e.g., listing parameters) or include a brief note on output.

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

Completeness3/5

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

Given 3 optional parameters and no output schema, the description provides adequate but not thorough context. It lacks details on return format (list of tasks? task details?) and does not address pagination or error conditions. Still, it is minimally complete for a simple query tool.

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?

Schema coverage is 100%, so description adds minimal value. It reiterates the 'done' parameter (including completed tasks) but adds nothing beyond the schema for 'node' or 'graphPath'. Baseline score of 3 is appropriate.

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

Purpose4/5

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

Description clearly states the tool queries tasks and shows nodes with pending or all tasks. It uses specific verb 'Query' and identifies the resource 'tasks'. However, it does not explicitly differentiate from sibling tools like gid_task_update or gid_complete, which have related but distinct purposes.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., gid_task_update for updating tasks). The description only states what it does, not when or when not to use it, leaving the agent without decision support.

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

gid_task_updateA

Toggle task completion on a node. Marks [ ] ↔ [x]. If all tasks become done, prompts to update status.

ParametersJSON Schema
NameRequiredDescriptionDefault
doneNoSet to true to mark done, false to mark undone
nodeYesNode ID containing the task
taskYesTask text (without checkbox prefix) to toggle
graphPathNoPath to graph.yml (optional)

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It does reveal that the tool toggles completion and may prompt to update status, which are key behaviors. However, it omits details such as side effects (e.g., permanent changes), required permissions, or error handling (e.g., what happens if node or task doesn't exist). The description adds value beyond the schema but lacks comprehensive transparency.

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

Conciseness5/5

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

The description is extremely concise with two sentences. The first sentence immediately states the action and result, and the second provides a key behavioral detail. There is no redundant or extraneous information. It is front-loaded and efficiently communicates essential information.

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

Completeness4/5

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

Given the tool's simplicity (toggle a task) and the fact that the schema covers all parameters (100%) and there is no output schema, the description adequately explains the core functionality and a notable side effect (prompt for status update). However, it could be more complete by mentioning success/failure feedback or error scenarios (e.g., invalid node ID). Overall, it is sufficient for a simple tool.

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?

Schema coverage is 100%, so baseline is 3. The description does not add any additional meaning beyond what the input schema already provides. For example, the 'task' parameter's description ('Task text without checkbox prefix') is already in the schema. No extra context or usage notes are given for the parameters.

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 the tool's action (toggle task completion) and resource (a node). It uses specific verbs and resource identification ('Toggle task completion on a node'), and it distinguishes itself from sibling tools (e.g., gid_tasks lists tasks, while this updates them). The phrase 'Marks [ ] ↔ [x]' makes the toggling behavior unambiguous.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use it, or compare with sibling tools like gid_tasks or gid_edit_graph. The only contextual hint is that it prompts to update status when all tasks are done, but this is behavioral, not usage advice.

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

gid_visualA

Generate static HTML visualization of the dependency graph. Returns self-contained HTML that can be saved and opened in a browser.

ParametersJSON Schema
NameRequiredDescriptionDefault
graphPathNoPath to graph.yml (optional)
outputPathNoPath to save the HTML file (optional, returns HTML content if not specified)

TDQS

A3.6/5.0
Behavior3/5

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

The description explains the output format (self-contained HTML) and optional behavior (save or return), but does not disclose additional traits like performance, size limits, or prerequisites.

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

Conciseness5/5

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

Two sentences with no wasted words; the purpose and output are front-loaded. Highly concise.

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

Completeness4/5

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

For a simple tool with two optional parameters and no output schema, the description adequately covers inputs and outputs. Minor missing detail: visualization layout type, but not critical.

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?

Schema coverage is 100%, so the description adds no new meaning beyond the parameter descriptions. Baseline 3 is appropriate as the schema already explains both parameters.

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 the verb 'Generate' and the resource 'static HTML visualization of the dependency graph', distinguishing it from sibling tools like analysis or editing tools.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., gid_analyze or gid_edit_graph), which is a gap given many sibling tools.

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

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a clear and distinct purpose, with descriptions that differentiate them well. For example, gid_analyze focuses on file/function/class analysis, gid_extract extracts dependency graphs from code, and gid_semantify proposes semantic upgrades. There is no significant overlap.

Naming Consistency5/5

All tools follow a consistent 'gid_verb_noun' pattern in snake_case. The verbs are imperative and descriptive (e.g., gid_init, gid_query_deps, gid_edit_graph), and there is no mixing of conventions.

Tool Count4/5

With 20 tools, the server covers a broad range of graph management operations. While slightly above the typical 3-15 range, each tool serves a specific function and the count is justified by the comprehensive feature set.

Completeness5/5

The tool set covers the full lifecycle: initialization, reading, editing, version history, code extraction, analysis, design from requirements, multiple query types (dependencies, impact, path, common cause), task management, and visualization. There are no obvious gaps for the stated domain.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/potatouniverse/graph-indexed-development-mcp'

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