Skip to main content
Glama

graph_record_decision

Record a decision in the lineage store and expose it as a Business Context -> Graph entity. Supply a Graph entity ID or a subject type and ID. Use after making a decision.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "decision_type": "<decision_type>",
      "outcome": "<outcome>",
      "reasoning": "<reasoning>"
    },
    "name": "graph_record_decision"
  }
}

Input Schema

NameRequiredDescriptionDefault
outcomeYesThe decision outcome (e.g., approved, rejected, escalated)
exceptionNoIf this is an exception to normal policy, explain why
reasoningYesExplanation of why this decision was made
decided_atNoOriginal decision time (ISO 8601); supply source_decision_id with it
entity_idsNoIDs of entities this decision concerns
subject_idNoID of the primary subject when no Graph entity ID is supplied
record_refsNoReferences to records in golden tables
subject_nameNoHuman-readable name of the primary subject
subject_typeNoType of the primary subject when no Graph entity ID is supplied
decision_typeYesType of decision (e.g., approval, rejection, exception, override, matching)
policy_appliedNoWhich policy or rule was applied
outcome_categoryNoGeneric outcome category for domain-specific outcomes
source_decision_idNoStable source ID for retries; supply decided_at with it

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already establish that this is a non-read-only, non-destructive, closed-world write. The description adds real context: the decision is persisted in a lineage store and materialized as a Graph entity, which implies a visible side effect beyond storage. It does not cover idempotency/duplicate handling (despite source_decision_id existing for retries) or what is returned on success.

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?

Three short sentences, front-loaded with the action and destination before the prerequisite. No filler, though the second and third sentences could be merged into a single usage line without loss.

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 13-parameter mutation with no output schema, the definition covers purpose, destination, and targeting but omits the write's observable result, duplicate/conflict behavior, and how retries interact with source_decision_id. It is adequate to attempt a call but leaves meaningful operational questions unanswered.

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%, so the baseline is 3, and the description earns an extra point by stating the either/or targeting rule (Graph entity ID vs. subject type and ID) that ties entity_ids, subject_type, and subject_id together into one choice. It still says nothing about the many optional fields such as record_refs, policy_applied, or outcome_category.

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 names a specific verb and resource ("Record a decision") plus its destination ("lineage store") and a secondary effect ("expose it as a Business Context -> Graph entity"). That separates it from read-oriented siblings such as graph_decision_detail and graph_decision_lineage, though no sibling is named explicitly.

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?

"Use after making a decision" gives a clear trigger point, and the ID-or-subject rule conveys a precondition. There is no guidance on when not to use it, how it relates to graph_decision_detail/graph_precedent, or what to do if a decision was already recorded.

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.