Skip to main content
Glama
chaos-xxl

Protocol Chaos reference server

by chaos-xxl

entity_record

Records a user's verbatim words about an entity, merges repeated facts, and logs name, alias, statement, and support updates to keep user-owned context accurate across assistants.

Instructions

Record words about an Entity together with what they change: name, aliases (the complete new list), add (new Statements; may supersede or conflict with existing ones), update (status, reason, sensitivity, inSummary of existing Statements) and support (existing Statements these words also support). Saying the same thing again is merged into the existing Statement as more evidence. A Statement resting on the user's words can be superseded, or its status changed, only by the user's own words (USER_WORDS_PROTECTED): add your version with conflictsWith instead. A disputed Statement becomes current again only by the user's words (USER_CONFIRMATION_REQUIRED). Carry expectedVersion (the Entity's). Verbatim rule: the words (text, accountText) are the user's actual words, trimmed and otherwise unchanged, never a summary or a third-person paraphrase; pass the part about this Entity. Statements are your one-fact interpretation; mark an inference with basis. Returns {entityId, version, accountId, added?, merged?, changed?, supported?}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
addNo
viaNoWhere the words came from when they were not said in this conversation, e.g. "example-export".
nameNo
textYesThe user's actual words, verbatim. Never a summary or a third-person paraphrase.
actorYesWho is writing: your own identity, e.g. {"kind": "agent", "id": "laptop"}. Never the owner or another writer.
updateNo
aliasesNoThe complete new list of aliases.
supportNoExisting Statements these words also support.
entityIdYesAn Entity id, or "current_user" for the owner.
accountSourceNoWhose words they are: user (default), agent_response (your own sentence, such as an inference) or authorized_external (relayed from an application the user authorized).
expectedVersionNoThe Entity's version from your last read or write.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A3.9/5.0
Behavior5/5

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

Beyond the annotations (readOnly=false, destructive=false), the description discloses real behavior: duplicate words are merged into the existing Statement as further evidence, USER_WORDS_PROTECTED and USER_CONFIRMATION_REQUIRED constrain what can be superseded or restored, and expectedVersion is an optimistic-concurrency token. With no output schema, it also spells out the return shape {entityId, version, accountId, added?, merged?, changed?, supported?}.

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

Conciseness3/5

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

It is one dense paragraph with no structure, and several clauses restate what the schema already says (aliases as the complete list, update fields, sensitivity behavior). The purpose is front-loaded correctly and most sentences carry non-obvious rules, but the wall of text makes the protected-statement and versioning rules easy to miss.

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 an 11-parameter nested write tool with no output schema, the description covers the important ground: merge semantics, protection rules, concurrency, verbatim requirements, and the response shape. Gaps remain around when to prefer sibling recording tools and around parameters like name and via, but nothing critical for a correct call is missing.

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 73%, and the description adds genuine meaning on top: aliases is the complete replacement list, add can supersede or conflict and carries a basis for inference, update covers status/reason/sensitivity/inSummary, and expectedVersion must come from the last read or write. It also states the verbatim rule for text. One flaw: it refers to 'accountText', which does not exist in the schema (the field is accountSource), and name and via get no semantic help.

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 opening sentence states a specific verb and resource: record the user's words about an Entity together with the changes they make (name, aliases, add, update, support). This is a precise write operation, and the required entityId plus versioning makes it implicitly distinguishable from entity_create. It never names a sibling tool explicitly, so differentiation from event_note or entity_create is left to inference.

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?

It gives situational guidance for the protected-statement case (add your version with conflictsWith instead of superseding the user's words) and for disputed statements (USER_CONFIRMATION_REQUIRED). However, it never states when to call this versus entity_create, event_note, or event_record_expression, and there are no explicit exclusions. Usage is implied by the parameter contract rather than stated.

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