Skip to main content
Glama

graph_write

Add or update a graph entity (non-destructive). action: add | update. Deletion is a separate tool (graph_soft_delete). (consolidated surface — same handlers as the legacy tools) Required per action — add: node_type, alias, payload, device_id | update: node_id, device_id, field_updates.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
aliasNo[add]
actionYeswhich operation to run
node_idNo[update]
payloadNo[add]
device_idNo[add] [update]
node_typeNo[add]
client_hlcNo[add] [update]
field_updatesNo[update]

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • addedInput schema / $schema
      Added value: +"https://json-schema.org/draft/2020-12/schema"
  2. Added

TDQS

A4.4/5.0
Behavior4/5

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

The description adds context beyond annotations: it declares the operation non-destructive, aligns with destructiveHint=false, and explains the consolidated handler surface. It clearly defines that action determines the required parameters, providing operational transparency. 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.

Conciseness5/5

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

The description is compact, with the main purpose front-loaded. It uses parenthetical notes and a clear action-to-required-fields mapping. Every sentence adds value without redundancy.

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 tool with 8 parameters, two actions, and nested field_updates, the description provides essential context for correct invocation: action-specific requirements, non-destructive behavior, and separation from deletion. It doesn't detail return values (no output schema) or client_hlc mechanics, but covers the most important operational aspects.

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?

Although schema coverage is 100%, the descriptions in the schema are only tags like '[add]' and '[update]'. The tool description enriches parameters by specifying which fields are required per action (e.g., add requires node_type, alias, payload, device_id). This adds critical meaning beyond the 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 'Add or update a graph entity (non-destructive)' with specific verbs and resource. It distinguishes from the sibling graph_soft_delete by explicitly mentioning deletion is a separate tool. The action parameter add|update further clarifies the dual purpose.

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?

It explicitly says deletion is handled by graph_soft_delete, providing an alternative. It also gives required fields per action (add vs update), which guides when to use each mode. However, it does not mention when to use graph_read for reading, though this is implied by context.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.5/5.0
Disambiguation4/5

Most tools clearly target distinct resources (tasks, docs, graph, sync, env_sync, handoffs, judgments, projects, vault). A few pairs could confuse, like sync_push vs vault_sync (which has a push action) and env_sync_write vs env_sync_txn_push, but descriptions mostly clarify boundaries.

Naming Consistency3/5

Names are predominantly snake_case with a noun_verb pattern (e.g., sync_push, task_write), but there are notable inconsistencies: plural/singular mismatches (dev_docs_read vs dev_doc_write, tasks_read vs task_write), verb-first names (list_papers, get_setup_guide, judgment_submit), and a dotted sub-namespace (env_sync.secret_pull) mixed with flat names (env_sync_txn_push).

Tool Count2/5

35 tools is a large surface for a personal note/sync server. While it spans many domains (auth, tasks, docs, sync, env_sync, graph, etc.), the sheer number feels heavy and likely overwhelms agents with too many choices, especially when several tools are consolidated sub-action surfaces.

Completeness3/5

Most domains have reasonable CRUD coverage (tasks, dev docs, graph, sync, env_sync, vault). However, noticeable gaps exist: memory has no write tool (only read), papers only support listing (no create/update/delete), assumptions have write but no dedicated read or delete, and judgment is effectively submit-and-list only.

Resources