TeamShared
Server Details
Shared memory for coding agents. Stop re-explaining your codebase every session.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- teamshared-ai/teamshared-plugin
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.5/5 across 94 of 94 tools scored. Lowest: 1.7/5.
Tools are grouped by domain (context_, file_, memory_, etc.) and each has a specific purpose. A few aliases (memory_playbook_get) and closely related tools (memory_recall vs. memory_think) exist but descriptions clarify boundaries. The high number of tools introduces some cognitive load, but the naming and descriptions make individual tool selection relatively clear.
The set predominantly uses snake_case with a domain prefix and a verb_noun pattern (file_create, work_list). There are minor deviations like memory_tools_catalog (noun_verb) and aliases that break the pattern, but overall the convention is consistent across 94 tools. The domain prefixes help navigation.
With 94 tools, the server is significantly over-scoped for a typical MCP server. While each tool may serve a legitimate function in a comprehensive team platform, the sheer volume overwhelms the tool surface, making it difficult for agents to efficiently discover and use the correct tools. The count far exceeds the recommended range for good usability.
The tool surface is extensive and covers multiple domains (context, files, memory/pillars, projects, work items, integrations, strategic planning, etc.) with CRUD-like operations where appropriate. Some gaps exist (e.g., no direct tool for fully deleting a file, only archiving and unpublishing), but the overall coverage is thorough for the server's ambitious scope.
Available Tools
94 toolscontext_commitAInspect
Turn-end batch: assistant summary + durable writes + optional close.
One call replaces the end-of-turn memory_session_append +
memory_remember (+ memory_session_close + memory_state_set) sequence.
The append self-heals expired sessions; the response's session_id
is authoritative. Returns {session_id, turn_count, reopened, memories, closed}.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | Workspace slug; scopes fact tags and the state pointer. | |
| agent | No | Override agent identity | |
| close | No | Close the session (queueing distillation) and clear the state pointer. Pass true when the task is done or the user says goodbye. | |
| facts | No | Durable memories to write in the same call: [{"content": "...", "kind": "fact|preference|event|note", "subject": "...", "tags": [...]}]. Only include things still true next week. | |
| github | No | GitHub owner/repo tag for the facts. | |
| summary | Yes | Faithful summary of your reply — appended as the assistant turn. | |
| session_id | No | Working-memory session to commit to. Omit to resolve it from the conversation/active-session state pointer (requires repo). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses behavioral traits: 'The append self-heals expired sessions', 'the response's session_id is authoritative', and specifies the return shape. This provides useful behavioral context beyond the input schema.
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 extremely concise at three sentences, each earning its place: the first summarizes the tool's purpose, the second contrasts with alternatives, the third adds behavioral nuance and return shape. No wasted words.
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?
Despite 7 parameters, the combination of the description's behavioral disclosure and the 100% schema-covered input schema makes this complete. The description references the output shape which is documented in the output schema, and the complex coordinator behavior is adequately summarized.
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 100%, so baseline is 3. The description adds value by explaining how parameters relate (e.g., summary appends to the session, close triggers queued distillation, facts are durable memories). This semantic grouping and operational context elevates it above the baseline.
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 clearly states it is a 'Turn-end batch' tool that handles assistant summary, durable writes, and optional session close. It explicitly contrasts with the multi-call sequence it replaces (memory_session_append + memory_remember + memory_session_close + memory_state_set), distinguishing it from all siblings.
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?
The description explicitly states 'One call replaces the end-of-turn memory_session_append + memory_remember (+ memory_session_close + memory_state_set) sequence', giving clear context for when to use this tool instead of alternatives. However, it does not explicitly mention situations where it should NOT be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
context_compressAInspect
Compress a prompt payload before it reaches an LLM.
Shrinks JSON tool outputs, logs, and long text using SmartCrusher-lite
sampling. Originals are stored in CCR (Redis) with ref= markers for
context_retrieve. Always runs; tune thresholds via TEAMSHARED_COMPRESS_*.
| Name | Required | Description | Default |
|---|---|---|---|
| messages | Yes | OpenAI-style chat messages to compress before sending to an LLM. User messages are preserved; long tool/assistant/system blocks shrink. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses behavioral traits: compression algorithm (SmartCrusher-lite), storage of originals in Redis with reference markers, and the fact that the tool always executes. It does not mention auth requirements or rate limits, but for a non-destructive compression tool the description is sufficiently transparent.
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 two efficient sentences plus a short tuning note. It front-loads the core purpose, then provides key details (method, storage, always-run behavior, configurability) without wasted words. Every sentence adds essential information.
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?
Given a single parameter with full schema coverage and an output schema (which relieves the description from explaining return values), the description adequately covers what the tool does, how it works, storage behavior, and configuration. It could mention ordering relative to other context tools or handling of empty inputs, but overall it is mostly complete.
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 100%, so baseline is 3. The tool description adds context about the types of content shrunk (tool outputs, logs, long text) and the storage mechanism, which complements the schema's description of message preservation. However, the description does not add structural or formatting details beyond the schema for the single parameter.
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 clearly states the tool compresses prompt payloads before LLM processing, specifying it shrinks JSON tool outputs, logs, and long text. It mentions a complementary sibling (context_retrieve) but does not explicitly differentiate from other context tools like context_normalize or context_prepare, so sibling distinction is partial but purpose is specific.
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?
The description notes the tool 'always runs,' implying automatic invocation, and mentions tunable thresholds via environment variables. It lacks explicit when-to-use or when-not-to-use guidance and does not compare with alternatives like context_normalize or context_prepare. Usage context is implied rather than directly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
context_normalizeAInspect
Strip, clean, and compress a non-teamshared tool output for agent context.
Trims recall-style payloads, shrinks large JSON/logs, and stores originals in CCR when compressed. Prefer letting MCP middleware handle teamshared tools automatically; call this for Shell, Grep, or other harness tools.
| Name | Required | Description | Default |
|---|---|---|---|
| output | Yes | Raw tool output string (usually JSON). | |
| tool_name | Yes | Name of the tool whose output you are trimming. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses key behaviors: trimming recall-style payloads, shrinking large JSON/logs, storing originals in CCR when compressed. This is thorough for a transformation tool.
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 two sentences, no fluff, but could be slightly restructured so the action verb comes first. It is still concise and front-loaded with the purpose.
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?
Given the simplicity (2 parameters, full schema coverage, output schema present), the description covers the essential use cases and boundaries. It could be more specific about what 'large JSON/logs' means, but it is complete enough for an AI agent.
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 coverage is 100%, so the baseline is 3. The description does not add specific details about the parameters beyond what the schema provides (e.g., what qualifies as 'raw' or 'usually JSON'), but that is acceptable given full schema coverage.
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 clearly states the verb (strip, clean, compress), the resource (non-teamshared tool output), and the purpose (prepare for agent context). It also notes it stores originals in CCR, differentiating it from other context tools.
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?
The description explicitly tells when to use this tool (for Shell, Grep, or other harness tools) and when not to use it (prefer MCP middleware for teamshared tools). It does not mention specific alternatives among siblings, but the guidance is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
context_prepareAInspect
Pre-LLM pipeline: session append → compress incoming history → enrich.
Returns compressed messages, optional additional_context (org memory),
session_id, and stats. Use before sending a turn to your LLM when you
want teamshared to shrink tool bloat and inject recall. Server-side MCP
middleware already normalizes teamshared tool responses; this covers the
rest of the prompt.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | Workspace slug for scoped recall enrichment. | |
| enrich | No | Assemble org memory and append as `additional_context`. | |
| github | No | GitHub `owner/repo` for scoped recall enrichment. | |
| prompt | No | Latest user prompt when you do not have full message history. | |
| messages | No | OpenAI-style chat messages to run through the pre-LLM pipeline. Provide this or `prompt`. | |
| session_id | No | Working-memory session to append the user turn to. | |
| token_budget | No | Soft token cap for assembled context. | |
| append_session | No | Append the latest user message to the working session. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explains the pipeline steps and output fields (compressed messages, additional_context, session_id, stats). However, it does not disclose whether the tool mutates state (e.g., the session) or any required permissions/rate limits. The description is adequate but lacks full transparency on side effects.
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 a single paragraph of 4 sentences, front-loaded with the pipeline steps. It is concise and each sentence adds value. However, it could be better structured with bullet points or clearer separation of purpose, usage, and outputs for easier parsing by an agent.
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?
Given the 8 parameters and no output schema in the provided context, the description covers the key aspects: pipeline stages, output fields, and usage context. It explains how this tool fits within the broader system (server-side middleware handling teamshared tool responses). However, it lacks details on what 'compress' or 'enrich' entail precisely, which could be helpful for fine-grained decision-making.
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 100%, so the baseline is 3. The description adds minimal value beyond the schema – it mentions 'additional_context (org memory)' which hints at the 'enrich' parameter's function, but overall does not significantly enhance understanding of parameter semantics.
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 states it is a 'Pre-LLM pipeline' with specific steps: session append, compress, enrich. It clearly identifies the verb (pipeline preparation), resource (incoming history, session, context), and distinguishes itself from sibling tools like context_compress or context_retrieve by being a combined pipeline meant for pre-LLM use.
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?
The description explicitly says 'Use before sending a turn to your LLM when you want teamshared to shrink tool bloat and inject recall.' This provides clear context for when to use. However, it does not explicitly mention when not to use it or name alternative tools for specific sub-tasks, though the sibling set implies alternatives exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
context_retrieveAInspect
Retrieve the original content for a compressed block via CCR ref.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | CCR ref from a compressed message (ref=ccr_...) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool retrieves original content from a compressed block, implying a read operation. However, it does not disclose any potential side effects, permissions needed, rate limits, or what happens if the ref is invalid. The description is honest but minimally transparent beyond the core action.
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 a single, front-loaded sentence that clearly conveys the tool's purpose. Every word is functional, with no wasted text. It is appropriately sized for a simple tool.
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?
Given the tool has only one parameter (covered by schema), no annotations, but an output schema exists (not shown here), the description adequately explains the input and action. The output schema likely handles return value documentation. Contextual completeness is high for a focused retrieval tool.
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 100%, with one parameter 'ref' described as 'CCR ref from a compressed message (ref=ccr_...)'. The description adds slight value by stating the ref comes from a 'compressed block', but this mostly restates the schema. Baseline 3 is appropriate as the schema already covers the parameter well.
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 clearly indicates the verb 'Retrieve' and the resource 'original content for a compressed block via CCR ref'. It distinguishes from siblings like context_compress and context_commit, which have different purposes (compression and committing). However, the term 'compressed block' could be slightly ambiguous without context, but overall it's specific.
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?
The description implies when to use this tool—when you have a CCR ref from a compressed message and need to retrieve the original—but it does not explicitly state when not to use it or provide alternative tools. The sibling list includes many memory and context tools, but no guidance on alternatives, making it an implied usage case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_archiveAInspect
Archive a shared file (excluded from active lists) and clean up its bucket mirror (if published).
Archived files are retained with full version history for audit; the public
/s/{share_token} route returns 404 for an archived file.
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes | File UUID to archive |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the file is retained with version history for audit, and that the public share route returns 404. It doesn't mention required permissions or if the operation is reversible, but the behavioral effects are well documented.
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 extremely concise, using two well-structured paragraphs. The first sentence gives the core action and secondary effect, and the second adds critical behavioral details (version history retention, 404 for shared route). No wasted words.
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?
Given the tool's simplicity (1 parameter, clear schema, output schema present), the description adequately covers the purpose and behavioral effects. It doesn't explain the output schema's contents, but that is handled by the schema itself. Slightly more could be said about reversibility or permissions, but overall it's complete for this complexity level.
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 100% and there is only one parameter (file_id) with a clear 'File UUID to archive' description. The tool description does not add further parameter semantics beyond what the schema already provides, so baseline 3 is appropriate.
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 clearly states the action ('Archive a shared file'), the resource ('shared file'), and the dual effect: exclusion from active lists and cleanup of its bucket mirror. This distinguishes it well from file operations like file_delete, file_unpublish, or file_get, and from other 'archive' tools like project_archive.
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?
The description implies usage for archiving a shared file, and clarifies what archiving means (excluded from active lists, bucket mirror cleanup). It does not explicitly say when not to use it or name alternatives, but given the sibling list, the context is clear that this is for archiving, not deleting or unpublishing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_createAInspect
Create a new versioned shared file in the caller's org.
Shared files default to private. Call file_publish to generate the
public share URL (/s/{share_token}). Each file_update creates a
new immutable version row.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent identity | |
| title | Yes | File title | |
| content | Yes | File body (markdown or raw HTML) | |
| content_format | No | 'markdown' (rendered through the allowlist sanitizer) or 'html' (sanitized raw HTML) | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses that files default to private and that file_update creates immutable versions. It does not mention authentication requirements, rate limits, or side effects. The behavioral information is present but not exhaustive.
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 three sentences, front-loaded with the core purpose. Every sentence adds value: creation, default privacy, publish workflow, versioning behavior. No wasted words.
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?
Given the presence of an output schema (not shown but indicated), the description does not need to explain return values. It covers creation behavior, privacy defaults, and links to related tools. It could be more complete about the initial state (e.g., file location, owner), but overall it is sufficient for a creation tool.
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 coverage is 100% (baseline 3). The description adds no parameter-specific meaning beyond the schema. It mentions 'versioned shared file' and 'private default' but does not elaborate on fields like title, content, or content_format beyond what the schema already provides.
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 states 'Create a new versioned shared file' with a specific verb and resource. It distinguishes from siblings like 'file_update' (creates new versions) and 'file_publish' (generates share URL), making the tool's unique role clear.
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?
The description gives a workflow hint: default private, then call file_publish for public URL. It also mentions that file_update creates new versions, implying file_create is for initial creation. However, it does not explicitly compare to other file creation tools like file_upload_request or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_getAInspect
Fetch a shared file with its latest version content.
Includes public_url (the /s/{slug} link) when the file is published.
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes | File UUID |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool fetches the 'latest version content' and includes 'public_url' when published, which are useful but sparse. It does not disclose whether the tool is read-only (likely safe), what happens if the file is unpublished, whether it errors on invalid IDs, or rate limits. The description adds reasonable context but misses opportunities for deeper transparency.
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 extremely concise: two sentences that are front-loaded with the main action ('Fetch a shared file with its latest version content'). The second sentence adds a specific detail about the public URL without extra fluff. Every sentence earns its place, and there is no redundant or vague wording. This is a model of conciseness.
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?
Given the tool's low complexity (1 parameter, read-like operation) and the presence of an output schema, the description is nearly complete. It covers enough for an agent to understand the core function and a key return detail (public URL). However, it would be slightly stronger if it hinted at error conditions (e.g., file not found or access denied) or confirmed that no side effects occur. For a simple tool, this is well above minimal viability.
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?
The input schema has one parameter (file_id) with 100% description coverage (described as 'File UUID'). The description does not add additional semantic meaning beyond the schema for the parameter itself. The description's mention of 'latest version content' and 'public_url' provides context for the return value, not the parameter. With full schema coverage, the baseline is 3, and the description does not exceed this by adding parameter-specific details.
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 clearly states the tool fetches a shared file with its latest version content, using the specific verb 'Fetch' and resource 'shared file'. It also adds value by mentioning the inclusion of 'public_url' when the file is published, distinguishing this from other file operations like file_list (listing files) or file_create (creating files). Among siblings like file_archive, file_publish, or file_update, this tool's purpose is distinct and well-defined.
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?
The description implies usage for retrieving a specific file by its ID, and the single required parameter (file_id) reinforces this. However, there is no explicit guidance on when to use this tool versus alternatives like file_list (to find files) or file_version_delete (to manage versions). It doesn't state prerequisites (e.g., file must exist or user needs access) nor exclusions (e.g., cannot fetch without ID).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_listAInspect
List active shared files in the caller's org, newest update first.
Each file includes public_url (the /s/{slug} link, or /s/{share_token}
if no slug) when published, plus slug and share_token. Use query to
find a file by title without listing everything — e.g. file_list(query="yield vault").
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | Optional case-insensitive title substring to filter by, e.g. 'yield vault' |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Describes returned fields (public_url, slug, share_token) and query behavior, but does not mention pagination, rate limits, or effect on file state. Acceptable but could detail more edge cases.
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?
Three compact sentences, front-loaded with core behavior, then details on returned fields and a concrete example. No fluff or repetition.
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 listing tool with 2 optional parameters and output schema, the description covers key behavioral aspects (ordering, scope, query usage, relevant fields). Could mention pagination or max results implied by limit, but not critical given simplicity.
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 coverage is 50% with 2 parameters; description adds value by illustrating query usage with an example ('yield vault'), which clarifies substring matching. However, limit parameter semantics are not enhanced beyond schema. Baseline 3 is appropriate.
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?
Clearly states it lists active shared files, ordered by newest update, and scoped to the caller's org. Distinguishes from file_get (single file) and file_archive (archive action) among siblings, but could be more explicit about what 'active' excludes.
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?
Provides example use of query parameter to avoid listing everything, but does not discuss when to use alternatives like file_search (not present) or when not to use this tool (e.g., for retrieving deleted files). Could benefit from excluding cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_publishAInspect
Publish a shared file: generate the public share token + slug and URL.
Idempotent: returns the existing token/slug if already published. The latest
rendered HTML is eagerly pushed to the Railway bucket. The public URL is
/s/{slug} (human-readable, from the title) with /s/{share_token} as a
fallback; both are returned in the response.
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes | File UUID to publish |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses idempotency, eager HTML push, and URL format. It does not detail permissions or error conditions, but the core behavioral traits are well explained.
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?
Three sentences, each essential: purpose, idempotency and side effect, URL format. No redundancy or fluff. Front-loaded with the core verb and resource.
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?
Given a single parameter, no annotations, and an output schema (mentioned in context), the description covers idempotency, background push, and return value structure. It is entirely adequate for an agent to understand the tool's behavior.
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 coverage is 100% (file_id described as 'File UUID to publish'). The description adds context about the overall operation but does not provide additional parameter-specific meaning beyond the schema. Baseline 3 is appropriate.
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 clearly states the verb 'publish' and the resource 'shared file', and specifies the exact output: generate public share token, slug, and URL. This fully distinguishes it from sibling tools like file_unpublish.
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?
The description implies the tool is used to make a file publicly accessible, but it does not explicitly state when to use it versus alternatives (e.g., file_get or file_unpublish). Some guidance on prerequisites or when not to use would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_unpublishAInspect
Revoke public access to a shared file (visibility back to private).
The share token is retained for audit; the public route returns 404. Best-effort removes the mirrored objects from the Railway bucket.
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes | File UUID to unpublish |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses key behaviors: share token retention for audit, public route returning 404, and best-effort removal of mirrored objects. This adds value beyond the input schema by revealing side effects and failure modes.
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?
Two sentences: the first delivers the core purpose, the second adds crucial behavioral details. No redundancy or unnecessary text. Front-loaded and efficient.
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?
Given the tool's simplicity and the presence of an output schema, the description covers all necessary aspects: action, side effects, audit trail, and security implication. Complete for an unpublish operation.
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 coverage is 100% with a description for file_id. The description adds no further detail about the parameter; it only restates the context. Baseline 3 is appropriate as the description does not enhance schema-provided semantics.
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 uses a specific verb ('Revoke public access') and resource ('a shared file'), clearly stating the result (visibility back to private). The name file_unpublish directly contrasts with its sibling file_publish, providing clear differentiation.
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?
The description implies this tool is used when public access should be removed, contrasting with file_publish. However, it does not explicitly state when not to use it or mention alternative approaches, though the context is clear enough for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_updateAInspect
Append a new version to an existing shared file (version = prior max + 1).
If the file is published, the new version is eagerly mirrored to the Railway bucket. Old versions are never mutated.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent identity | |
| content | Yes | New file body (markdown or raw HTML) | |
| file_id | Yes | File UUID to update | |
| content_format | No | Override content format ('markdown' or 'html'); defaults to the file's current format |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It reveals that the tool appends rather than overwrites, sets version to prior max + 1, eagerly mirrors published files to the Railway bucket, and never mutates old versions. However, it does not mention error conditions (e.g., nonexistent file) or permission requirements, which would improve transparency.
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 concise with two sentences: the first clearly states the core action, and the second adds a key behavioral detail. Every sentence earns its place with no redundancy or fluff.
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?
Given that the tool has 4 parameters, schema coverage is complete, and an output schema exists, the description provides sufficient context about the update mechanism, versioning, and mirroring behavior. It lacks coverage of preconditions (e.g., file must exist and not be in archived state), but overall it is comprehensive enough for an agent to use correctly.
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 coverage is 100%, so the baseline is 3. The description explains the overall versioning behavior but adds little parameter-specific meaning beyond what the schema already provides. It helps clarify that 'content' is the new file body and that file_id identifies the existing file, but does not elaborate on optional parameters like agent or content_format.
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 clearly states that the tool appends a new version to an existing shared file with explicit version numbering (prior max + 1). It distinguishes itself from sibling tools like file_create (creates new files) and file_version_delete (deletes versions) by specifying the update behavior.
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?
The description does not provide any guidance on when to use this tool versus alternatives. There is no mention of prerequisites, conditions (e.g., file must exist and not be archived), or explicit comparison to sibling tools like file_create or file_upload_request. Agents must infer usage solely from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_upload_requestAInspect
Get a one-time uploader script to push a local file into a shared file.
For large local HTML/Markdown files that don't fit inline in
file_create/file_update. Returns upload_url, upload_token, an
expires_in_seconds TTL, and a self-deleting Python script.
Save the script to disk and run python3 upload.py /path/to/file;
it reads the file, POSTs it to the server with the one-time token,
prints the resulting file id (and public URL if publish=true), and
deletes itself on success. The token is single-use and expires in ~10 min.
Update mode: pass file_id to append the uploaded body as a new
version to an existing shared file (the title is ignored; the existing
file's title/slug/share_token are preserved, and the bucket mirror is
re-published to the new version when the file is already published).
This is the supported way to push a new version of a large file.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent identity | |
| title | Yes | File title (used only when creating a new file; ignored in update mode) | |
| file_id | No | Existing file UUID to append a new version to (update mode). Omit to create a new file. | |
| publish | No | If true, the file is published immediately (returns public URLs). In update mode this is idempotent if already published. | |
| filename | No | Optional filename (used for format sniffing and as the script's default path) | |
| content_format | No | 'html', 'markdown', or 'auto' (sniff from the file extension) | auto |
| upload_base_url | No | Optional server origin (e.g. https://teamshared.com). Defaults to settings.public_url. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It transparently describes the returned items (upload_url, upload_token, expires_in_seconds TTL, self-deleting Python script), explains the script behavior (reads file, POSTs, prints resulting id, deletes itself), and notes the token is single-use and expires in ~10 min. In update mode, it explains what is preserved and what happens to the bucket mirror. It could be more explicit about authorization or rate limits, but overall is highly transparent.
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 well-structured with two clear sections: the general create workflow and the update mode. It front-loads the main purpose and key return values, then provides step-by-step usage. Every sentence adds value without redundancy. It is appropriately sized for a tool with 7 parameters and complex workflow.
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?
Given the tool's complexity (two modes, script generation, one-time token, self-deleting script), the description is complete. It explains what the tool returns, how to use the script, and the update mode behavior. Since an output schema exists (context signals confirm), the description doesn't need to detail return values, and it appropriately focuses on behavioral workflow. No critical gaps remain.
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 coverage is 100%, so the baseline is 3. The description adds significant meaning beyond the schema: it explains the purpose of the tool in contrast to file_create/file_update, describes the update mode workflow, and clarifies how parameters like publish affect the returned script output. However, it could add more detail on how filename affects format sniffing or the default path. Still, the description substantially enriches the parameter semantics.
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 clearly states the tool provides a one-time uploader script to push a local file into a shared file. It distinguishes itself from file_create/file_update for large files, and explains update mode vs create mode. The verb 'get' and resource 'one-time uploader script' are specific and unambiguous.
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?
The description explicitly says this is for large HTML/Markdown files that don't fit inline in file_create/file_update. It also details the update mode when to use file_id to append a new version. It gives clear guidance on when-not by referencing the alternatives for inline content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_version_deleteAInspect
Delete a single version of a shared file (destructive, irreversible).
Refuses to delete the only remaining version. If the deleted version was
the current (latest) one, current_version is bumped back to the new
max and -- when the file is published -- the bucket mirror is re-published
to that new current version so the public /s/{slug} route stays
consistent. Returns deleted, current_version_changed, and the
updated file.
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes | File UUID the version belongs to | |
| version | Yes | Version number to delete |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavioral traits: destructive and irreversible action, the refusal condition, the side effect of bumping current_version and re-publishing for consistency, and the return fields. This is comprehensive and leaves no hidden consequences.
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 a focused paragraph of 4 sentences, front-loading the tool's destructive nature followed by constraints and side effects. It ends with return values. It is efficient but slightly dense; a more structured format (e.g., bullet points) could improve scannability, but it is not verbose.
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?
Given the tool's simplicity (2 parameters, clear schema, output schema exists), the description fully covers purpose, constraints, side effects, and return fields. There are no gaps; the agent has sufficient information to decide and invoke correctly.
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?
The input schema has 100% coverage with descriptions for file_id and version. The description does not add meaning beyond the schema—it mentions 'current_version' as a side effect but does not elaborate on the parameters themselves. Baseline 3 is appropriate when schema carries full definition.
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 clearly identifies the tool as deleting a single version of a shared file, with explicit notes on destructiveness and irreversibility. The verb 'delete' and resource 'single version' are specific, distinguishing it from sibling tools like file_update or file_archive.
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?
The description conveys a clear context for use (delete a specific version) and a key constraint (refuses to delete the only remaining version). However, it does not explicitly guide when to use an alternative tool (e.g., file_archive for whole-file deletion or file_update for metadata changes), leaving some ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
healthAInspect
Liveness + dependency probe.
Returns {"status", "version", "components": {server, redis, postgres, semantic, distiller, graph, ollama}}. semantic is the pgvector +
embedder store (post-Mem0). Optional deps report "disabled" when off
and do not degrade overall status. Always cheap; safe
to poll on a 10s interval. Used by Docker healthcheck and the
/health HTTP route.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since there are no annotations, the description bears full burden. It fully discloses key behaviors: the return format (status, version, components), how optional dependencies report 'disabled' without degrading overall status, that it is always cheap, and safe for frequent polling. No contradictions.
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 extremely concise—three short sentences plus a code block—and front-loads the essential point ('Liveness + dependency probe'). Every sentence adds unique information with no waste.
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?
Despite having no parameters, the tool is a health check with a well-documented output schema. The description is complete: it covers purpose, return shape, component behavior, cost characteristics, and use cases. With rich context signals, nothing is missing.
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?
The input schema has zero parameters and schema description coverage is 100%, so the baseline is 4. The description adds value by explaining the output structure and behavior, meaning it exceeds the baseline.
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 clearly states it is a 'Liveness + dependency probe' and specifies the tool's purpose: checking health status of the system and its components. It distinguishes itself from the many sibling tools by being a non-mutating, informational probe.
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?
The description provides explicit usage guidance: it is 'Always cheap; safe to poll on a 10s interval. Used by Docker healthcheck and the /health HTTP route.' Although it does not mention when not to use it or alternatives among siblings (none are directly comparable), the guidance is detailed and clear for a health check tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
integration_listAInspect
List the Gmail/Slack/Discord integrations this caller may use.
Returns each connection's id, kind, name, status, and owning account.
Only your own OAuth connections and shared org-scoped connectors are
listed — other people's personal connections are not usable by you and
are omitted. Use this to discover which integration a
integration_search / integration_send call should target.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that only the caller's own OAuth connections and shared org-scoped connectors are listed, omitting others. This is a key behavioral trait. However, it does not mention pagination, ordering, or rate limits, though for a zero-param read tool this is acceptable.
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?
Three sentences: first states the action, second lists returned fields and filtering rules, third provides usage direction. No redundant words, all earn their place.
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 parameterless list tool with an output schema, the description covers return fields, filtering logic, and usage context comprehensively. No gaps remain.
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?
No parameters exist, so baseline is 4 per guidelines. The description adds value by explaining the scope of the returned list and the fields, which is beyond the schema's empty structure.
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 clearly states 'List the Gmail/Slack/Discord integrations this caller may use' and specifies returned fields. It differentiates from sibling tools by targeting discovery for 'integration_search' / 'integration_send' calls, making the purpose distinct.
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?
Explicitly tells when to use: to discover which integration to target for integration_search/integration_send. Also explains what is omitted (other people's connections) and why, providing clear context and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
integration_readAInspect
Fetch one message/thread from your connected Gmail/Slack/Discord account.
Also ingests the message body as a semantic memory (source='connector'). Content from a personal connection is stored private to its owner; content from a shared org-scoped connector lands in the shared brain.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Integration kind: 'gmail', 'slack', or 'discord' | |
| message_id | Yes | Message id (Gmail) or 'channel:ts' (Slack) or 'channel_id:message_id' (Discord) to fetch | |
| connector_id | No | Specific connection id from integration_list; defaults to your own |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses a key side-effect: ingesting the message body as a semantic memory (source='connector'), including privacy scoping (private vs shared brain). This is valuable beyond annotations which are absent. However, does not mention any destructive or mutation side-effects beyond memory ingestion.
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?
Three focused sentences with zero fluff: first sentence defines purpose, second and third explain the memory ingestion side-effect and privacy scoping. Every sentence earns its place.
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 read tool with a rich output schema (implied by context signals), the description is complete: explains purpose, side-effects, and scope. Could mention what happens on errors or if the message doesn't exist, but basic completeness is achieved.
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 coverage is 100% and schema already describes each parameter well. The description adds context about side-effects but does not add to parameter meaning beyond what the schema provides. Still, baseline is 3 and the description adds enough to reach 4.
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 first sentence clearly states what the tool does with a specific verb ('Fetch') and resources ('message/thread from Gmail/Slack/Discord'), distinguishing it from sibling tools like integration_send (which sends messages) and integration_search (which searches messages).
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?
The description implies usage for reading a single message from connected accounts, but doesn't explicitly guide when to use this vs integration_search or integration_list, nor does it mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
integration_searchAInspect
Live-search your connected Gmail/Slack/Discord account (not memory recall).
Returns raw hits from the provider (message id, snippet, from/subject for
Gmail; text + channel for Slack/Discord). Reads do not ingest; use
integration_read to fetch + persist a message for future recall.
| Name | Required | Description | Default |
|---|---|---|---|
| k | No | Max results | |
| kind | Yes | Integration kind: 'gmail', 'slack', or 'discord' | |
| query | Yes | Search query (Gmail search syntax, Slack/Discord text filter) | |
| connector_id | No | Specific connection id from integration_list; defaults to your own |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It discloses that 'Reads do not ingest' (read-only) and explains the raw hit format per provider. This is sufficient for basic transparency, but it omits prerequisites (e.g., need for established connections) or potential failure modes, which would improve the score.
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 two sentences, directly addressing purpose and return information. It is front-loaded with the core action and wastes no words. Ideal conciseness.
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?
Given the presence of an output schema (reducing need to describe returns), the description covers purpose, usage context, behavioral traits, and alternatives. It is nearly complete, but could benefit from explicitly noting that the tool requires existing integrations and that queries use provider-specific syntax.
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?
With 100% schema description coverage, the schema already documents all four parameters. The description adds context about the return format and query syntax nuances but does not significantly enhance parameter understanding beyond what the schema provides. Baseline 3 is appropriate.
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 clearly specifies the verb 'Live-search' and the resources 'connected Gmail/Slack/Discord account'. It distinguishes itself from memory recall and integration_read, making the tool's purpose unambiguous relative to siblings.
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?
The description states when to use this tool (live search of integrations) and explicitly contrasts it with memory recall and integration_read. It does not, however, provide a comprehensive list of when not to use it or address alternatives like integration_list or integration_send, so guidance is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
integration_sendAInspect
Send an email (gmail) or post a Slack/Discord message as your connected account.
Only your own connections (and shared org-scoped connectors) can be used; you can never send as another person. The outgoing action is audited and logged as an episodic timeline event.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Recipient email (gmail only) | |
| body | Yes | Message body / text to send | |
| kind | Yes | Integration kind: 'gmail', 'slack', or 'discord' | |
| channel | No | Slack/Discord channel name/id; defaults to connector config | |
| subject | No | Email subject (gmail only) | |
| thread_id | No | Gmail threadId to reply in (gmail only) | |
| thread_ts | No | Slack parent message ts, or Discord thread channel id, for a reply | |
| connector_id | No | Specific connection id from integration_list; defaults to your own |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing side effects. It explicitly reveals that sends are audited and logged as an episodic timeline event, and that the action is restricted to the user's own connections. It doesn't mention rate limits or irreversibility, but the key behavioral traits are covered.
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 two short, focused sentences. The first sentence front-loads the primary action, and the second adds essential constraints and audit context. Every word earns its place with no fluff or repetition.
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?
Given the output schema exists and the input schema covers all parameters, the description needs only to provide high-level context. It does: it explains the sender scope and audit trail, and the restrictions are critical for a user to safely invoke the tool. No major gaps are apparent.
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 100%, so the baseline is 3. The description does not add any extra parameter semantics beyond the schema; it only reinforces the sender constraints, which is useful but not necessary for parameter understanding.
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 clearly states the tool's purpose with a specific verb and resource: 'Send an email (gmail) or post a Slack/Discord message as *your* connected account.' It distinguishes itself from sibling tools (integration_list, integration_read, integration_search) by being the outgoing send action, and it scopes the action to the user's own connected account.
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?
The description provides explicit usage context: only your own connections and shared org-scoped connectors can be used, and you can never send as another person. This gives clear boundaries for when to use the tool, though it doesn't explicitly mention alternatives by name; the sibling names make the distinction obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_authAInspect
Sign this MCP session in with email + OTP (cloud agents / headless).
Cursor desktop Connect (browser OAuth) is preferred when available.
Cloud agents do not get a host mcp_auth helper — call this tool
instead:
mcp_auth(email="you@example.com")— we email a 6-digit code.Ask the human for the code, then
mcp_auth(email="you@example.com", code="123456").If
status=need_org, call again withorg_id=.
After status=authenticated, later tools on this streamable-HTTP
session run as that person. Do not store the code or any token.
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | One-time code from the login email. Pass together with email= after mcp_auth returned status=code_sent. | |
| No | Email to send a 6-digit login code to. Same OTP as the console and Cursor Connect. Omit (with no code) to see whether this session is already signed in. | ||
| org_id | No | Organization to attach when the email belongs to more than one org (status=need_org). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Although no annotations are provided, the description discloses the authentication flow: email sends a code, code verification, optional org selection, and session persistence. It warns 'Do not store the code or any token.' However, it does not mention error handling, code expiration, or rate limits, which would improve transparency.
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 concise (about 100 words) and well-structured with numbered steps and bullet points. It front-loads the purpose and immediately provides actionable instructions. Every sentence contributes meaningfully.
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?
The tool has an output schema, so the description does not need to explain return values. The description covers the multi-step protocol, including status codes and session implications. It is nearly complete but could briefly mention error scenarios (e.g., invalid code, timeout) to fully prepare the agent.
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 100% and the schema descriptions are already detailed (e.g., 'One-time code from the login email...'). The tool description adds value by explaining the order of calls and the relationship between parameters and status codes, which is not present in the schema alone.
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 states 'Sign this MCP session in with email + OTP' and distinguishes this tool from the preferred browser OAuth flow ('Cursor desktop Connect (browser OAuth) is preferred when available'). It clearly specifies the verb, resource, and method, making it unambiguous.
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?
The description explicitly says when to use this tool ('Cloud agents do not get a host mcp_auth helper — call this tool instead') and when not to ('Cursor desktop Connect is preferred when available'). It also provides a numbered step-by-step usage guide, leaving no room for misinterpretation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_action_applyCInspect
Execute a governed ontology action and write an audit log entry.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent identity | |
| action | No | Alias for action_name | |
| parameters | Yes | Parameters matching the action schema | |
| action_name | No | Registered action type name, e.g. link_entities |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states that the tool executes an action and writes an audit log, but omits critical details: whether the action is destructive, reversible, requires special permissions, or what the output schema describes. The description is insufficient for a mutation tool.
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 a single, efficient sentence with no wasted words. However, given the tool's complexity (4 parameters, output schema, many siblings), it may be overly terse, sacrificing necessary detail. Still, it is well-front-loaded.
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?
The tool has 4 parameters, an output schema, and a large set of sibling tools, yet the description provides only a vague purpose. It does not explain what a 'governed ontology action' is, how to specify the action, what the parameters object should contain, or what the output represents. The description is incomplete for the context.
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 100%, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides (e.g., 'agent' is an override, 'action_name' is a registered type). No extra constraints, examples, or usage hints are given.
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 uses a specific verb-resource pair ('Execute a governed ontology action') and mentions a clear side effect ('write an audit log entry'). It is distinguishable from many sibling tools (e.g., memory_remember, memory_forget) but could be more explicit about what a 'governed ontology action' entails, leaving some ambiguity.
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?
The description provides no guidance on when to use this tool versus alternatives, when not to use it, or how it relates to sibling tools like memory_action_log_list or memory_remember. The agent receives no contextual decision-making help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_action_log_listCInspect
List recent governed action executions for the org.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden of behavioral disclosure. It only states the basic action and scope but omits details like ordering, recency definition, read-only nature, pagination, or auth requirements. The lack of behavioral context impairs safe tool selection.
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 very concise (one short sentence) but under-specified. While brevity is positive, it does not earn its place because it omits critical information that a longer description would provide. Conciseness should not come at the cost of completeness.
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?
Given the low complexity (one optional parameter, output schema present), the description should still clarify what 'governed action executions' are and what 'recent' means. The current text is too minimal to guide an agent effectively, even with the output schema providing return structure.
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% (no parameter descriptions in schema). The description fails to mention the 'limit' parameter at all, providing no added meaning beyond the schema's default, min, and max constraints. This leaves agents unaware of how to control result volume.
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 uses a specific verb ('List') and resource ('governed action executions for the org'), making the tool's purpose clear. It distinguishes itself from sibling tools like memory_episodes_list or memory_skills_list by targeting a distinct entity type.
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?
No guidance is provided on when to use this tool versus alternatives. The description does not mention context, exclusions, or comparisons with related tools such as memory_action_apply or other list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_assemble_contextAInspect
Assemble one token-budgeted, cited context pack for a task.
Fans recall across semantic, episodic, procedural, skill, strategic,
work, working pillars and the optional graph in parallel through the
secure retrieval path, then ranks and packs the result into a single
sectioned markdown bundle. Use this once at the start of a task instead
of issuing serial memory_recall / memory_procedure_get /
memory_graph_related calls. Returns rendered (the pack),
tokens_used, counts_by_pillar, and the kept records.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | Workspace slug of your current repo. Boosts repo-scoped memories in the pack; pass it for code/repo-specific work. | |
| task | Yes | What you are about to do (the task/question driving recall) | |
| github | No | GitHub repository as owner/repo (boosts github-tagged memories) | |
| open_files | No | Paths of files currently open/relevant; their names seed the graph-relationship lookup. | |
| k_per_pillar | No | Max records to recall per pillar | |
| token_budget | No | Approx token budget for the rendered pack (default 1500) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden and does well: it explains the multi-pillar parallel retrieval process, ranking, packing into a sectioned markdown bundle, and lists output fields. Minor gap: no mention of permissions or potential side effects, but overall strong for a read-heavy operation.
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?
Two concise paragraphs: first paragraph states purpose and process, second paragraph gives usage guidance and return fields. Every sentence adds value, no redundancy. Well front-loaded.
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?
Given parameter count 6, 100% schema coverage, and an output schema existing, the description completes the picture by aggregating purpose, process, usage context, alternative guidance, and expected output fields. No gaps remain.
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 100%, so baseline is 3. The description adds value by explaining that 'repo' boosts repo-scoped memories and 'open_files' seeds graph-relationship lookup, which goes beyond the schema's basic descriptions. However, it does not elaborate on all parameters; still earns a 4 for meaningful additions.
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 clearly states 'Assemble one token-budgeted, cited context pack for a task' using a specific verb ('assemble') and resource ('context pack'), and distinguishes it from siblings like memory_recall, memory_procedure_get, and memory_graph_related by explicitly noting it replaces serial calls.
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?
The description explicitly says to use this 'once at the start of a task instead of issuing serial memory_recall / memory_procedure_get / memory_graph_related calls', providing clear when-to-use and when-not-to-use guidance, with alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_entity_viewBInspect
Roll up wiki, memories, graph neighbors, and work for one entity.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Entity slug (wiki topic slug or ontology entity slug) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It does not mention side effects (e.g., whether this view is read-only or changes state), authorization needs (e.g., does it require access to wiki, memories, graph, work?), or failure behavior (what happens if the slug is invalid?). The description is silent on these critical behavioral traits.
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 a single, concise sentence that communicates the core function without extraneous details. It effectively front-loads the purpose. Minor deduction for the imprecise verb 'roll up' but overall very efficient.
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?
Given the tool has an output schema (mitigating the need to describe return values), only one simple parameter, and the description broadly lists the data sources aggregated, the description is adequate. However, it lacks behavioral context (e.g., performance implications, data freshness) that would help an agent gauge suitability, bringing it down from a higher score.
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?
The schema provides 100% description coverage for the single parameter 'slug', so the baseline is 3. The description does not add any additional semantics beyond what the schema already states about the slug parameter. No improvement or degradation.
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 uses a verb ('roll up') and clearly identifies the resource (wiki, memories, graph neighbors, work) for one entity, which distinguishes it from related siblings like 'memory_recall' or 'memory_graph_related'. However, the verb 'roll up' is somewhat colloquial; a more precise verb like 'aggregate' or 'retrieve' would be even clearer.
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?
The description implies use when you need a composite view of an entity across multiple data sources, but it gives no explicit guidance on when not to use it or what alternatives exist. For example, it doesn't mention that 'memory_recall' might be better for pure recall or that 'memory_graph_related' might be preferred for graph neighbors alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_episodes_listBInspect
Browse the episodic timeline (shared within the org by default).
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Optional filter — restrict to one agent's episodes. Default (None) returns every agent's timeline in the org. | |
| limit | No | ||
| since | No | Lower bound on created_at | |
| topic | No | Substring match on topic | |
| until | No | Upper bound on created_at |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the default scope (shared within the org), which is useful, but does not disclose behavioral aspects like ordering, pagination behavior, or whether results are read-only. The output schema exists but the description offers no additional transparency beyond the schema.
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 very concise (one short sentence) and front-loads the core purpose. It covers the essential behavior without extraneous words. However, it could be slightly more specific about the result set (e.g., chronological order) without losing brevity.
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?
Given the output schema exists and the parameter schema is well-documented, the description is minimally adequate. However, it lacks context about ordering (presumably chronological), whether updates to episodes affect the timeline, or how pagination works (limit suggests a list but no offset or cursor). For a tool with 5 parameters and a non-trivial output, more completeness would help.
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?
The schema already provides detailed descriptions for 80% of parameters (agent, since, topic, until, limit). The description adds no additional parameter meaning beyond what the schema offers. With schema_coverage at 80%, baseline 3 is appropriate.
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 clearly states the tool browses an episodic timeline, specifying scope (shared within the org by default). This distinguishes it from other memory-related tools like memory_recall or memory_entity_view, though it does not explicitly contrast with siblings.
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?
The description implies the tool is for browsing timelines shared at the org level, and the schema provides filter parameters, but there is no explicit guidance on when to use this versus other memory browsing tools (e.g., memory_recall, memory_assemble_context) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_forgetAInspect
Soft-delete a semantic/episodic memory by id (requires memory:delete).
memory_id is the memory_items UUID returned by memory_recall
(post-G2 it is no longer a Mem0 id). Procedural deletes are not
supported via this tool.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | Audit reason; required | |
| memory_id | Yes | memory_items UUID from a previous recall |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the soft-delete nature, required permission, the format of memory_id, and what is not supported. It does not mention side effects or reversibility, but the level of detail is good for a deletion tool.
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 two concise sentences plus a well-placed clarification note. Every sentence serves a purpose: purpose, permission, parameter guidance, and exclusion. No wasted words.
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 2-parameter tool with an output schema and clear siblings, the description covers purpose, parameter semantics, permissions, and limitations. It could briefly mention what the output looks like, but the output schema likely handles that. Overall, it provides enough context for correct invocation.
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?
Both parameters (reason, memory_id) are described in the schema with 100% coverage. The description adds value by clarifying that memory_id is the UUID from memory_recall (not a Mem0 id post-G2) and that reason is an audit requirement. This enriches the schema meaning.
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 clearly states the tool soft-deletes a semantic/episodic memory by ID, requiring the 'memory:delete' permission. It distinguishes itself from siblings like 'memory_forget_procedure' and 'memory_forget_skill' by explicitly specifying the memory subtype.
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?
The description provides context that the memory_id is the UUID from memory_recall and notes that procedural deletes are not supported via this tool. While it does not explicitly state when to use this over siblings, the mention of semantic/episodic memory and the exclusion of procedural deletes offers sufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_forget_procedureAInspect
Soft-delete all active versions of a playbook by name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Playbook name to soft-delete | |
| reason | Yes | Audit reason; required |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. While it mentions 'soft-delete', it does not explain what this entails (e.g., recoverability, cascading effects, or how it differs from a hard delete). The term 'all active versions' hints at versioning but lacks detail. For a destructive operation, this transparency is insufficient.
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 a single, well-structured sentence that conveys the essential action and scope. There is no unnecessary information, and every word contributes to purpose clarity.
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?
An output schema exists but is not visible in the input. The description does not mention return values, but the schema may cover that. Missing context includes behavioral details (e.g., is the operation idempotent? what happens if no active versions exist?), and no differentiation from sibling deletion tools beyond the resource name. The description is adequate for a simple operation but lacks depth for a deletion tool.
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 coverage is 100%, so the baseline is 3. The description adds the nuance of 'all active versions' and clarifies deletion 'by name', which is not explicit in the schema description for the 'name' parameter. However, it does not add meaning beyond the schema for the 'reason' parameter, and the overall added value is marginal.
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 clearly states the action ('soft-delete'), the resource ('all active versions of a playbook'), and the key discriminator ('by name'). This distinguishes it from sibling tools like 'memory_forget' and 'memory_forget_skill' which target different resources.
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?
The description does not provide explicit guidance on when to use this tool versus alternatives like 'memory_forget' or 'memory_forget_skill'. The purpose is clear from the name and description, but no contextual cues or exclusions are offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_forget_skillBInspect
Soft-delete all active versions of a skill by name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Skill name to soft-delete | |
| reason | Yes | Audit reason; required |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It states 'soft-delete' but does not explain what this entails (e.g., reversibility, visibility of soft-deleted skills, side effects on associated data). Critical behavioral context is missing.
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 a single, front-loaded sentence that efficiently states the core action. However, it could be slightly expanded to include essential behavioral notes without losing conciseness.
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?
Despite having an output schema (not shown), the description lacks details about the effect of soft-deletion, return value, or how to interact with the result. For a tool with two required parameters and a specific action, this is insufficient for confident use.
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 100%, so the schema already documents both parameters. The tool description adds no new meaning beyond what the schema provides (e.g., does not explain why 'reason' is required or how it is used). Baseline 3 is appropriate.
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 'Soft-delete all active versions of a skill by name' uses a specific verb (soft-delete) and resource (all active versions of a skill by name), clearly distinguishing from siblings like memory_forget (which might target other entities) and memory_skill_get (read-only).
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?
No guidance is provided on when to use this tool versus alternatives (e.g., memory_forget, memory_skill_set). There is no mention of prerequisites, restoration options, or when soft-deletion is preferred over hard-deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_graph_relateAInspect
Record an explicit relationship in the optional org-scoped graph store.
No-op (with a reason) when the graph isn't enabled. Use this when you
learn a structured fact like "alice -> works_on -> teamshared" that
vector recall would obscure. predicate must be a registered link
type (see memory_ontology_list).
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent identity | |
| object | No | Alias for object_entity | |
| weight | No | ||
| subject | Yes | Source entity | |
| predicate | Yes | Relationship label, e.g. 'works_on' | |
| object_entity | No | Target entity |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even without annotations, the description clearly states that the tool is a no-op when the graph store isn't enabled, and that the predicate must be a registered link type. It also implies that the operation is not destructive beyond adding a link. The transparency is high for a write operation with no annotations.
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 three sentences, each earning its place: purpose, behavioral nuance (no-op), and usage guidance (when to use, predicate requirement). There is no fluff or repetition of schema details.
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?
Given the presence of an output schema and good schema coverage (83% described), the description is complete. It explains the core behavior, the edge case (graph not enabled), and the constraint on predicate. The sibling list includes `memory_graph_related`, and the description does not need to elaborate on return values since an output schema exists.
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 coverage is 83%, and the description adds meaning beyond the schema by explaining that `predicate` must be a registered link type, which the schema does not mention. It also implies that `subject`, `predicate`, and `object_entity` are the core parameters, while `agent` and `weight` are optional modifiers. The description compensates for the missing schema detail on `object_entity` being the target.
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 uses a specific verb 'Record' with 'explicit relationship in the optional org-scoped graph store'. It clearly distinguishes from other memory tools by mentioning 'vector recall would obscure' and contrasting with siblings like `memory_recall` and `memory_remember`. The no-op characteristic when graph is not enabled is also clearly stated.
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?
The description explicitly says when to use ('when you learn a structured fact') and when not to use (when graph isn't enabled, it's a no-op). It provides a clear alternative pattern by referencing `memory_ontology_list` for registered predicates. However, it does not explicitly mention when NOT to use this tool compared to `memory_remember` or `memory_recall`.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_ontology_link_type_setCInspect
Register or update a custom org link type.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Link predicate name, e.g. depends_on | |
| agent | No | Override agent identity | |
| to_kinds | No | Allowed object kinds (empty = any) | |
| from_kinds | No | Allowed subject kinds (empty = any) | |
| cardinality | No | one_to_many | many_to_many | many_to_many |
| description | No | Human-readable description |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure, but it only states 'Register or update a custom org link type.' It fails to disclose whether the operation is destructive (e.g., overwrites existing configuration), what the return value contains, or any authorization requirements. This is insufficient for safe agent invocation.
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 a single front-loaded sentence that efficiently conveys the core purpose. It earns its place, but could be slightly expanded to include key behavioral notes without losing conciseness.
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?
Given the tool has 6 parameters, an output schema, and an ontology domain with many related tools, the description is far too sparse. It does not explain what a 'link type' is, how it relates to object kinds, or when cardinality options apply, leaving an agent underinformed for correct selection and usage.
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?
Since schema description coverage is 100%, the baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions, such as explaining the relationship between 'cardinality' and 'to_kinds/from_kinds.' It does not extend or clarify the schema's definitions.
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 clearly states the verb ('Register or update') and resource ('custom org link type'), effectively communicating what the tool does. However, it does not explicitly distinguish this tool from sibling ontology tools like memory_ontology_object_kind_set or memory_graph_relate, preventing a perfect score.
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?
The description provides no guidance on when to use this tool versus alternatives, such as memory_graph_relate or memory_ontology_propose_entity. There is no mention of prerequisites, upsert behavior, or exclusion criteria, leaving the agent without decision-making context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_ontology_listAInspect
List org ontology schema: link types, object kinds, interfaces, action types.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It states 'List', which weakly implies a read-only operation, but does not explicitly confirm safety, side-effect freedom, or performance characteristics. A clearer statement about non-destructiveness and read-only nature would be warranted given the absence of annotations.
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 a single, front-loaded sentence that conveys the essential information without any filler. Every word earns its place, listing the action, resource, and components in a compact format.
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?
With no parameters and an existing output schema, the description adequately covers the tool's scope by naming the four categories of schema items. It could be slightly more complete by mentioning that this returns definitions (not instances) or that it is read-only, but overall it provides sufficient context for an agent to understand when to invoke it.
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?
There are zero parameters, so the baseline score is 4. The description does not need to add parameter-level details because none exist. The schema coverage is already 100% by definition.
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 clearly states the action ('List') and the resource ('org ontology schema'), and enumerates the specific components (link types, object kinds, interfaces, action types). This differentiates it from sibling tools like memory_ontology_link_type_set and memory_ontology_object_kind_set, which perform modifications rather than listing.
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?
No explicit guidance on when to use this tool versus alternatives is provided. The context implies it is for reading the ontology schema, but there is no mention of prerequisites, when not to use it, or hints about alternatives. For a simple listing tool, the lack of guidance is acceptable but not outstanding.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_ontology_merge_entitiesAInspect
Merge drop_slug into keep_slug (remap FKs, delete duplicate).
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent identity | |
| drop_slug | Yes | Duplicate entity slug to merge away | |
| keep_slug | Yes | Canonical entity slug to keep |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states that the merge involves remapping foreign keys and deleting the duplicate entity, which is an irreversible destructive action. This sufficiently signals the irreversible merge behavior to an AI agent, though it could add notes about required permissions or rollback inability.
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 a single, front-loaded sentence with no wasted words. It clearly conveys the action (merge), the two critical slugs, and the side effects (remap, delete). Every part earns its place.
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?
Given the tool has 3 parameters (2 required), 100% schema coverage, and no nested objects, the description is complete enough for an agent to understand the core operation. It does not explain the return value (output schema exists but not described), but the merge-and-remap behavior is the key context. The tool is straightforward enough that no major gaps exist.
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 coverage is 100% and the description for each parameter is already informative (e.g., 'Duplicate entity slug to merge away', 'Canonical entity slug to keep'). The tool description adds marginal value by framing the operation as 'merge A into B', but the schema itself already explains the roles. The 'agent' parameter is not mentioned in the description, but its purpose is self-evident from the schema.
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 uses a specific verb ('merge') and explicitly names the two resources involved ('drop_slug' and 'keep_slug'), while parenthetically explaining the core behavior (remap FKs, delete duplicate). This clearly distinguishes it from sibling tools like memory_entity_view or memory_graph_relate.
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?
The description implies when to use this tool (when you have duplicate entities and need to merge one into another), but it does not explicitly state when NOT to use it, nor does it name any alternative tools for handling entities differently (e.g., memory_entity_view or memory_forget). A 'when-not' or prerequisite about ensuring slug validity would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_ontology_object_kind_setBInspect
Register or update a custom org object kind.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Object kind name, e.g. Vendor | |
| agent | No | Override agent identity | |
| description | No | Human-readable description | |
| properties_schema | No | JSON schema for entity properties |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits. It implies an idempotent upsert ('register or update') but does not explain side effects, whether it overwrites existing schemas, permission needs, or behavior when the object kind already exists. Minimal behavioral disclosure.
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?
One short sentence, no fluff, front-loaded with the action. Efficiently communicates the core purpose in minimal space.
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?
Despite having an output schema, the description is too thin for a tool that defines a custom ontology kind with a properties schema. It lacks context about what 'object kind' means in the ontology, how properties_schema is applied, or relationship to other ontology tools. An agent would likely need to inspect the schema and sibling tools to understand usage.
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 100% with descriptions for all parameters, so the baseline is 3. The description adds no extra meaning beyond what the schema already provides (e.g., name is the kind name, properties_schema is a JSON schema). No added semantic value.
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?
Description uses specific verb 'Register or update' with resource 'custom org object kind', clearly distinguishing it from sibling tools like memory_ontology_list (list) and memory_ontology_link_type_set (set link types). It is concise and unambiguous.
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?
No guidance on when to use this tool instead of alternatives like memory_ontology_merge_entities or memory_ontology_rekind_entity. Does not mention prerequisites, context, or scenarios. The single sentence provides no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_ontology_propose_entityBInspect
Propose a typed ontology entity (active immediately).
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Alias for kind_name | |
| name | Yes | Display name for the entity | |
| agent | No | Override agent identity | |
| kind_name | No | Registered object kind, e.g. Person or Project | |
| properties | No | Optional JSON properties matching the kind schema |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It notes the entity is active immediately, which is useful, but does not disclose important behavioral traits such as whether the operation is idempotent, what happens if the entity already exists, whether permissions are needed, or side effects on related entities.
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 a single sentence of 31 words, front-loading the purpose. It is concise, but it could be slightly more efficient by omitting 'typed' if 'ontology entity' already implies typing, or by adding a short note on typical use.
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?
Given the complexity of operating on an ontology (with kind, properties, agent overrides) and the presence of an output schema covering the return, the description is minimally adequate. It identifies the key parameters but lacks context on what a 'typed ontology entity' is, how 'kind' relates to object_kind_set, or validation requirements. The rich sibling list suggests more contextual background is needed.
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 100%, so the baseline is 3. The description adds value by indicating the effect (active immediately) and by tying the 'name', 'kind_name'/'kind', and 'properties' parameters to the ontology context. The brief description compensates well for the overloaded 'kind' parameter, which has an alias, and the open-ended 'properties' object.
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 'Propose a typed ontology entity (active immediately)' uses the verb 'propose' and the resource 'typed ontology entity', making the action clear. It also adds the behavioral detail that the entity becomes active immediately, distinguishing it from similar tools like memory_ontology_merge_entities or memory_ontology_rekind_entity, though it doesn't explicitly tie to the 'memory_' family.
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 this tool versus similar ontology or memory tools (e.g., memory_ontology_merge_entities, memory_entity_view, memory_remember). No alternatives or usage context are provided, leaving the agent to infer based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_ontology_rekind_entityCInspect
Change the object kind of an existing ontology entity.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Alias for kind_name | |
| slug | Yes | Existing entity slug | |
| agent | No | Override agent identity | |
| kind_name | No | Registered object kind to assign, e.g. Person |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states only 'Change the object kind' without revealing side effects, permissions, or impacts on relationships or properties. The minimal description fails to convey the mutation's scope or safety profile.
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 a single, front-loaded sentence with no wasted words. However, it is extremely terse and lacks any structure (e.g., separate sections, bullet points). For a tool with 4 parameters, it could benefit from slightly more structure while remaining 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?
Given the complexity (4 parameters, output schema exists), the description is insufficient. It does not explain the ontology domain, the meaning of 'object kind', or how this tool fits into the entity lifecycle. The sister tools suggest a richer context that is not captured here.
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 100%, so the schema already documents each parameter. The description adds no additional meaning beyond the schema; it does not explain the role of 'kind', 'kind_name', 'agent', or 'slug'. Baseline 3 is appropriate since the schema carries the burden.
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 'Change the object kind of an existing ontology entity' clearly identifies the verb (change) and resource (object kind of an ontology entity). It is specific and distinct from sibling tools like memory_ontology_merge_entities or memory_ontology_propose_entity, though it does not explicitly differentiate from the close sibling memory_ontology_object_kind_set.
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?
The description provides no guidance on when to use this tool versus alternatives. It lacks context such as prerequisites (e.g., entity must exist, kind must be registered) or any indication of when rekind is appropriate compared to other memory ontology tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_playbook_getDInspect
Alias for memory_procedure_get.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Playbook name | |
| version | No | Specific version | |
| expand_skills | No | Inline composed skills |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states 'alias' and does not mention read/write nature, side effects, return format, or any other behavioral traits. The agent is left without information about what actually happens when invoking this tool.
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 a single short sentence, which is concise, but it is under-specified rather than efficiently informative. It reveals only that this tool is an alias, providing minimal value. The brevity is acceptable, but the content is too sparse to be considered well-structured.
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?
Given the tool is a simple getter with an output schema, some incompleteness is tolerable, but the description fails to even state what the tool retrieves. It depends entirely on the agent knowing memory_procedure_get, which is not a safe assumption. The description is not sufficient for a new agent to invoke it correctly.
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 100%, so the baseline is 3. The description adds no extra meaning beyond the schema, but the schema already documents each parameter (name, version, expand_skills) adequately. There is no contradiction or omission in the schema, so a neutral baseline is appropriate.
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 is merely 'Alias for memory_procedure_get' and does not state the actual function (e.g., 'Retrieves a playbook by name'). It references another tool without explaining what that tool does, leaving the agent to infer purpose from the tool name and sibling list. This is better than a pure tautology but still lacks a clear verb+resource statement.
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?
No guidance is given on when to use this tool versus memory_procedure_get or other retrieval tools. Since it is an alias, one might assume interchangeability, but the description does not explicitly say so. There is no context about scenarios where this alias should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_playbook_setCInspect
Alias for memory_procedure_set.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Playbook name (stable id) | |
| tags | No | Tags for discovery | |
| agent | No | Override agent identity | |
| steps_md | No | Optional intro markdown before composed skills | |
| description | No | One-line summary | |
| tool_recipe | No | Ordered skill list: {"skills": ["lint", "ship-pr"]} |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description must disclose behavioral traits like whether the tool is destructive, idempotent, or requires authentication. The description offers nothing except an alias reference, leaving all behavioral characteristics opaque. This is a significant gap.
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 extremely short (one sentence of six words). While this is concise, it is under-specified—there is no detail about what the tool actually does. Conciseness is not achieved at the expense of completeness; the description fails to communicate purpose, hence the score is slightly above average only for brevity.
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?
Given the complexity (6 params, 1 required, no annotations, output schema present), the description is radically incomplete. It provides no functional context, no explanation of what a 'playbook' is, how it relates to 'procedure,' or what the output schema represents. The agent cannot use this tool effectively based solely on the description.
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 100%, so the schema itself documents all six parameters adequately (e.g., 'name' as 'Playbook name (stable id)'). The description adds no extra meaning, but the baseline of 3 is appropriate since the schema already carries the burden. However, for an alias tool, some cross-reference or note about mapping to memory_procedure_set parameters would add value.
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 says 'Alias for memory_procedure_set.' This does not specify what the tool itself does; it merely points to another tool. Without knowledge of memory_procedure_set, the purpose is completely unclear, and there is no distinct verb or resource described for memory_playbook_set.
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?
The description provides no guidance on when or why to use this tool instead of alternatives. It does not mention any context, exclusions, or refer to sibling tools like memory_procedure_set. An agent has no way to decide between this and similar memory tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_playbooks_listCInspect
Alias for memory_procedures_list.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Filter by tag | |
| limit | No | ||
| offset | No | ||
| include_body | No | Include full steps_md |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It only states it is an alias, with no disclosure of side effects, authentication, rate limits, or return behavior. The agent learns nothing about cautions or state changes.
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 very short but uninformative. It passes on the burden to another tool without adding independent value. Being an alias is useful to know, but the description is too brief to stand alone.
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?
Given the tool has 4 optional parameters, an output schema, and a complex domain (playbooks vs procedures), the description is incomplete. It fails to differentiate from siblings like memory_procedures_list or describe when to use it. The agent needs more to decide correctly.
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 50%, so the schema already describes some parameters (e.g., tag filter, include_body). The description adds no parameter-level meaning; the alias remark doesn't help an agent understand what each parameter does. Baseline 3 is appropriate because schema partially covers the parameters.
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 states it is an alias for ``memory_procedures_list``, which implies listing, but gives no verb or resource of its own. It relies entirely on the sibling to define purpose, which is vague on its own.
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?
The description provides no usage guidance, no context on when to choose this over ``memory_procedures_list``, and no mention of skipped or alternative tools. The agent is left guessing the relationship.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_procedure_getAInspect
Fetch a stored playbook by name (and optionally version).
Set expand_skills=true to resolve tool_recipe.skills into the
returned steps_md / content_md (same as the background runner).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Playbook (procedure) name | |
| version | No | Specific version (default: latest active) | |
| expand_skills | No | Inline composed skill bodies into steps_md |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without any annotations, the description does well to disclose the effect of expand_skills, noting it resolves tool_recipe.skills and returns results in steps_md/content_md. It also clarifies that parameter 'version' defaults to latest active version. However, no disclosure of read-only status, auth needs, or potential errors (e.g., if playbook not found).
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 extremely concise: two effective sentences, no filler. First sentence establishes core purpose and optional parameters; second sentence adds a key behavioral detail. Every word earns its place.
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?
Given the presence of an output schema, the description doesn't need to explain return values. However, with no annotations and complex siblings, the description misses important context: whether this is a read-only operation, what happens on missing name, or how it differs from memory_playbook_get (sibling). Adequate but has clear gaps.
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 coverage is 100%, so baseline is 3. The description adds context for expand_skills (explains what happens when true) and hints that version is optional with default behavior. But 'playbook' vs 'procedure' terminology may confuse a model. Does not explain the output schema or interpretation of returned object.
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 clearly states 'Fetch a stored playbook by name (and optionally version)', which uses a specific verb ('Fetch') and resource ('playbook'). This distinguishes it from siblings like memory_procedure_set (write operation). The mention of 'playbook' instead of 'procedure' causes minor ambiguity, but title consistent with name 'memory_procedure_get'.
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?
The description mentions options like optional version and expand_skills, but provides no guidance on when to use this tool versus siblings like memory_playbook_get or memory_procedures_list. The sibling context shows many similar tools (e.g., memory_skill_get, memory_procedures_list), yet no exclusion or context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_procedure_setAInspect
Insert a new version of a procedure. Each call creates a new version.
Playbooks are ordered skill collections: set tool_recipe.skills and
optional steps_md intro. Routed through the guarded ingestion pipeline.
Returns status (active or duplicate).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Procedure name (stable id) | |
| tags | No | Tags for discovery | |
| agent | No | Override agent identity | |
| steps_md | No | Optional intro markdown before composed skills; use tool_recipe.skills for the ordered skill list | |
| description | No | One-line summary | |
| tool_recipe | No | Playbook recipe: {"skills": ["lint", "ship-pr"], "loop": {"max_iterations": 3}}. See memory_tools_catalog for full shapes. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It reveals that each call creates a new version, that the tool is routed through a 'guarded ingestion pipeline', and that it returns a status ('active' or 'duplicate'). This is adequate but lacks details on permissions, side effects on old versions, or rate limits.
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 concise: three sentences, no wasted words. The primary action is front-loaded ('Insert a new version of a procedure'), and each sentence serves a clear purpose (versioning, parameter explanation, return value).
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?
Given the six parameters, output schema existence, and no annotations, the description covers the key aspects: versioning behavior, playbook structure, and return status. It omits explicit prerequisites or workflow integration with related tools, but it is sufficient for a setter tool with high schema coverage.
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 100%, so the baseline is 3. The description adds value by explaining the playbook concept for tool_recipe and steps_md, but it does not significantly enhance understanding of the other parameters (name, tags, agent, description) beyond what the schema already provides.
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 clearly states the action: 'Insert a new version of a procedure. Each call creates a new version.' It uses a specific verb ('insert') and resource ('procedure'), and distinguishes itself from sibling tools like memory_procedure_get (retrieve) and memory_forget_procedure (delete) by focusing on creation/versioning.
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?
No explicit guidance on when to use this tool vs alternatives such as memory_skill_set or memory_playbook_set. The description mentions 'playbooks' but does not clarify when a procedure vs a playbook should be used. There is no 'when-not-to-use' or alternative tool naming.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_procedures_listCInspect
List playbooks (latest version of each) in the caller's org.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Filter by tag | |
| limit | No | ||
| offset | No | Pagination offset | |
| include_body | No | Include full steps_md and tool_recipe |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only states the basic purpose. It does not mention read-only nature, authentication requirements, pagination behavior, error cases, or what happens with no results. The schema hints at pagination but the description omits this.
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 a single sentence that front-loads the action and resource. It is concise but lacks any structure (e.g., parameter details, usage notes). It could be slightly expanded without harming conciseness.
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?
Given the 4 parameters, existence of an output schema, and the presence of a very similar sibling, the description is insufficient. It omits guidance on pagination, filtering by tag, the effect of include_body, and the format of the output. The context is incomplete for an AI agent to reliably invoke the tool.
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 75%, and the description adds no additional meaning to the parameters. For example, 'limit' and 'offset' are self-explanatory from the schema, but the description does not clarify semantic distinctions or usage patterns.
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 clearly states it lists playbooks (latest version) in the caller's org. However, the tool name 'memory_procedures_list' conflicts with the description mentioning 'playbooks', and there is a sibling 'memory_playbooks_list' that likely does something similar, but no differentiation is provided.
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?
No guidance is given on when to use this tool versus alternatives like 'memory_playbooks_list'. There is no mention of prerequisites, context, or conditions that favor this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_recallAInspect
Hybrid recall across memory pillars within the caller's org.
Default scope searches durable pillars only (semantic, episodic,
procedural, skill, strategic, work). Pass scope=["working"] to
include this chat's open session turns. Shared brain on durable
pillars: pass agent="cursor" only to narrow semantic/episodic.
For entity/competitor questions use a short keyword anchor in
query (e.g. "mex") plus repo / github. Use
explain=true; prefer hits with matched_keyword: true.
| Name | Required | Description | Default |
|---|---|---|---|
| k | No | Max records to return | |
| repo | No | Workspace slug of your current repo. When set, durable memories tagged for this repo are boosted (ranked higher); nothing is hidden — cross-repo and un-scoped memories still appear. Pass your workspace slug when recalling for code/repo-specific work. | |
| agent | No | Optional filter — restrict semantic/episodic results to this agent's writes. Default (None) is the shared brain: every agent's durable memories in the org are visible. Working memory is always scoped to the caller regardless. | |
| query | Yes | Natural-language query | |
| scope | No | Pillars to search. Default (null): durable pillars only (semantic, episodic, procedural, skill, strategic, work) — working is omitted. Add scope=['working'] when you need this chat's open session turns. | |
| github | No | GitHub repository as owner/repo. Boosts memories tagged github:<owner>/<repo> (portable across checkout paths). | |
| explain | No | When true, include per-record retrieval attribution in metadata | |
| verbose | No | When false, truncate record content and omit metadata | |
| time_range | No | Optional time bounds for episodic/working hits |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It explicitly states behavior: default scope is durable pillars (semantic, episodic, procedural, skill, strategic, work), working memory is omitted by default, `agent` filter only applies to semantic/episodic, and `repo` boosts but doesn't hide. These disclosures are clear and comprehensive, though it doesn't address auth needs or rate limits directly. The description does not contradict any annotations since none are provided.
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 extremely concise—only 4 short sentences—yet packs essential usage guidance, default scoping, parameter advice, and a nuanced note about `agent` and `repo`. Every sentence earns its place by providing actionable information for the AI agent. The structure is front-loaded with the core purpose, followed by parameter-specific guidance.
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?
Given the tool's complexity (9 parameters, 1 required, 100% schema coverage, with output schema present) and no annotations, the description is remarkably complete. It covers default behavior, parameter interaction, filtering strategies, and troubleshooting advice. The presence of an output schema reduces the need to describe return values. The description fully equips an agent to select and invoke this tool effectively.
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?
The input schema has 100% coverage with rich descriptions for each parameter, so the baseline is 3. The description adds value beyond the schema by explaining the interplay between parameters (e.g., 'Shared brain on durable pillars: pass agent="cursor" only to narrow semantic/episodic'), providing usage advice for entity questions, and clarifying that `repo` boosts but doesn't hide. This raises the score above baseline.
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 clearly states 'Hybrid recall across memory pillars within the caller's org', specifying the verb (recall), resource (memory pillars), scoping (caller's org). It differentiates from siblings like memory_remember (store) and the other memory_* tools by focusing on retrieval across multiple pillars. The inclusion of 'hybrid' adds nuance about combining durable and working scopes.
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?
The description provides explicit guidance on when to use this tool vs alternatives: default scope is durable pillars only, and it advises passing `scope=["working"]` for current chat turns. It also explains when to set `agent` (shared brain on durable pillars) and gives specific strategies for entity/competitor questions (use short keyword anchor with `repo`/`github`). This helps an AI agent decide when to use this tool over others like memory_episodes_list or memory_strategic_plan_get.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_rememberAInspect
Write a durable memory into the caller's org.
fact / preference / note -> semantic pillar. event ->
episodic. procedure / skill -> rejected; use memory_procedure_set /
memory_skill_set.
Routed through the guarded ingestion pipeline (dedup, PII, injection
screening) under RLS. When repo / github are
given the memory is tagged repo:<slug> / github:<owner>/<repo>.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | fact, preference, event, or note (not procedure/skill) | note |
| repo | No | Workspace slug of the repo this memory belongs to (e.g. the slug used for memory_state). For code/repo-specific work, pass your current workspace slug so the memory is scoped to this repo (stored as a 'repo:<slug>' tag) and ranks higher when recalled from the same repo. Omit for cross-cutting memories. | |
| tags | No | Optional free-form tags | |
| agent | No | Override agent identity (defaults to bearer-token identity) | |
| github | No | GitHub repository as owner/repo (e.g. xhad/teamshared). Stored as a 'github:<owner>/<repo>' tag for cross-machine association; use with or instead of workspace repo= when the same GitHub repo is checked out at different paths. | |
| content | Yes | Free-form text to remember | |
| subject | No | Optional subject/entity this memory is about |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the guarded ingestion pipeline (dedup, PII, injection screening, RLS) and tagging behavior. However, it does not detail durability guarantees, idempotency, or write permissions, which would have made it a 5.
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 concise (3 sentences), front-loaded with the core purpose, and uses clear formatting (backticks). Every sentence adds distinct value without redundancy.
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?
Given the complexity (7 params, 1 required, output schema exists), the description covers the essential behavioral aspects: allowed kinds, pipeline, and tagging. It does not explain the output schema, but that is acceptable since a separate output schema exists. Minor gap: no mention of the 'agent' or 'subject' parameters beyond schema, but schema already handles them.
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 100%, so baseline is 3. The description adds value beyond the schema by explaining the semantic pillar distinction for kinds, the rejection of procedure/skill, and the tag generation from repo/github parameters. This elevates it above the baseline.
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 clearly states 'Write a durable memory into the caller's org' (specific verb+resource). It also distinguishes from siblings by explicitly rejecting 'procedure'/'skill' kinds and directing to alternative tools (memory_procedure_set, memory_skill_set).
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?
The description provides explicit when-to-use guidance (for fact/preference/event/note) and when-not-to-use (procedure/skill should use other tools). It also explains the tagging behavior for repo/github parameters, aiding correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_session_appendAInspect
Append a turn to a working-memory session (self-healing).
When session_id has expired or was closed, a fresh session is
opened automatically and the turn lands there; the response then
carries the replacement session_id and reopened: true. Pass
repo (and optionally github / topic) so reopen preserves
workspace scope and updates the state pointer without a manual
memory_state_set.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | Workspace slug. When set with an active bearer token, reopen self-healing updates the conversation/active-session pointer. | |
| role | Yes | user, assistant, tool, or system | |
| topic | No | Session topic used when reopening after expiry | |
| github | No | GitHub owner/repo tag used when reopening a session | |
| content | Yes | Turn content | |
| session_id | Yes | Session id from memory_session_open |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It effectively discloses the self-healing behavior (auto-open on expiry/closure) and the resulting response fields (new session_id, reopened flag). It also explains how repo/github/topic parameters affect scope. Missing details like rate limits or auth requirements, but the key mutation and recovery behaviors are well covered.
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 consists of two short, front-loaded sentences. The first immediately states the core purpose and the self-healing feature. The second explains the behavioral details and relevant parameters without any fluff. Every sentence earns its place, and the structure is highly efficient.
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?
Given that no annotations exist and an output schema is present (so return values need not be detailed), the description covers the main behavior and parameter usage for reopening. It assumes knowledge of the session concept but references related tools (memory_session_open, memory_state_set) implicitly. Could have briefly mentioned the workflow (e.g., 'use after memory_session_open'), but overall it is sufficient for an agent familiar with the domain.
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 coverage is 100% (baseline 3). The description adds meaningful context for 3 of 6 parameters (repo, github, topic) by explaining their role during reopen to preserve workspace scope and avoid manual memory_state_set. This goes beyond the schema's generic descriptions. The remaining parameters (session_id, role, content) are covered adequately by schema defaults and enums.
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 clearly states the tool's purpose: 'Append a turn to a working-memory session'. It also highlights the unique self-healing behavior that distinguishes it from other memory tools like memory_recall or memory_remember. The verb+resource specificity (append turn to session) is precise and differentiated.
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?
The description implicitly conveys when to use this tool (for adding turns to an active session), and explains that self-healing avoids manual memory_state_set. However, it lacks explicit 'when not to use' guidance or a direct comparison with alternative tools such as memory_session_open or memory_recall. The usage context is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_session_closeAInspect
Close a working-memory session.
If distill is true (default), the transcript is queued for the
background worker to summarize into durable org-scoped memories.
| Name | Required | Description | Default |
|---|---|---|---|
| distill | No | Enqueue for distillation into semantic/episodic memory | |
| session_id | Yes | Session id to close |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description clearly explains the side effect of distillation when distill is true, including that it is queued for a background worker. Given no annotations are provided, this is valuable behavioral disclosure beyond the schema.
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 extremely concise with two short sentences, no filler, and the key action is front-loaded. Every sentence adds value.
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?
Given the output schema exists and there are no nested objects, the description sufficiently clarifies the tool's behavior and parameter semantics. It does not need to explain return values, and the side effect is covered well.
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 coverage is 100%, with good descriptions for both parameters. The description adds context about the distill parameter default and its effect (queued for background worker), but does not add significant meaning beyond the schema's existing description of 'Enqueue for distillation into semantic/episodic memory'.
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 clearly states 'Close a working-memory session', using a specific verb and resource that distinguishes it from sibling tools like memory_session_open and memory_session_get. While the purpose is well-defined, it does not explicitly differentiate it from other memory session tools.
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?
The description mentions the distill parameter default behavior, indicating when the transcript is summarized. However, it does not provide guidance on when to use this tool versus alternatives like memory_session_ensure or memory_forget.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_session_ensureAInspect
One-call session bootstrap: recover the active session or open one.
Replaces the memory_state_get → memory_session_close →
memory_session_open → memory_state_set ritual. Reuses the session in
the conversation/active-session state pointer when it is still
open and owned by the caller; otherwise closes it (distilling) and
opens a fresh one, updating state. Returns {session_id, agent, resumed, soul, soul_linked}. When the bearer is linked to a human
account, soul is their private compressed identity block for this
org (may be empty string if not yet written).
| Name | Required | Description | Default |
|---|---|---|---|
| ttl | No | Session TTL in seconds (default from server config) | |
| repo | Yes | Workspace slug (absolute path with leading / removed and / replaced by -). Keys the conversation/active-session state pointer. | |
| user | No | Substantive user request for this turn. When set, appended as the user turn in the same call (replaces a separate memory_session_append). | |
| agent | No | Override agent identity | |
| fresh | No | Force rotation: close any stored session (queueing distillation) and open a new one. Pass true on the first turn of a new chat. | |
| topic | No | What this session is about (used when opening a new one) | |
| github | No | GitHub owner/repo; distilled memories inherit the tag |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It describes that the tool reuses the session in the conversation/active-session state pointer if still open and owned by the caller; otherwise closes it (distilling) and opens a fresh one, updating state. It also details the return structure and explains the 'soul' field, providing good transparency about side effects and state changes.
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 moderately compact but front-loads the key action and usage context well. Every sentence adds value, though it could be slightly more concise or structured. It includes example return format and special case explanation for 'soul' field, which is helpful but adds length.
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?
Given 7 parameters (complex but 100% schema coverage) and presence of an output schema, the description adds valuable behavioral context (e.g., session ownership and distillation) not in structured fields. It is complete enough for selecting and invoking the tool, though a bit more detail on failure modes would push to 5.
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 100%, so baseline is 3. The description adds beyond the schema by explaining that 'repo' keys the conversation/active-session state pointer, and that 'user' when set replaces a separate memory_session_append call. However, it doesn't elaborate on all parameters; incremental value over schema is moderate, warranting a 4.
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 starts with 'One-call session bootstrap: recover the active session or open one,' which clearly states the tool's verb (bootstrap, recover, open) and resource (session). It explicitly distinguishes itself from sibling tools like memory_session_get, memory_session_close, memory_session_open by noting it replaces a multi-step ritual, reducing ambiguity.
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?
The description provides explicit when-to-use and when-not-to-use guidance: it states that this tool replaces the 'memory_state_get → memory_session_close → memory_session_open → memory_state_set' ritual, implying it should be used instead of that sequence. It also specifies when to pass 'fresh: true' (on the first turn of a new chat), offering clear context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_session_getAInspect
Read session metadata and turns (debug, handoff, append failure recovery).
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | Session id from memory_session_open |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full transparency burden. It correctly indicates a read operation ('Read') and hints at typical turn types (debug, handoff, append failure recovery). However, it omits behavioral details such as idempotency, whether the session must be open, or what happens if the session_id is invalid. For a simple read, this is minimally sufficient but could disclose more.
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 a single, front-loaded sentence with a parenthetical for extra context. Every word earns its place; there is no redundancy or fluff. Ideal for quick parsing by an AI agent.
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?
The tool is simple (one parameter, no enums, output schema exists). The description covers the core action and even illustrates typical turn types. While it could clarify the exact structure of the output, the presence of an output schema mitigates this gap. The description is reasonably complete for the tool's complexity level.
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 100% (the single parameter session_id is documented as 'Session id from memory_session_open'). The description adds no new information about the parameter beyond what the schema already provides. Baseline of 3 is appropriate per guidelines.
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 clearly states 'Read session metadata and turns', specifying a concrete verb (read) and resource (session metadata and turns). This distinguishes it from sibling write-oriented tools like memory_session_append or memory_session_close, leaving no ambiguity about its retrieval purpose.
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?
The description provides no explicit guidance on when to use this tool versus alternatives such as memory_session_open (returns session id), memory_recall (searches episodes), or context_retrieve. The parenthetical hints at debug/recovery use cases but does not clarify when to prefer this over other read tools. The agent is left to infer selection logic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_session_openCInspect
Open a working-memory session and return a session_id.
| Name | Required | Description | Default |
|---|---|---|---|
| ttl | No | Session TTL in seconds (default from server config) | |
| repo | No | Workspace slug of the repo this session is about. Memories distilled from the session inherit a 'repo:<slug>' tag so they stay scoped to this workspace. | |
| agent | No | Override agent identity | |
| topic | No | What this session is about (free text) | |
| github | No | GitHub repository as owner/repo. Distilled memories inherit a 'github:<owner>/<repo>' tag. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose any behavioral traits beyond the basic action. With no annotations provided, the burden is on the description to cover aspects like idempotency, side effects, authentication needs, or whether opening creates a new session or retrieves an existing one. None of this is addressed.
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 a single, front-loaded sentence with no wasted words. It efficiently communicates the core action and return value.
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?
Despite having 5 optional parameters and a complex set of sibling tools, the description is remarkably sparse. It omits explanation of what a working-memory session is, how TTL affects it, or what the returned session_id is used for. The presence of an output schema is not leveraged in the description.
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 100%, so the input schema already documents all 5 parameters. The tool description adds no additional semantic value or usage context for any parameter, keeping the score at the baseline of 3.
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 clearly states the tool opens a working-memory session and returns a session_id. The verb 'Open' and resource 'working-memory session' are specific. However, it does not distinguish this from sibling tools like memory_session_ensure or memory_session_get, which could overlap in purpose.
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?
No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use it, or how it differs from other memory session tools. The user is left to infer the context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_skill_getBInspect
Fetch a stored skill by name (and optionally version).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Skill name | |
| version | No | Specific version (default: latest active) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose whether the tool is read-only, if it requires authentication, or how it behaves on error (e.g., missing skill). The word 'Fetch' implies a read operation, but it is not explicit.
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 a single, concise sentence that earns its place. It is front-loaded with the key action and resource. However, it could be slightly more informative without losing conciseness (e.g., noting read-only or error behavior).
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?
Given the lack of annotations and the presence of a detailed output schema, the description is too minimal. It does not explain edge cases (e.g., missing skill, invalid version), the meaning of 'latest active', or how this tool differs from other memory skill tools. The agent would need additional context to use it reliably.
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 coverage is 100% with clear parameter descriptions. The description adds no additional meaning beyond summarizing the schema ('Fetch by name and optionally version'). It does not explain what constitutes a 'skill' or the behavior of 'latest active'.
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 clearly states the action ('Fetch'), the resource ('a stored skill'), and the parameter ('by name (and optionally version)'). This is specific and distinguishes it from sibling tools like memory_skills_list (list all) or memory_skill_set (create/update).
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?
No guidance is provided on when to use this tool versus alternatives (e.g., memory_skill_resolve, memory_skills_list). The description does not mention when to use the version parameter or what happens if the skill is not found. Usage context is entirely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_skill_resolveAInspect
Resolve a playbook's tool_recipe.skills refs to full skill records.
| Name | Required | Description | Default |
|---|---|---|---|
| playbook_name | Yes | Playbook whose skills to resolve | |
| playbook_version | No | Pin playbook version (default latest) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the behavioral disclosure burden. It clearly states the tool resolves references (input) to full records (output), implying a transformation/lookup behavior without destruction. It does not disclose error behavior (e.g., missing skill refs) or side effects, but for a resolution task it is reasonably transparent.
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 a single, front-loaded sentence that efficiently states the purpose. It wastes no words. However, it uses backticks for internal references (e.g., 'tool_recipe.skills'), which may be slightly less readable for an AI agent, but is technically precise. Overall, it earns its place without bloat.
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?
Despite the tool having an output schema (which reduces the need to explain return values), the description is succinct but complete for a resolution tool with two simple parameters. It covers the 'what' and implies the 'why' in a playbook context. It lacks mention of edge cases (e.g., unresolvable skills), but for a utility tool with an output schema, it is sufficiently complete.
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 100%, so the schema already documents both parameters adequately. The description adds no additional parameter semantics beyond the schema, but given the high coverage baseline of 3, maintaining a 4 is appropriate as the parameter names and schema descriptions are self-sufficient. However, adding context like default version behavior could elevate it.
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 uses the specific verb 'Resolve' and the resource 'playbook tool_recipe.skills refs to full skill records'. It clearly distinguishes the action from siblings like memory_skill_get or memory_skills_list, but could be more precise by stating the output is a transformed playbook. Overall, it clearly communicates the core function.
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?
The description implies usage context as part of playbook resolution, but provides no explicit guidance on when to use this tool versus alternatives like memory_playbook_get or memory_skill_get. It lacks when-not-to-use or prerequisite information. It meets minimum viability for a focused utility tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_skill_setAInspect
Insert a new version of a skill. Each call creates a new version.
Skills are atomic instruction building blocks. Playbooks compose them via
tool_recipe.skills on memory_procedure_set. Routed through the
guarded ingestion pipeline; only active skills are visible to recall
and memory_skill_get.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Skill name (stable id) | |
| tags | No | Tags for discovery | |
| agent | No | Override agent identity | |
| body_md | Yes | Markdown body the agent will read | |
| tool_hints | No | Optional structured hints (preferred MCP tools, params) | |
| description | No | One-line summary |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It notes that each call creates a new version and mentions a 'guarded ingestion pipeline' and visibility rules. However, it does not specify side effects (e.g., whether old versions are retained or overwritten), idempotency, or permissions needed, leaving some ambiguity.
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 concise with four sentences, each adding value: purpose, versioning emphasis, skill definition and usage, and pipeline visibility. It is front-loaded with the main action and contains no redundant or wasted words.
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?
Given the tool's complexity (6 parameters, output schema exists, many siblings), the description provides a good conceptual overview but omits details about the output schema, versioning behavior, and how 'active' status is determined. It is adequate but not fully comprehensive.
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 100%, so the baseline is 3. The description adds context by explaining that skills are atomic building blocks and that each call creates a new version, which helps interpret the 'name' and 'body_md' parameters. However, it does not provide additional meaning beyond the schema descriptions.
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 clearly states the tool's purpose: 'Insert a new version of a skill. Each call creates a new version.' It distinguishes this from siblings like memory_skill_get (retrieve), memory_skills_list (list), and memory_forget_skill (delete) by emphasizing version creation and the concept of atomic instruction building blocks.
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?
The description does not explicitly specify when to use this tool versus alternatives. It mentions that skills are composed via playbooks and that only active skills are visible, but it lacks guidance on prerequisites, conditions for use, or when to avoid it. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_skills_listBInspect
List all skills (latest version of each) in the caller's org.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Filter by tag | |
| limit | No | ||
| offset | No | Pagination offset | |
| include_body | No | Include full body_md and tool_hints |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits (e.g., safety, idempotency, authorization). It only states 'list,' which implies a read operation but does not confirm safety, side effects, or any constraints like rate limits or organizational scope beyond the minimal phrasing. The agent lacks critical 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 a single sentence of 12 words, efficiently conveying the core purpose. It is front-loaded with the verb and object, with zero superfluous content. Every word earns its place.
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?
Despite an output schema existing, the description is too sparse. It does not explain what the returned skills look like (even though the output schema would cover that), nor does it contextualize filtering by tag, pagination, or the optional include_body flag. For a tool with 4 parameters and sibling tools, the description lacks sufficient information for an agent to use it effectively without consulting the schema.
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 75% (3 of 4 parameters have descriptions), so the baseline is 3. The tool description adds no additional explanation for parameters (tag, limit, offset, include_body) beyond what is already in the schema. No enrichment is provided, so the score remains at baseline.
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 clearly states it lists all skills (latest version) within the caller's org. The verb 'list' and resource 'skills' are specific, and the parenthetical '(latest version of each)' distinguishes this from potential versioned listing tools, setting clear scope among sibling tools.
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?
The description provides no guidance on when to use this tool versus alternatives like memory_skill_get or memory_skill_resolve. There is no explicit or implicit comparison, nor any indication of prerequisites or limitations. The agent is left to infer usage context solely from the tool's name and purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_soul_getAInspect
Return this person's private soul for the current org.
The soul is a tiny compressed identity block (who they are, style,
likes/dislikes, dos/don'ts). Empty when none yet or the API key is not
linked to a human account (mint keys from the console while signed in).
Also returned on memory_session_ensure as soul.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full transparency burden. It discloses that the response may be empty when no soul exists or when the API key is not linked to a human account, which is useful. However, it does not discuss any side effects, authorization details (beyond the key link), or rate limits. The core behavior (read-only retrieval) is implied but not explicitly stated.
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 three sentences, front-loads the primary action, and avoids any filler. Every sentence adds value: defining the tool's purpose, explaining the soul's nature, and documenting edge-case emptiness. It is appropriately sized for a parameterless tool.
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?
The tool is simple, has no parameters, and an output schema exists. The description explains the core return value, edge cases (empty soul), and a related tool (memory_session_ensure). It does not clarify why one would pick this tool over memory_session_ensure for soul retrieval, but overall coverage is sufficient for basic use.
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?
The tool has zero parameters, and the input schema is fully covered (100%). Per the guidelines, this yields a baseline of 4. The description correctly does not add parameter detail because none exist.
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 clearly states the tool returns the private soul for the current org and explains what the soul is. The verb 'Return' and resource 'soul' are specific. However, it does not explicitly differentiate from sibling tools like memory_recall or memory_session_ensure, though the name and context make retrieval unambiguous.
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?
The description notes that the soul is also returned in memory_session_ensure, but provides no guidance on when to use this tool versus alternatives. No 'when-to-use' or 'when-not-to-use' statements are present, leaving the agent to infer usage from the tool's name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_soul_setAInspect
Replace this person's private soul for the current org.
Prefer compact structured markdown. Preferences written via
memory_remember(kind=preference) also absorb into the soul.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent attribution label | |
| body_md | Yes | Compressed soul markdown (identity, role, style, likes, dislikes, dos/don'ts, patterns). Keep short; server caps length. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully disclose behavioral traits. It states 'replace' implying a destructive overwrite, but does not detail side effects (e.g., whether the previous soul is permanently lost, if permissions are required, or if there are rate limits). The note about absorption from memory_remember adds some context, but the description is too sparse to give the agent a complete picture of the tool's behavior.
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 two sentences with no wasted words. The first sentence immediately states the core purpose, and the second sentence adds relevant guidance. It is front-loaded and efficient, earning its place.
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 tool that replaces a person's soul (a critical operation), the description is adequate but incomplete. It covers the basic action and the relationship with memory_remember, but does not explain whether the replacement is a full overwrite, how the absorption mechanism works, or what happens to existing data. The presence of an output schema mitigates the need to describe return values, but behavioral completeness is still lacking.
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 coverage is 100% with both parameters already described in the schema (body_md as 'Compressed soul markdown' and agent as 'Override agent attribution label'). The description adds marginal value: it recommends 'compact structured markdown' and notes that memory_remember preferences absorb into the soul. This provides formatting guidance and a cross-tool hint, but does not significantly enhance the semantic understanding beyond what the schema already offers.
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 clearly states the tool's purpose: 'Replace this person's private soul for the current org.' The verb 'replace' combined with the resource 'soul' and scope 'current org' makes the action unambiguous. It differentiates from sibling tools like memory_soul_get (retrieval) and memory_remember (which absorbs preferences) by implying a full replacement operation.
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?
The description mentions that preferences written via memory_remember(kind=preference) also absorb into the soul, hinting at a relationship between the two tools. However, it does not explicitly state when to use this tool versus alternatives (e.g., for bulk replacement vs. incremental updates). No explicit usage context or exclusion criteria are provided, leaving the agent to infer the appropriate scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_state_getBInspect
Fetch JSON state scoped to the caller's org, bearer token, and repo.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Opaque state key, e.g. continual-learning/index | |
| repo | Yes | Workspace slug (absolute path with leading / removed and / replaced by -) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must fully disclose behavioral traits. It states it is a fetch (read) operation scoped to caller context, but does not mention behavior on missing keys, error handling, idempotency, or authentication requirements beyond the implicit scoping. The output schema may cover return format, but the description adds no behavioral details.
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 a single 13-word sentence that is front-loaded with the verb and resource. Every word earns its place; there is no redundancy or fluff.
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?
Given the simplicity of the tool (2 parameters, output schema exists), the description is minimally adequate. However, it lacks context about the state system, how it relates to other memory tools, and what the JSON state represents. For a tool with many siblings, more context would be beneficial.
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 100%, so parameters are already documented. The description reinforces the 'repo' parameter's role in scoping but adds no new semantic information beyond what is in the schema. Baseline 3 is appropriate.
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 clearly states the verb 'Fetch' and the resource 'JSON state', and specifies scoping to org, bearer token, and repo. It is specific enough to distinguish from siblings like 'memory_recall' or 'memory_entity_view' by name and context, but does not explicitly differentiate from similar tools.
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?
No guidance is provided on when to use this tool versus alternatives such as 'memory_state_set', 'memory_recall', or other memory tools. The agent receives no information about prerequisites, trade-offs, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_state_setAInspect
Persist JSON state scoped to the caller's org, bearer token, and repo.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Opaque state key | |
| repo | Yes | Workspace slug | |
| value | Yes | JSON object to store |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explicitly names the scoping dimensions (org, bearer token, repo), which is behavioral context beyond what the schema specifies. However, it doesn't mention persistence guarantees, overwrite behavior, or whether this is a write-only operation.
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?
A single, front-loaded sentence that conveys the core purpose and key constraints with zero waste. Every part is essential.
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?
Given the tool has an output schema (not shown but present), the description needn't explain return values. It covers purpose and scoping well. However, for a state-persistence primitive, some guidance on idempotency or overwrite semantics would be useful.
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 coverage is 100%, so the baseline is 3. The description adds value by clarifying the scoping (org, bearer token, repo) that applies to the repo parameter and the state as a whole, complementing the schema's static descriptions.
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 states 'Persist JSON state,' which is a specific verb and resource (memory state). It distinguishes itself from siblings by scoping the state to the caller's org, bearer token, and repo, which is unique among memory_ tools.
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?
The description implies the tool is for persisting session-scoped state, but it provides no guidance on when to use this versus alternatives like memory_state_get, memory_remember, or other memory tools. No exclusions or alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_strategic_entity_getAInspect
Fetch one strategic entity by type and id.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_id | Yes | Entity UUID | |
| entity_type | Yes | objective, key_result, initiative, plan, or statement |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states it fetches one entity, which is straightforward, but it doesn't disclose whether the tool is read-only, if it has side effects, or what happens if the entity doesn't exist. For a simple fetch, this is adequate but not thorough.
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 a single, clear sentence with no wasted words. It front-loads the key action ('Fetch') and includes the essential filters ('by type and id'). Every word earns its place.
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?
Given the tool has only 2 parameters, full schema coverage, and an output schema, the description is fairly complete for a simple fetch operation. It doesn't need to explain return values since the output schema exists. However, it could be slightly more complete by mentioning that it returns a single entity object.
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 100%, so both parameters are already fully documented in the input schema. The description does not add any additional meaning beyond what the schema provides. Following the guideline for high coverage, a baseline of 3 is appropriate.
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 clearly states the action ('Fetch') and the resource ('one strategic entity') with the required filters ('by type and id'). It effectively distinguishes this tool from siblings like memory_strategic_plan_get and memory_strategic_statement_get by clarifying it operates on multiple entity types, not just one.
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?
The description implies usage when you need a single strategic entity by type and ID, but it provides no explicit guidance on when not to use it (e.g., for listing all plans, use memory_strategic_plan_list) or what alternatives exist (e.g., memory_entity_view for broader entity lookup). Sibling tools offer many retrieval options, but the description doesn't help differentiate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_strategic_initiative_setDInspect
Propose a strategic initiative.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent identity | |
| title | Yes | Initiative title | |
| plan_id | Yes | Parent plan UUID | |
| objective_id | No | Aligned objective UUID | |
| key_result_id | No | Aligned key result UUID | |
| description_md | No | Optional description |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not disclose idempotency, error behavior, side effects, or authorization requirements. The single phrase 'Propose a strategic initiative' gives no insight into what the tool actually does.
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?
While the description is extremely short (one sentence), it is under-specified rather than concise. It sacrifices clarity for brevity, providing insufficient information for an agent to use the tool correctly.
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?
With 6 parameters, an output schema, and no annotations, the description is completely inadequate. It does not explain the tool's relationship to plans, objectives, or key results, nor does it describe the output or any behavioral constraints. The agent cannot infer correct usage from this alone.
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 100%, so the input schema already documents all parameters. The description adds no additional meaning beyond the schema. Baseline is 3 per the rubric, as the schema does the heavy lifting.
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 'Propose a strategic initiative' is vague. It does not specify whether the tool creates, updates, or simply suggests an initiative. It also fails to distinguish itself from sibling tools like 'memory_strategic_objective_set' or 'memory_strategic_key_result_set', which have similar naming patterns.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when not to use it. The description is entirely silent on usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_strategic_key_result_setCInspect
Propose a key result under an objective.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent identity | |
| title | Yes | Key result title | |
| metric_unit | No | Unit, e.g. % | |
| objective_id | Yes | Parent objective UUID | |
| track_status | No | on_track, at_risk, off_track, or done | on_track |
| metric_target | No | Target value | |
| description_md | No | Optional description | |
| metric_current | No | Current value |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It uses the ambiguous term 'propose' without clarifying whether this creates, updates, or suggests a key result. No information about permissions, idempotency, side effects, or return behavior is given, even though an output schema exists.
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 extremely concise at 6 words, which saves space but sacrifices critical context. It is front-loaded with the core action, but lacks the detail needed for an agent to understand the tool's role within the strategic ecosystem. A few more sentences would improve utility without harming conciseness.
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?
Given the tool's 8 parameters, existence of an output schema, and many sibling tools in the strategic memory family, the description is too sparse. It does not explain the hierarchy (plan > objective > key result), the meaning of 'propose' vs. 'set', or how the tool fits with memory_strategic_plan_set, memory_strategic_objective_set, etc. This leaves the agent with insufficient context for correct invocation.
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 100%, so the baseline is 3. The description adds no parameter-level information beyond the schema, but the schema itself adequately documents each parameter. No extra semantic value is provided.
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 clearly states the verb 'propose' and the resource 'key result' with context 'under an objective'. It distinguishes the tool's function from broader strategic tools like memory_strategic_objective_set, but does not explicitly differentiate it from memory_strategic_initiative_set or other child tools, missing a 5.
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?
The description provides no guidance on when to use this tool versus siblings, no prerequisites (e.g., needing an existing objective), and no exclusions. It only implies usage by stating 'under an objective', but fails to clarify typical workflows or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_strategic_objective_setAInspect
Propose an objective under a plan.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent identity | |
| title | Yes | Objective title | |
| plan_id | Yes | Parent plan UUID | |
| owner_id | No | Owner UUID | |
| owner_type | No | user or agent | |
| sort_order | No | Display order | |
| description_md | No | Optional description |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states 'Propose' but doesn't clarify if this creates, suggests, or drafts, nor does it disclose side effects (e.g., whether it auto-links to plans or overrides existing objectives). With zero annotations, the description should offer more behavioral detail.
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 a single sentence, front-loading the action and resource. It contains zero wasted words and is immediately clear.
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?
Given the complexity (7 parameters, 2 required, output schema present), the description is minimally viable. It doesn't explain return values (though output schema exists) or behavior around optional fields like 'sort_order' or 'owner_type'. It lacks completeness for a tool that modifies strategic data.
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 100%, so the schema does most of the work. The description adds no additional meaning beyond the parameter names and schema descriptions, saving only that the objective is 'under a plan'. Baseline 3 is appropriate.
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 uses a verb ('Propose') and a resource ('an objective under a plan'), clearly identifying the action and scope. It distinguishes itself from siblings like 'memory_strategic_plan_set' and 'memory_strategic_key_result_set' by focusing on objectives nested under plans.
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?
The description implies usage context (when creating objectives within a plan) but provides no explicit when-to-use, when-not-to-use, or alternative guidance. Among the strategic tools, this stands out implicitly but lacks direct exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_strategic_plan_getBInspect
Fetch one strategic plan, optionally with the full OKR tree.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | Yes | Plan UUID | |
| include_tree | No | Include objectives, key results, initiatives |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description alone must disclose behavioral traits. It correctly signals a read operation (e.g., 'Fetch'), but does not mention whether authentication or specific permissions are required, what happens when the plan_id is not found, or any restrictions on the optional include_tree parameter (e.g., performance impact for large trees).
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 a single, compact sentence with no filler or redundancy. It front-loads the primary purpose and adds the optional detail concisely.
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?
Given the tool is simple (2 params, 1 required, output schema present), the description is reasonably complete about what the tool does. However, the lack of usage guidance and behavioral transparency (especially with no annotations) makes it fall short of a 4. The presence of an output schema partially compensates for missing return value details.
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 coverage is 100%, so the baseline is 3. The description adds value by explaining the effect of include_tree ('objectives, key results, initiatives'), which elaborates on the schema's terse 'Include objectives, key results, initiatives'. This moves it above baseline.
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 clearly states the tool fetches one strategic plan with an optional detailed OKR tree. It includes a specific verb ('Fetch'), a clear resource ('strategic plan'), and an optional scope ('full OKR tree'). It is broadly distinguishable from siblings like memory_strategic_plan_list or memory_strategic_plan_set, but does not explicitly differentiate itself from them.
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?
No guidance is given on when to use this tool versus alternatives such as memory_strategic_plan_list (to list plans) or memory_strategic_entity_get (if only a specific entity is needed). No context about prerequisites or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_strategic_plan_listCInspect
List OKR cycles (strategic plans) for the org.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| active_only | No | Only active plans |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states 'List OKR cycles' without indicating whether the operation is read-only, whether pagination applies, what permissions are needed, or the format of returned data. The limit parameter hints at pagination but is not explained, and the return value (output schema exists) is not described.
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 a single sentence with no filler, which is concise. However, it is so brief that it omits useful context; it earns high marks for brevity but could expand slightly to improve completeness without becoming verbose.
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?
Given the existence of many sibling tools (e.g., memory_strategic_plan_get, memory_strategic_plan_set) and the presence of an output schema (not described), the description is incomplete. It does not specify what kind of data is returned (summaries, IDs, full plans), how pagination via limit works, or how active_only affects results. This leaves the agent without enough context to reliably invoke the tool.
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 coverage is 50% (active_only has a description in schema, limit does not). The tool description adds no parameter information at all—no mention of limit or active_only. For the undocumented limit parameter, both schema and description are silent. Thus the description fails to add meaning beyond the schema for either parameter.
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 uses a specific verb 'List' and identifies the resource as 'OKR cycles (strategic plans)' with scope 'for the org', making the purpose clear. It distinguishes from sibling tools like memory_strategic_plan_get (single fetch) by its listing nature, but does not explicitly call out alternatives, leaving slight ambiguity.
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?
No guidance is provided on when to use this tool versus closely related siblings such as memory_strategic_plan_get, memory_recall, or memory_strategic_entity_get. There is no mention of prerequisites, filters, or scenarios where this tool is preferred, so the agent must rely entirely on the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_strategic_plan_setCInspect
Propose a new OKR cycle.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Cycle name, e.g. 2026 Q2 | |
| agent | No | Override agent identity | |
| period_end | Yes | Inclusive end date | |
| period_start | Yes | Inclusive start date |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. The word 'Propose' is ambiguous—does it create, update, or require approval? No side effects, permissions, or mutation details are mentioned, making this severely lacking.
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 a single sentence, achieving high conciseness. However, it could be structured to include usage hints or behavioral notes without adding length. It is not excessively long, but the trade-off is loss of critical information.
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?
The description is incomplete for the tool's context: it lacks usage guidelines, behavioral transparency, and any mention of output (despite an output schema existing). For a strategic planning tool, more context about the OKR cycle lifecycle is expected.
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 100%, so parameters are well-documented. The description adds 'OKR cycle' context but does not enhance understanding of parameter meaning beyond the schema. Baseline score of 3 is appropriate.
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 'Propose a new OKR cycle' clearly identifies the verb (propose) and resource (OKR cycle), setting it apart from listing or getting plans. However, it does not explicitly distinguish from sibling tools like memory_strategic_objective_set or memory_strategic_initiative_set, which could cause confusion about when to use this tool.
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?
No guidance is provided on when to use this tool versus alternatives (e.g., setting objectives or key results). There is no mention of prerequisites, order of operations, or restrictions, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_strategic_statement_getBInspect
Fetch the active org statement for vision, mission, or purpose.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | vision, mission, or purpose |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full burden of behavioral disclosure. It states the tool fetches the 'active' statement, implying a read-only operation, but does not detail what 'active' means, how the result is returned (plain text vs. structured), or any limitations (e.g., caching, read-only guarantees). Without annotations, a score of 3 is reasonable—it provides minimal behavioral context but misses opportunities for richer disclosure.
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 a single, concise sentence that front-loads the action and resource. Every word is necessary, and there is no redundant information. This is an example of efficient writing.
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?
Given the tool has a single parameter with full schema coverage, no annotations, and an output schema exists (though not detailed here), the description is somewhat incomplete. It does not explain what 'active' means, whether multiple statements can exist, or what the return format looks like. The context signals indicate a simple tool, but for a read operation, the absence of behavioral guidance reduces completeness to a 3.
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 100%, meaning the schema already documents the single parameter 'kind' with an enum and description. The description restates the enum values ('vision, mission, or purpose') but doesn't add new semantics beyond that. Baseline 3 is appropriate since the schema handles the coverage fully.
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 uses specific verbs ('Fetch') and a clear resource ('active org statement for vision, mission, or purpose'). It distinguishes itself from sibling tools like 'memory_strategic_entity_get' by focusing on the statement, not entities. However, the phrase 'org statement' could be slightly ambiguous without additional context.
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?
The description does not provide when or when not to use this tool vs. alternatives. It mentions 'active org statement' but lacks guidance on what happens if no active statement exists or when to use sibling tools like 'memory_strategic_plan_get' or 'memory_strategic_statement_set'. No exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_strategic_statement_setBInspect
Propose a new version of vision, mission, or purpose.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | vision, mission, or purpose | |
| agent | No | Override agent identity | |
| content_md | Yes | Markdown body |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It correctly indicates this is a mutation tool (propose/update). However, it doesn't disclose behavioral details like whether the proposal replaces or creates a new version, whether previous versions are archived, or what permissions are needed. It provides basic transparency but lacks depth.
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 concise at one line with front-loaded key action 'Propose a new version of'. It is efficient and avoids fluff. However, it could also mention the specific strategic elements (vision, mission, purpose) in the description itself for immediate clarity.
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?
With an output schema present, the description need not explain return values. The tool has 3 parameters (2 required) and the description adequately captures the main purpose. However, given the complexity of strategic statement management (relation to plans, versioning behavior), the description could be more complete for a non-trivial tool without annotations.
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 coverage is 100% and each parameter has a clear description in the schema. The tool description does not add any additional meaning beyond what the schema provides for the parameters. It does not explain how 'agent' override works or what format 'content_md' expects. Baseline 3 is appropriate when schema already documents all parameters but description adds no value.
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 clearly states the tool proposes a new version of vision, mission, or purpose. It uses a specific verb ('propose') and a clear resource type ('strategic statement'). It distinguishes itself from siblings like memory_strategic_objective_set and memory_strategic_key_result_set which target different strategic elements.
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?
The description implies usage when the agent needs to update an organization's vision, mission, or purpose. However, it does not explicitly state when not to use it or mention alternatives among the 50+ sibling tools. No context on prerequisites or relationship to related tools like memory_strategic_plan_set is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_thinkAInspect
Synthesized answer with citations and gap analysis (GBrain think parity).
Runs durable recall (default scope excludes working), then composes a
cited prose answer plus explicit gaps. For named-entity or competitor
questions, call memory_recall with a short keyword anchor first —
synthesis quality depends on retrieval. Prefer memory_think when
you need prose + gaps after recall surfaced hits, or for open strategic
questions.
| Name | Required | Description | Default |
|---|---|---|---|
| k | No | Max source records to retrieve before synthesis | |
| repo | No | Workspace slug; boosts repo-scoped memories in retrieval | |
| query | Yes | Question to answer from team memory | |
| github | No | GitHub owner/repo; boosts github-tagged memories | |
| token_budget | No | Approx token budget for source packing |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It reveals that the tool runs 'durable recall (default scope excludes working)' and that synthesis quality depends on retrieval. However, it does not explicitly state whether the tool is read-only or modifies memory, nor does it elaborate on the 'working' scope or error behaviors. These gaps lower transparency from an ideal state.
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 three sentences: the first states purpose, the second explains process, and the third gives usage guidance. Every sentence earns its place with no fluff. It is front-loaded with the verb and resource.
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?
Given the presence of an output schema (not shown but noted), the description need not detail return values. It covers purpose, process (durable recall, synthesis), and usage guidance. It could mention edge cases (e.g., no results) or limitations, but overall it is sufficient for a tool of this complexity with 5 parameters and a known output structure.
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 100%, so the baseline is 3. The description adds context about retrieval dependency but does not provide additional meaning beyond the schema's own parameter descriptions (e.g., k, repo, github, token_budget). The tool description complements the schema but doesn't significantly enhance parameter understanding.
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 clearly states the tool produces a 'Synthesized answer with citations and gap analysis' from memory. It also distinguishes itself from sibling memory_recall by specifying when to use each, such as preferring memory_think for prose+gaps after retrieval hits or open strategic questions.
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?
The description provides explicit guidance: 'For named-entity or competitor questions, call memory_recall... Prefer memory_think when you need prose + gaps after recall surfaced hits, or for open strategic questions.' It also highlights the dependency on retrieval quality, aiding the agent in deciding when to invoke this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_tools_catalogBInspect
Discover teamshared MCP tools for the current turn.
Returns protocol (every-turn loop), chooser (need → tool),
never (hard constraints), and grouped tools with when /
avoid / copy-paste example. Pass need= when choosing a
tool mid-conversation. Also returns tool_recipe_shapes and
aliases (procedure_* → playbook_*).
| Name | Required | Description | Default |
|---|---|---|---|
| need | No | Conversation router: short intent (e.g. 'share a file', 'live slack', 'create a task'). Returns matching chooser rows plus those tools' when/avoid/example. Omit to browse. | |
| tier | No | Optional filter: core, extended, or human | |
| scope | No | memory, work, or all tool groups | all |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It describes what the tool returns but does not explicitly state that it is read-only, idempotent, or free of side effects. For a discovery tool, this is a significant gap in behavioral transparency.
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 concise (3 sentences) but uses jargon ('protocol', 'chooser', 'never', 'tool_recipe_shapes') without clear definitions. It is front-loaded but could be more accessible to an AI agent without additional context.
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?
Given the tool's complexity (returns structured catalog data) and the presence of an output schema, the description is adequate but incomplete. It lists some return categories but does not explain how to use the returned data for subsequent tool selection, nor does it provide an example invocation.
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 coverage is 100%, so baseline is 3. The description adds meaning beyond the schema by explaining the 'need' parameter as a 'conversation router' and how it relates to the return structure. It also clarifies the 'tier' and 'scope' filters in context, adding value.
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 clearly states the tool's purpose: 'Discover teamshared MCP tools for the current turn.' It specifies what it returns (protocol, chooser, never, grouped tools, etc.) and distinguishes it from siblings by being a meta-catalog tool rather than a specific memory operation.
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?
The description implies when to use the tool (e.g., 'Pass need= when choosing a tool mid-conversation') but does not explicitly state when not to use it or mention alternative tools. The guidance is present but incomplete, relying on inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
project_archiveCInspect
Archive or restore a project.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent identity | |
| archived | No | True to archive, False to restore | |
| project_id | Yes | Project UUID |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only states 'Archive or restore a project' without explaining side effects (e.g., visibility changes, impact on associated works), authorization needs, or whether the operation is reversible. The input schema fills part of the gap (archived flag) but the behavioral context is inadequate.
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 concise (one sentence) with no wasted words, but it is under-informative for a tool with three parameters and an output schema. It sacrifices completeness for brevity. Ideal conciseness includes essential context without verbosity; here it is too sparse.
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?
Given the tool's complexity (archive/restore with potential implications) and the presence of an output schema (not shown), the description fails to explain return values, confirmation behavior, or consequences. It leaves significant gaps in understanding what happens when the tool is invoked.
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 coverage is 100%, so baseline is 3. The description does not add meaning beyond what the schema already provides. The schema already explains agent, archived, and project_id. The description's phrase 'Archive or restore' aligns with the archived field but adds no additional semantics or usage nuances.
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 clearly states the action ('Archive or restore') and the resource ('a project'). It effectively conveys the dual functionality. However, it does not specify what archiving means in the project context (e.g., hiding, deactivating) nor explicitly distinguishes it from siblings like project_update or file_archive, which slightly weakens clarity.
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?
No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives such as project_update, project_status_post, or file_archive. There is no mention of prerequisites, restrictions, or appropriate scenarios, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
project_createBInspect
Create a project (Asana-style task container).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Project name | |
| agent | No | Override agent identity | |
| color | No | Optional color label | |
| team_id | No | Owning team UUID | |
| owner_email | No | Owner member email | |
| default_view | No | list, board, timeline, or calendar | list |
| initiative_id | No | Strategic initiative UUID for roll-up | |
| description_md | No | Optional markdown body |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden of disclosing behavioral traits. It only states that a project is created, with no mention of return values, side effects, permissions, or what happens upon success/failure. This is insufficient for a mutation tool.
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 a single sentence with no wasted words. It is front-loaded with the essential action. However, it could be slightly expanded to include a brief note about return value without losing conciseness.
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?
Given the tool has 8 parameters and an output schema, the description is too minimal. It does not explain what the tool returns, how to interpret the output, or any constraints (e.g., required fields beyond name). The agent is left to infer from the schema alone.
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 100%, so the schema already documents each parameter. The description adds no additional meaning beyond the schema, such as parameter relationships or usage hints. Baseline 3 is appropriate.
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 clearly states the action ('Create') and the resource ('project'), with a clarifying parenthetical ('Asana-style task container') that distinguishes it from sibling tools like project_update or project_archive. The verb+resource combination is specific and unambiguous.
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?
No guidance is provided on when to use this tool versus alternatives. Among many sibling project tools (e.g., project_update, project_archive), there is no mention of context, prerequisites, or exclusions. An agent must infer solely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
project_getAInspect
Fetch a project with its sections, latest status, and optionally its tasks.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project UUID | |
| include_items | No | Include the project's tasks (board view) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It describes what data is returned but does not disclose behavioral traits such as being read-only, permission requirements, or idempotency. For a read operation, stating it is non-destructive is important context missing here.
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?
A single sentence of 12 words that immediately states the verb and resource, then lists included data. No filler or redundant phrasing. Well front-loaded.
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?
Given the presence of an output schema (documenting return values) and full parameter documentation, the description succinctly covers what the tool fetches. It could slightly benefit from a note on the purpose of latest status, but overall it is adequate for a simple retrieval tool.
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?
Input schema coverage is 100% with clear descriptions for both parameters. The tool's description merely reiterates the optional tasks inclusion ('optionally its tasks'), adding no new meaning beyond the schema. Baseline 3 is appropriate.
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 uses a specific verb 'Fetch' and clearly identifies the resource 'a project' with its associated data (sections, latest status, tasks). This distinguishes it from sibling tools like project_list (which likely returns only metadata) and project_section_list (which returns sections separately).
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?
While the description implies the tool is for retrieving a detailed project view, it does not explicitly state when to use it versus siblings (e.g., project_list for a summary, project_section_list for sections only). No alternative tools or exclusion criteria are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
project_listBInspect
List projects in the org.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| team_id | No | Filter by team UUID | |
| initiative_id | No | Filter by initiative UUID | |
| include_archived | No | Include archived projects |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It states the tool lists projects, which implies reading data (non-destructive), but does not disclose whether archives are included by default (though the schema's include_archived param hints at this), rate limits, or pagination behavior. The description is minimally transparent.
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 extremely concise at 4 words, which is efficient. It front-loads the purpose. However, it could be considered under-informative given the number of parameters and lack of guidance, so it earns its place but barely. Score slightly reduced for not leveraging the space to add more context.
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?
The tool has 4 parameters with 75% schema coverage, no annotations, and an output schema. The description is minimal but combined with the schema provides adequate understanding for basic usage. However, it lacks information on sorting, pagination, output format (though output schema exists), and when to use filters. It is complete enough for a straightforward list tool but leaves gaps for nuanced use.
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 75% (3 parameters described), which is high. The description does not add any extra meaning beyond what the schema already provides for the parameters (e.g., filters for team_id, initiative_id, include_archived, and limit). The description itself adds zero param semantics; it relies entirely on the schema. Baseline 3 is appropriate.
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 'List projects in the org' clearly states the verb (list) and resource (projects) and scopes it to the organization level. It distinguishes this tool from sibling tools like project_create, project_get, project_archive, project_update, which have different purposes, but does not explicitly differentiate it from project_list itself (no ambiguity).
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?
The description provides no guidance on when to use this tool versus alternatives, no mention of prerequisites (e.g., authentication, org-scope), and no hints about when not to use it. Given the sibling tools include project_get for individual projects and project_archive for archiving, the lack of usage context reduces clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
project_section_addCInspect
Add an ordered section to a project.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Section name (list group / board column) | |
| agent | No | Override agent identity | |
| project_id | Yes | Project UUID |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. The description does not disclose side effects (e.g., whether adding a section reorders existing ones, requires project to be in a certain state, or is destructive to other sections). It also does not mention authentication needs or idempotency.
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 a single, concise sentence that front-loads the core action and resource. It is efficient with no wasted words. While it could benefit from a bit more context, it is not verbose.
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?
Given that there is no output schema documented, the output of this tool is unknown (e.g., success confirmation, section UUID). The tool has only 3 parameters with full schema coverage, so the input is clear, but the lack of behavioral or return-value information makes it incomplete for an agent to confidently invoke and interpret the result.
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 100%, so the input schema already documents all three parameters well. The description adds no additional semantic meaning beyond what the schema provides (e.g., it doesn't explain that name corresponds to a list group or board column context, which is partially in the schema itself). Baseline 3 is appropriate since the schema is comprehensive.
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 clearly states the action ('Add') and the resource ('an ordered section to a project'). It distinguishes the tool from siblings like project_section_list by specifying the addition operation. However, it does not explicitly differentiate from other creation tools like project_create, but the scope is narrow enough.
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?
No guidance is provided on when to use this tool versus alternatives (e.g., when to use project_section_add vs work_add_to_project vs project_create). There are no prerequisites, order constraints, or exclusion criteria mentioned. The agent must infer usage solely from the purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
project_section_listBInspect
List a project's sections in order.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project UUID |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states 'list a project's sections in order' without mentioning error handling, authentication requirements, or whether the list is paginated. For a read operation, basic safety is implied but not asserted.
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 a single, front-loaded sentence of six words with no unnecessary detail. Every word earns its place, making it exceptionally concise and easy to parse.
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?
Given the tool's simplicity (one parameter, output schema exists), the description is largely complete. It explains the action and ordering. The output schema covers return values, so the description does not need to elaborate. Minor gap: no mention of scope (e.g., all sections or only top-level?) but 'list' typically implies all.
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 100% (the single 'project_id' parameter is described as 'Project UUID'). The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate—it neither clarifies nor confuses the parameter.
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 uses a specific verb ('List') and resource ('project's sections') with a qualifier ('in order'), clearly distinguishing it from sibling tools like 'project_list' (list projects) and 'project_section_add' (add section).
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?
No explicit guidance on when to use this tool versus alternatives (e.g., when to list sections vs. add or get a project). The description only states what it does, leaving the agent to infer usage context without any exclusionary or comparative advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
project_status_postBInspect
Post a project status update (on-track / at-risk / off-track banner).
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent identity | |
| status | No | Alias for state_label | |
| body_md | No | Status note (markdown ok) | |
| project_id | Yes | Project UUID | |
| state_label | No | on_track, at_risk, or off_track |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the basic action without disclosing whether the update overwrites or appends, whether it triggers notifications, or any permission requirements. The behavior is under-specified for a mutation tool.
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 a single sentence of 10 words, highly concise and front-loaded. No unnecessary words or information.
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?
Given the existence of an output schema, the description is not required to explain return values. However, for a tool with 5 parameters and a mutation action, the description lacks context about parameter interactions and the effect of the update. It is adequate but could be more complete.
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?
The schema already has 100% coverage with descriptions for all parameters. The description adds minimal value beyond the schema, only repeating the enum values. It does not explain the alias relationship between status and state_label or the purpose of agent and body_md parameters.
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 clearly states the action ('post'), the resource ('project status update'), and specifies the allowed values ('on-track / at-risk / off-track banner'). It is specific and distinguishes from sibling tools like project_update, which likely handles other project metadata.
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?
No guidelines are provided on when to use this tool versus alternatives. For example, there is no indication that this is specifically for setting a status banner, while project_update might be for other project changes. The agent has no guidance on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
project_updateCInspect
Update project metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name | |
| agent | No | Override agent identity | |
| color | No | Color label | |
| project_id | Yes | Project UUID | |
| default_view | No | list/board/timeline/calendar | |
| initiative_id | No | Strategic initiative UUID | |
| description_md | No | New markdown body |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Update project metadata,' which implies mutation but does not explain partial-update semantics, whether null values clear fields, required permissions, or any side effects. This is a significant gap for a write operation.
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 a single three-word sentence, front-loaded and free of any waste. Every word earns its place, and there is no redundant or ambiguous phrasing.
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?
Given this is a mutation tool with 7 parameters and no annotations, a one-sentence description is insufficient. It leaves critical ambiguity around partial updates, null semantics, and expected behavior, despite having an output schema. The tool's complexity demands richer contextual guidance.
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 100%, so the schema already documents each parameter. The description adds only the generic 'metadata' grouping and no additional meaning, such as how null values behave or how fields interact. This meets the baseline but adds no extra value beyond the schema.
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 uses a specific verb ('Update') and resource ('project metadata'), clearly distinguishing it from sibling tools like project_create, project_get, and project_archive. It lacks detail about which specific metadata fields are updatable, but the core purpose is unmistakable.
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?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites (e.g., needing project_id), and no exclusions. It simply states the action without any contextual direction, leaving the agent to infer usage from the name and schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
versionAInspect
Report server + memory-rule version and whether the rule needs updating.
Returns {server_version, rule_version, installed_rule_version, rule_path, update_available}. When update_available is true (the
installed rule is missing or behind the canonical one), the response also
includes rule_markdown — write it verbatim to your rule file
(Cursor: ~/.cursor/rules/teamshared.mdc) to update the user, then
tell them the memory rule was updated. See the rule's "Staying current".
| Name | Required | Description | Default |
|---|---|---|---|
| installed_rule_version | No | The `version` from your installed teamshared rule's frontmatter (e.g. the value in ~/.cursor/rules/teamshared.mdc). Omit if your rule has no version marker. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral burden. It discloses the conditional response (when update_available is true, include rule_markdown) and instructs the agent to write the markdown verbatim to a specific file and inform the user. This goes beyond mere purpose and gives explicit, actionable behavioral details.
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 concise (4-5 sentences) and well-structured. It front-loads the main purpose, then lists return fields, conditional behavior, and specific agent instructions. Every sentence adds value, and there is no redundancy or wasted text.
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?
Given the tool's low complexity (one optional parameter, no required inputs) and the presence of an output schema, the description is complete. It explains the return fields, conditional behavior, and provides post-invocation instructions. The reference to the rule's 'Staying current' section does not undermine completeness, as the core behavior is adequately described.
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 100%, so the baseline is 3. The tool description does not add meaning beyond the schema's explanation of the parameter (installed_rule_version). It does not clarify how to determine the value or when to provide it, so it adds no extra value.
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 clearly states the tool's purpose: 'Report server + memory-rule version and whether the rule needs updating.' It uses a specific verb ('report') and identifies two distinct resources (server version, memory-rule version). This distinguishes it from sibling tools, none of which perform version reporting.
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?
The description implies when to use the tool (when server or rule version info is needed) but does not provide explicit guidance on when not to use it or compare it to alternatives. It lacks exclusions or alternative tool recommendations, so the usage context is clear but not fully delineated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_add_to_projectAInspect
Add a task to a project (tasks can belong to multiple projects).
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent identity | |
| work_id | Yes | Work item UUID | |
| project_id | Yes | Project UUID | |
| section_id | No | Optional section UUID |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It correctly implies a non-destructive add operation. However, it doesn't disclose what happens if the task is already in the project (e.g., idempotent or error), or any permission requirements. A 3 is appropriate given the simple operation but missing edge-case details.
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 a single, front-loaded sentence that conveys the core purpose and a key behavioral trait (multi-project membership). There is no wasted text.
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?
Given the tool's simplicity, the description covers the main use case. But with an output schema available, the description does not need to explain return values. It lacks detail on edge cases (e.g., duplicate assignment) and does not reference the optional section_id parameter's purpose. A 3 is fair for a simple tool with minor gaps.
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 coverage is 100%, so the baseline is 3. The description does not add parameter-specific meaning beyond what the schema already provides (e.g., work_id, project_id, section_id). The 'agent' parameter is left undocumented in the description.
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 clearly states the verb 'Add', the resource 'task' (work item), and the target 'project'. It also explicitly notes that tasks can belong to multiple projects, which distinguishes this from a move operation and aligns with sibling tools like 'work_move'.
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?
The description clarifies that tasks can be in multiple projects, which hints at why you'd use this over 'work_move'. However, it doesn't explicitly state when not to use this (e.g., if the task already belongs to the project) or provide direct alternatives beyond the implication.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_closeCInspect
Mark a work item done or cancelled.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent identity | |
| work_id | Yes | Work item UUID | |
| work_status | No | done or cancelled | done |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description fully discloses behavior. The description tells you the tool modifies status to 'done' or 'cancelled', but does not disclose important behaviors: whether it is destructive (irreversible), what happens to subtasks or dependencies, or any permission/authentication requirements. For a state-changing operation, this is insufficient transparency.
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 a single sentence of 8 words, which is very concise. However, it does not front-load the most critical detail (that the tool sets status) in a structured way. A slightly longer, more structured description (e.g., listing default behavior) would be more helpful without adding much length.
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?
Given the low complexity of the tool (3 params, 1 required, simple enum), the description is mostly adequate. However, it lacks any details about return values (output schema exists but description does not mention what it returns). No guidance on error cases (e.g., what if work_id doesn't exist). For a mutation tool, these gaps reduce completeness.
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 coverage is 100%, so the description adds little beyond what the input schema already provides. The schema already documents 'work_id' as UUID, 'work_status' with enum and default 'done', and 'agent' as optional override. The phrase 'done or cancelled' in the description weakly echoes the schema. A 3 is baseline when schema is fully covered.
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 clearly states the tool's action ('Mark a work item done or cancelled') and the resource ('work item'). It distinguishes from siblings like 'work_update' (which likely covers more fields) and 'work_create', but does not explicitly differentiate from 'work_move' or 'work_remove_from_project'. The purpose is clear and specific.
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?
The description does not provide any guidance on when to use this tool versus alternatives like 'work_update' (which could also change status) or 'work_create'. No context is given about prerequisites, such as the work item needing to exist, or when it is appropriate to cancel vs. mark done. The agent has no help deciding between siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_comment_addBInspect
Add a comment to a work item.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Comment text (markdown ok) | |
| agent | No | Override agent identity | |
| work_id | Yes | Work item UUID |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the action 'Add a comment' without revealing side effects (e.g., idempotency, character limits, permission requirements, return format). The output schema exists but the description adds no context beyond the bare action.
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 a single sentence, which is concise but achieves minimal information density. It is not verbose, but it could be more informative without sacrificing brevity.
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?
Given the tool has 3 parameters and an output schema, and is a write operation, the description is too sparse. It lacks explanation of return values, error handling, prerequisites, and how it fits into workflows alongside numerous sibling tools. The agent is left with no guidance on proper usage.
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 100%, with each parameter already described (e.g., 'Work item UUID', 'Comment text (markdown ok)'). The tool description adds no additional meaning or context for parameters, so baseline score of 3 applies.
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 "Add a comment to a work item" is a specific verb+resource combination. It clearly distinguishes this tool from siblings like work_comment_list (list) and other work_* tools, making the purpose unambiguous.
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?
The description provides no guidance on when to use this tool versus alternatives (e.g., work_comment_list for reading, or other comment-related tools). It also omits prerequisites such as the work item existing or user permissions, leaving the agent without contextual decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_comment_listCInspect
List comments on a work item (oldest first).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| work_id | Yes | Work item UUID |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. The description only reveals that results are ordered oldest first, but fails to mention whether it is read-only, whether pagination is implicit (the limit parameter is in the schema but not described in behavior), or what happens if the work_id is invalid. Important behavior like potential rate limits or access restrictions is absent.
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 a single, terse sentence that efficiently conveys the core purpose and ordering. It uses no filler words and respects the conciseness requirement. However, it could be expanded slightly to address usage without becoming verbose, which prevents a perfect score.
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?
Although an output schema exists (not shown but indicated to be present in the context signals), the description lacks completeness in other areas. For a tool with 2 parameters and no annotations, it should explain pagination behavior, default ordering, error handling, and when to prefer this over other work list tools. The absence of such details leaves an agent under-informed.
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 50%: the work_id parameter has a description 'Work item UUID' in the schema, so the description adds no new meaning there. The limit parameter lacks a schema description, and the tool description does not clarify its purpose or constraints. Since the description provides no additional semantic value beyond the schema for work_id, and limit is left undocumented, a baseline score of 3 is appropriate given moderate coverage.
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 states 'List comments on a work item (oldest first)' which specifies the verb 'list', the resource 'comments on a work item', and the ordering 'oldest first'. However, among sibling tools like 'work_comment_add' and work-related list tools (work_list, work_subtasks_list, etc.), it does not explicitly differentiate itself from similar list operations like work_subtasks_list, nor does it clarify that this is a read-only operation.
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?
No guidance is provided on when to use this tool versus alternatives. For example, it does not mention that to add a comment one should use work_comment_add, or how the work_id parameter relates to other work operations. The description gives no context about required permissions, prerequisites, or scenarios where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_createBInspect
Create a work item. Created active immediately for humans and agents (no approval queue).
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | Optional workspace slug tag | |
| tags | No | Optional tags | |
| agent | No | Override agent identity | |
| title | Yes | Short task title | |
| due_at | No | Optional due datetime | |
| github | No | Optional owner/repo tag | |
| priority | No | urgent, high, normal, low | normal |
| start_at | No | Optional start datetime | |
| item_type | No | task, milestone, or approval | task |
| parent_id | No | Parent task UUID (makes this a subtask) | |
| project_id | No | Add the task to this project UUID | |
| section_id | No | Place in this project section UUID | |
| assignee_id | No | Assignee UUID | |
| description | No | Alias for description_md | |
| work_status | No | Initial workflow status | todo |
| assignee_type | No | Assignee type (user) | |
| initiative_id | No | Optional strategic initiative UUID | |
| assignee_email | No | Assign to org member by email | |
| description_md | No | Optional markdown body |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that items are 'active immediately' (no approval), which is useful behavioral context. However, it does not mention side effects, required permissions, error states, or response details, leaving gaps for a tool with 19 parameters.
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 very short (two sentences) and front-loaded with the core purpose. It is efficient with no wasted words but misses some necessary context for completeness.
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?
Given the tool has 19 parameters, an output schema, and no annotations, the description is under-structured. It covers activation behavior but lacks essential context like response shape, permission hints, or limitations. An output schema exists, so return value details are partly covered, but the rest is minimal.
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 100%, so the baseline is 3. The description adds no param-specific context beyond what the schema already provides. It could mention that 'description' is an alias for 'description_md', but that's already in the schema. No additional value.
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 clearly states the verb 'Create' and the resource 'work item', and adds a useful detail about immediate activation. However, it does not differentiate from other work-related tools like work_list or work_update among the 30+ siblings, missing an opportunity to disambiguate.
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?
The description gives no guidance on when or when not to use this tool versus alternatives. The negative note ('no approval queue') hints at when not to use, but there are no explicit exclusions or references to siblings, which is a gap given the large sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_dependencies_listAInspect
List what a task is blocked by and what it blocks.
| Name | Required | Description | Default |
|---|---|---|---|
| work_id | Yes | Work item UUID |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is transparent about what the tool returns (blocked-by and blocks relationships), which adds value given that annotations are absent. However, it does not disclose behavioral traits like whether the list is empty if no dependencies exist, whether it requires certain permissions, or how the output is structured. With no annotations provided, the description carries the full burden but provides only a minimal behavioral overview.
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 a single concise sentence that clearly conveys the tool's purpose. It is front-loaded and contains no fluff. Very slight room for improvement by adding a second sentence with usage context, but the current version is efficient and readable.
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?
Given the tool's simple one-parameter interface and the presence of an output schema (which partially relieves the description from explaining return values), this description is mostly adequate. However, it lacks guidance on when to prefer this tool over siblings or how to interpret the dependency relationships, leaving some contextual gaps for an AI agent.
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 100%, so the schema already documents the sole parameter 'work_id' as a work item UUID. The description adds no further semantics about the parameter (e.g., formats, constraints, or examples). Baseline 3 is appropriate since the schema fully covers the parameter info.
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 clearly specifies the verb 'List' and the resource 'what a task is blocked by and what it blocks'. This immediately distinguishes it from sibling tools like work_dependency_add, work_dependency_remove, work_subtasks_list, and work_get, which handle related but different operations.
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?
The description implies that this tool is for viewing dependencies (both blocking and blocked) of a task, but it provides no explicit guidance on when to use this versus alternatives such as work_dependency_add/remove (to modify dependencies) or work_get (to get full task details). It also lacks instructions on prerequisites like whether the work item must exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_dependency_addAInspect
Add a dependency: blocker must finish before blocked can proceed.
Pass blocker_id + blocked_id, or equivalently
work_id (blocked) + depends_on_id (blocker).
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent identity | |
| work_id | No | Alias for blocked_id (the task that waits) | |
| blocked_id | No | Task that is blocked | |
| blocker_id | No | Task that must finish first | |
| depends_on_id | No | Alias for blocker_id (the task it waits on) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the core behavior (blocker must finish before blocked proceeds) but doesn't mention side effects, idempotency, or error handling. With no annotations, the burden is higher, but for a simple create operation this is adequate.
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 two sentences, front-loaded with the purpose, and every word adds value. No extraneous content.
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?
The description is mostly complete: it explains the dependency logic and parameter mapping. It doesn't describe the output schema (which exists), but the tool's purpose is clear. Could mention error conditions or permissions.
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?
The description adds meaning beyond the schema by explaining the relationship between parameter aliases (work_id=blocked_id, depends_on_id=blocker_id) and the dependency direction. This is valuable given the schema's 100% coverage.
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 clearly states the tool's purpose: 'Add a dependency: blocker must finish before blocked can proceed.' It uses specific verbs and resources, and distinguishes it from siblings like 'work_dependencies_list' and 'work_dependency_remove'.
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?
The description explicitly provides two equivalent parameter sets ('blocker_id + blocked_id' or 'work_id + depends_on_id'), guiding the agent on usage. It doesn't explicitly state when not to use it, but the context of adding vs removing is clear from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_dependency_removeBInspect
Remove a task dependency.
| Name | Required | Description | Default |
|---|---|---|---|
| work_id | No | Alias for blocked_id (the task that waits) | |
| blocked_id | No | Blocked task UUID | |
| blocker_id | No | Blocker task UUID | |
| depends_on_id | No | Alias for blocker_id (the task it waits on) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states the action (remove) without describing effects: what happens if the dependency doesn't exist? Is it idempotent? Are there permission requirements? The description is too brief to meet transparency needs.
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 a single sentence of four words, which is concise and front-loaded. It earns its place by stating the tool's purpose without redundancy. However, slightly more detail (e.g., which parameters identify the dependency) could be added without harming conciseness.
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?
Given the tool's simplicity (remove a dependency) and the presence of an output schema, the description is minimally adequate. However, it fails to explain how to uniquely identify the dependency to be removed (e.g., need blocked_id+blocker_id pair), and does not state the return value or error conditions. This leaves gaps for the agent.
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 100%, so baseline is 3. The description adds no meaning beyond the schema—it does not explain the alias relationships (work_id ↔ blocked_id, depends_on_id ↔ blocker_id) or which combination of parameters is required. The schema itself already documents each parameter, so the description provides no added value.
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 'Remove a task dependency' uses a specific verb (Remove) and resource (task dependency), clearly distinguishing it from siblings like work_dependency_add and work_dependencies_list. It leaves no ambiguity about the tool's core function.
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?
The description offers no guidance on when to use this tool, when not to, or alternatives. There is no mention of prerequisites (e.g., the dependency must exist) or how to specify the dependency (which parameters to supply). The agent is left to infer usage context from the schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_follower_addCInspect
Add a follower/collaborator to a task by member email.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent identity | |
| work_id | Yes | Work item UUID | |
| follower_email | No | Member email to add |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It says "Add" (a mutation) but does not disclose side effects: whether this triggers notifications, requires task write permission, or changes task state. It also doesn't describe the response format, despite the presence of an output schema.
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 a single sentence, front-loading the key verb and object. It wastes no words. However, it could be slightly more structured (e.g., stating the purpose first, then parameter hints).
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?
Given the tool is a mutation with one required parameter and an output schema, the description should clarify the behavior (e.g., “Adds the given member email as a follower; returns the updated task structure”). It omits return details, prerequisites, and error conditions, making it incomplete for a task that could fail (e.g., invalid email, already followed).
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 100%, so the baseline is 3, but the description only highlights one parameter (follower_email) via "by member email." The agent does not learn that work_id is a UUID or that agent is an optional override. The description adds minimal semantic value over the schema, failing to compensate for the lack of guidance on the agent parameter or the structure of work_id.
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 states a specific verb ("Add") and resource ("follower/collaborator") and identifies the target entity ("task") and the identifying field ("by member email"). This distinguishes it from sibling tools like work_follower_remove and work_followers_list, though the term "collaborator" is a loose addition beyond a follower.
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?
No guidance is provided on when to use this tool versus alternatives (e.g., work_comment_add for other types of collaboration, or work_follower_remove for undoing). There is no mention of prerequisites (e.g., whether the email must belong to a workspace member) or context (e.g., only works with open tasks).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_follower_removeBInspect
Remove a follower from a task by member email.
| Name | Required | Description | Default |
|---|---|---|---|
| work_id | Yes | Work item UUID | |
| follower_email | No | Member email to remove |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states 'remove a follower' but does not mention that this is a destructive operation, whether it requires permissions, if it is reversible, or if there are side effects like notifications.
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 a single sentence that is perfectly front-loaded. Every word contributes value; there is no wasted text.
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 simple removal tool, the description is adequate but leaves gaps. It does not mention that work_id is required, potential failure modes (e.g., follower not found), or authorization requirements. With an output schema present, return behavior is partly covered, but overall completeness is average.
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 coverage is 100%, so the baseline is 3. The description adds slight context by specifying 'member email' for the follower_email parameter, but this is already implied by the parameter name. No additional meaning beyond the schema.
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 clearly states the action ('remove'), the resource ('follower from a task'), and the identifier ('member email'). It is specific and distinguishes this tool from siblings like work_follower_add and work_followers_list.
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?
The description provides no guidance on when to use this tool versus alternatives (e.g., work_follower_add or work_dependency_remove). There is no discussion of prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_followers_listBInspect
List followers/collaborators on a task.
| Name | Required | Description | Default |
|---|---|---|---|
| work_id | Yes | Work item UUID |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior, but it only states the basic operation. It does not mention pagination, authentication requirements, whether the list includes pending invites, or any side effects. The output schema may define the return structure, but behavioral context beyond 'list' is missing.
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 a single 5-word sentence with no filler. Every word contributes to the core meaning, making it maximally concise while being front-loaded with the action and object.
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?
Given a simple list tool with one parameter, an output schema, and no annotations, the description is minimally adequate. It lacks usage guidelines and behavioral details, but the key action is conveyed. A more complete description would mention the return type or pagination, but the presence of an output schema partially compensates.
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 100%: the sole parameter 'work_id' is described as 'Work item UUID' in the input schema. The description adds no additional semantic information about the parameter, so it meets the baseline for high coverage without adding extra value.
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 clearly states the verb 'List' and resource 'followers/collaborators on a task', which matches the tool's name and distinguishes it from sibling tools like work_follower_add and work_follower_remove. No ambiguity about what the tool does.
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?
The description provides no guidance on when or when not to use this tool, nor does it mention alternatives. For example, it does not clarify that this tool should be used to see followers, while work_follower_add is for adding them, or that work_get might also include follower information. This forces the agent to infer from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_getAInspect
Fetch one work item by id.
| Name | Required | Description | Default |
|---|---|---|---|
| work_id | Yes | Work item UUID |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It correctly identifies this as a read/fetch operation (not destructive). However, it does not disclose potential errors (e.g., will it throw error if ID not found?), rate limits, or whether the output is a full work object. With an output schema present, the agent can infer return structure, but response behavior (e.g., content truncation) is not mentioned.
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 extremely concise: five words that fully convey the tool's purpose with no fluff. This achieves maximum efficiency.
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?
Given the tool's low complexity (single required parameter, no enums, output schema present), the description is largely sufficient. It lacks a brief note on error handling or id format, but overall it provides enough context for an agent to use it correctly in most scenarios.
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 coverage is 100% (only one parameter with a description). The parameter 'work_id' is clearly documented in the schema as 'Work item UUID'. The description adds minimal new meaning by confirming it fetches 'by id'. Since schema already provides full parameter info, a baseline of 3 is appropriate; the short description confirms the usage context, raising it to 4.
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 clearly states the action (Fetch) and resource (one work item) and identifies the key parameter (by id). It is specific and distinct from sibling tools like work_list, work_create, work_update, etc. However, it does not differentiate from other fetch-by-id tools like file_get, project_get, etc., but sibling differentiation for a generic fetch pattern is less critical.
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?
The description implies that this tool is used when you have a specific work item ID and need to retrieve that single item. It does not explicitly state when not to use it (e.g., for listing all items, use work_list) or any prerequisites (e.g., work item must exist). This is adequate but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_listBInspect
List org work items (shared task queue for humans and agents).
| Name | Required | Description | Default |
|---|---|---|---|
| mine | No | Only items assigned to the caller (human or agent) | |
| sort | No | Sort key | updated_at |
| limit | No | ||
| offset | No | Pagination offset | |
| assignee | No | Filter by agent name or user email | |
| sort_dir | No | asc or desc | desc |
| work_status | No | Filter by workflow status | |
| initiative_id | No | Filter to tasks linked to a strategic initiative UUID | |
| exclude_closed | No | Omit done/cancelled items (default true) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full burden for behavioral disclosure. It only states 'List org work items' with no mention of read-only nature, pagination behavior, default filters (like exclude_closed=true), or any side effects. For a tool with 9 parameters and filtering capabilities, this is insufficient.
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 a single sentence with no wasted words, but it lacks structure. It does not front-load the most important information (e.g., 'List and filter org work items...') and provides no breakdown of capabilities. For a tool with many optional filters, a more structured summary would improve usability.
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?
Given the tool complexity (9 parameters, filtering, sorting, pagination) and the presence of an output schema, the description is too minimal. It does not mention key capabilities like filtering by assignee, status, initiative, or sorting options. The agent must rely entirely on parameter names and schema descriptions to infer usage.
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 89%—most parameters already have clear descriptions in the input schema (e.g., 'Only items assigned to the caller', 'Sort key'). The tool description adds no additional meaning beyond what the schema provides. With high coverage, baseline 3 is appropriate.
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 'List org work items (shared task queue for humans and agents)' uses a specific verb ('List') and clearly identifies the resource ('org work items'). It distinguishes from sibling tools like 'work_get' (single item) and 'work_create' (creation) by framing this as a listing operation. The parenthetical adds helpful context about the shared nature.
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?
No guidance is provided on when to use this tool versus alternatives. The sibling list includes many work_* tools (work_get, work_create, work_update, work_close, etc.), but the description does not clarify that this is for browsing/filtering a list while work_get retrieves a specific item. No exclusions or when-not-to-use notes are present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_moveAInspect
Move a task to a section and/or reorder it within a project.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Override agent identity | |
| work_id | Yes | Work item UUID | |
| project_id | Yes | Project UUID | |
| section_id | No | Target section UUID | |
| sort_order | No | Fractional rank within section |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the mutation behavior (moving/reordering) but does not mention whether this requires specific permissions, whether changes are reversible, or what the output schema contains. Given no annotations, this is adequate but has gaps.
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 a single, efficient sentence that fully conveys the purpose without redundant words. It is front-loaded and earns its place.
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 straightforward move operation with a full output schema and 100% parameter coverage, the description is sufficient. However, it does not clarify return values (relying on output schema) or specify constraints like moving to the same section, which could be helpful.
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 coverage is 100%, so baseline is 3. The description adds no additional parameter context beyond what the schema provides (e.g., 'work_id', 'project_id', 'section_id', 'sort_order', 'agent' are documented in the schema). The description does not explain how 'sort_order' works as a fractional rank.
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 uses the specific verb 'Move' and resources 'task', 'section', and 'reorder', clearly stating the action and scope. It distinguishes from siblings like 'work_add_to_project' and 'work_remove_from_project' which handle adding/removing, not moving/reordering within a project.
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?
The description implies this is for moving tasks between sections or reordering within a project, which is clear. However, it does not provide explicit guidance on when not to use it (e.g., for moving across projects) or mention alternatives like 'work_update' or 'work_add_to_project'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_remove_from_projectBInspect
Remove a task from a project.
| Name | Required | Description | Default |
|---|---|---|---|
| work_id | Yes | Work item UUID | |
| project_id | Yes | Project UUID |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits, but it only states the action. It does not mention that the operation is destructive (removes the task-project relationship), whether it requires specific permissions, whether the task is deleted or just unlinked, or what side effects occur (e.g., subtasks, dependencies). This is a significant gap for a mutation tool.
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 a single, front-loaded sentence with no wasted words. It is extremely concise and immediately understandable.
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?
Given the tool has no annotations, an output schema, and only two parameters, the description is too minimal. It does not explain the effect (e.g., is the task deleted or just unlinked?), return value, or error conditions. The complete absence of behavioral context for a mutation tool makes it inadequate for reliable agent invocation.
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 100%, so the baseline is 3. The description does not add meaning beyond the schema—it just names the parameters implicitly ('work_id', 'project_id') in the action phrase. No additional semantics, constraints, or format details are provided.
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 'Remove a task from a project' uses a clear verb ('Remove') and identifies both the resource ('task') and the context ('project'). It distinguishes this tool from its sibling 'work_add_to_project' which performs the opposite action. However, the term 'task' is used instead of 'work item', which may cause slight ambiguity.
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?
The description implies this tool is used to remove a task from a project but provides no explicit guidance on when to use it versus alternatives like 'work_update' (which might remove a project assignment differently) or when not to use it. No preconditions (e.g., task must be in the project) or caveats are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_subtasks_listAInspect
List subtasks of a work item. Create subtasks via work_create with parent_id.
| Name | Required | Description | Default |
|---|---|---|---|
| work_id | Yes | Parent work item UUID |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states 'List subtasks' without revealing behavioral traits such as whether it's read-only, whether pagination is used, whether subtasks are returned as full objects or summaries, or if recursion is supported. For a tool with no annotations, this minimal disclosure is insufficient.
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 consists of two concise sentences: the first states the core function, the second provides a relevant alternative. Every sentence earns its place with zero wasted words, and the information is front-loaded effectively.
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?
Given the tool's simplicity (one parameter, output schema present), the description is mostly complete. It covers the basic purpose and a related action. However, it could mention that only direct subtasks are listed and that the work item must exist to avoid empty or error results. The output schema presumably fills return value details, so the gap is minor.
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 coverage is 100% and the schema already defines work_id as 'Parent work item UUID'. The description adds a cross-reference to work_create for creating subtasks, which provides context but does not enhance understanding of the parameter's semantics beyond what the schema offers. Baseline of 3 is appropriate.
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 clearly states the tool lists subtasks of a work item using the verb 'List' and resource 'subtasks of a work item'. It distinguishes itself from sibling tools by explicitly naming work_create for the alternative action of creating subtasks, leaving no ambiguity about its unique function.
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?
The description implies usage when you have a work_id and need its subtasks, and it explicitly mentions the creation alternative via work_create with parent_id. While it provides clear context for when to use this tool, it lacks explicit exclusions or comparisons to other listing tools (e.g., work_list) that might be confused with subtask listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_updateCInspect
Update a work item (status, assignee, priority, parent, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | Workspace slug tag | |
| tags | No | Replace tags | |
| agent | No | Override agent identity | |
| title | No | New title | |
| due_at | No | Due datetime | |
| github | No | owner/repo tag | |
| work_id | Yes | Work item UUID | |
| priority | No | urgent, high, normal, low | |
| parent_id | No | Parent task UUID (reparent as subtask) | |
| assignee_id | No | Assignee UUID | |
| work_status | No | Workflow status | |
| assignee_type | No | Assignee type (user) | |
| initiative_id | No | Strategic initiative UUID | |
| assignee_email | No | Assign to user by email | |
| blocked_reason | No | Why blocked (when status=blocked) | |
| description_md | No | New markdown body |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It does not mention side effects, required permissions, reversibility, or whether the tool patches or replaces fields. The description implies mutation but lacks transparency on behavior.
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 a single sentence with 11 words, which is very concise. It front-loads the key action and resource. However, it could be slightly improved by adding brief usage guidelines without sacrificing conciseness.
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?
Given the tool has 16 parameters, a required work_id, and an output schema, the description is lean. It identifies the core purpose but lacks details on update semantics (e.g., partial vs. full replacement), which fields are mutually exclusive, or how the output schema reflects the update. The description is minimally complete but not rich enough for complex use cases.
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 100%, so the baseline is 3. The description adds minimal value beyond the schema by listing example fields, but it does not clarify parameter interactions, constraints (e.g., required dependencies), or the meaning of setting fields to null. The example 'parent, etc.' hints at hierarchical relationships but is vague.
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 clearly states the verb 'Update' and the resource 'work item', with explicit examples of fields that can be updated (status, assignee, priority, parent, etc.). It effectively distinguishes from sibling tools like work_create, work_close, or work_move, which have different purposes.
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?
No guidance is provided on when to use this tool versus alternatives like work_close, work_move, or work_add_to_project. There is no mention of prerequisites, partial updates, or whether all fields are optional or require the work_id. The description lacks contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityAmaintenancePersistent shared memory for AI coding agents that turns a folder of markdown files into searchable memory across sessions, repos, and machines.11Functional Source , Version 1.1, MIT Future
- AlicenseAqualityAmaintenancePersistent shared memory for AI coding agents. Stores facts as entity/key/value triples with hybrid semantic search, task checkpoints, and conflict resolution — shared across Claude Code, Codex CLI, and GitHub Copilot.162355AGPL 3.0
- Alicense-qualityBmaintenanceShared memory layer for AI coding agents to store and recall learned information across sessions and tools.2MIT
- Alicense-qualityDmaintenanceProvides long-term memory for AI coding agents, enabling them to remember, search, and organize information across sessions and platforms like Claude Code, ChatGPT, and Cursor.137MIT