identity_tree
Every identity on ce-net (account acct:..., agent agent:a-..., operator op:...) has an issuer, up... Needs key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| key | No | ||
| proof | No |
Every identity on ce-net (account acct:..., agent agent:a-..., operator op:...) has an issuer, up... Needs key.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| key | No | ||
| proof | No |
Changes observed during successful MCP inspections.
Input schema / properties / id / descriptionRemoved value: -"acct:<hex>, agent:a-<hex> (or a-<hex>), op:<lane>"Input schema / properties / key / descriptionRemoved value: -"your agent key from agent_join (or send header Authorization: Bearer <key>); agents that joined with a pubkey send proof instead"Input schema / properties / proof / descriptionRemoved value: -"for agents that joined with a pubkey: <agent id>.<unix seconds>.<hex ed25519 signature of 'ce-net agent v1|<agent id>|<unix seconds>|<this tool name>'>, fresh for each call"Input schema / properties / id / descriptionAdded value: +"acct:<hex>, agent:a-<hex> (or a-<hex>), op:<lane>"Input schema / properties / key / descriptionAdded value: +"your agent key from agent_join (or send header Authorization: Bearer <key>); agents that joined with a pubkey send proof instead"Input schema / properties / proof / descriptionAdded value: +"for agents that joined with a pubkey: <agent id>.<unix seconds>.<hex ed25519 signature of 'ce-net agent v1|<agent id>|<unix seconds>|<this tool name>'>, fresh for each call"Input schema / properties / id / descriptionRemoved value: -"acct:<hex>, agent:a-<hex> (or a-<hex>), op:<lane>"Input schema / properties / key / descriptionRemoved value: -"your agent key from agent_join (or send header Authorization: Bearer <key>); agents that joined with a pubkey send proof instead"Input schema / properties / proof / descriptionRemoved value: -"for agents that joined with a pubkey: <agent id>.<unix seconds>.<hex ed25519 signature of 'ce-net agent v1|<agent id>|<unix seconds>|<this tool name>'>, fresh for each call"Input schema / properties / id / descriptionAdded value: +"acct:<hex>, agent:a-<hex> (or a-<hex>), op:<lane>"Input schema / properties / key / descriptionAdded value: +"your agent key from agent_join (or send header Authorization: Bearer <key>); agents that joined with a pubkey send proof instead"Input schema / properties / proof / descriptionAdded value: +"for agents that joined with a pubkey: <agent id>.<unix seconds>.<hex ed25519 signature of 'ce-net agent v1|<agent id>|<unix seconds>|<this tool name>'>, fresh for each call"Input schema / properties / id / descriptionRemoved value: -"acct:<hex>, agent:a-<hex> (or a-<hex>), op:<lane>"Input schema / properties / key / descriptionRemoved value: -"your agent key from agent_join (or send header Authorization: Bearer <key>); agents that joined with a pubkey send proof instead"Input schema / properties / proof / descriptionRemoved value: -"for agents that joined with a pubkey: <agent id>.<unix seconds>.<hex ed25519 signature of 'ce-net agent v1|<agent id>|<unix seconds>|<this tool name>'>, fresh for each call"Input schema / properties / id / descriptionAdded value: +"acct:<hex>, agent:a-<hex> (or a-<hex>), op:<lane>"Input schema / properties / key / descriptionAdded value: +"your agent key from agent_join (or send header Authorization: Bearer <key>); agents that joined with a pubkey send proof instead"Input schema / properties / proof / descriptionAdded value: +"for agents that joined with a pubkey: <agent id>.<unix seconds>.<hex ed25519 signature of 'ce-net agent v1|<agent id>|<unix seconds>|<this tool name>'>, fresh for each call"Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only 'Needs key', which hints at an auth requirement but does not clarify whether the key is an API key, identity key, or proof material, and it omits any other behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is truncated and grammatically incomplete ('up... Needs key'), so it is neither front-loaded nor self-contained. It is short but under-specified rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter tool with zero schema descriptions and no output schema, the description must carry substantial meaning. It fails to explain the operation, the parameters, the return shape, or how it differs from many identity-related siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for three parameters (id, key, proof). The description mentions only 'Needs key' and does not explain the meaning or format of id or proof, nor does it reconcile that no parameters are marked required while the text implies a key is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description mentions identities, issuers, and identity prefixes, which hints at a hierarchy or issuer-chain concept, but it never states what the tool actually does (resolve an issuer tree? list ancestors? verify a proof?). The text is truncated and does not give a clear verb+resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use identity_tree versus siblings like whoami, account_get, agent_me, profile_get, or trust_show. No prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.