A directed knowledge graph server for tracking how software projects evolve over time. Manages nodes (Entities and Events) and edges (causal, structural, agency, impact, intent relationships) with persistence to JSON.
GraphGraph has clear naming conventions (verb_noun pattern) and comprehensive parameter schemas with type definitions. However, tool descriptions are inconsistent in depth and quality. Several tools lack descriptions entirely (get_neighborhood, update_node, update_edge, remove_node). Parameter descriptions are present but often minimal. Output schemas are not documented. Error handling guidance is absent. The server follows a semantic graph model well but falls short of production-grade tool definition standards.
Add a directed edge between two existing nodes. Returns the assigned edge index.
Add a new node to the graph. Returns the assigned node index.
Get the full graph in Dot graphviz string format. Returns a summary view of node metadata — use get_node for full metadata (description, file, function, content).
Get the number of nodes in a graph. Use this to determine if you should only get a summary or the full graph when you retrieve it to reduce context bloat.
Get the graph with high connectivity nodes (3+ edges) in Dot graphviz string format. Returns a summary view — use get_node for full metadata (description, file, function, content).
Five tools lack descriptions entirely (get_graph_size, get_neighborhood, update_node, update_edge, remove_node). LLMs cannot determine when or why to select these tools without descriptions.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing what structure to expect.
Destructive operations (remove_node) lack confirmation or dry-run support. Agents cannot preview consequences before irreversible deletion.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | <=2025-11-25 | v2 |
Remove a node from the graph by its index
Update an existing edge between two nodes
Update an existing node by replacing it at the given index
Error handling guidance is absent. Tools do not indicate what to do on failure (retry, ask user, abort). Errors will not guide agent recovery.
Parameter descriptions are minimal (1-2 words). 'The index of the node' lacks context on valid ranges, format, or consequences of invalid input.