USECREA
Server Details
USECREA
A persistent project layer for AI agents.
USECREA keeps project knowledge, tasks, and progress available across different AI agents, computers, and work environments. Switch agents without copying chats, creating summary files, or starting over.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
48 toolsadd_elementAInspect
Add a new element/component to a project (e.g. hardware component, software library, source, concept)
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Link to documentation, repo, datasheet, etc. | |
| kind | Yes | Type/category, freely chosen (e.g. "hardware", "software", "source", "concept", "service", "tool", "person") | |
| name | Yes | Element name | |
| projectId | Yes | Project ID | |
| properties | No | Flexible key-value pairs for additional properties | |
| description | No | Description |
TDQS
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 mentions the mutation ('add') but does not describe side effects, whether duplicates are allowed, required relationship to an existing project, or what happens on success/failure. For a creation tool with no annotations, this is a significant transparency 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 a single sentence that starts with the action and object, then gives illustrative examples. There is no filler or redundant restatement, making it highly efficient and 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?
With no annotations, no output schema, and a nested properties parameter, the description is too minimal to fully prepare an agent to call the tool correctly. It does not explain what the tool returns, how the project relationship is handled, or how the flexible 'properties' object should be used in practice.
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 parameters are already documented in the schema. The description's examples ('hardware component, software library, source, concept') map to the kind parameter but essentially duplicate the examples already present in the schema. It adds little meaning beyond what the schema 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 ('Add') and resource ('a new element/component to a project'), and provides concrete examples of what counts as an element. This distinguishes it from sibling tools like add_knowledge or create_project, which target different resource types.
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 clear context for when to use the tool: when adding an element/component to a project. It does not explicitly state alternatives or when-not-to-use conditions, but the boundary between adding an element and other operations is reasonably clear given the sibling names and the focused description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_knowledgeBInspect
Save a decision, insight, test, or hypothesis — call this IMMEDIATELY when you learn something important, not just at end_session. Use type="decision" for architecture/approach choices, type="insight" for gotchas/workarounds/non-obvious facts. Always fill body (what), context (why it matters), outcome (consequence/result). Pin critical entries with pin_knowledge().
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Full content: what exactly was decided/discovered? Be specific — include code patterns, error messages, exact values if relevant. | |
| tags | No | Tags for filtering: e.g. ["gotcha", "auth", "docker"] or ["deployment", "ops"] | |
| type | Yes | decision=architecture/approach choice, insight=gotcha/fact/workaround, test=verified behavior, hypothesis=assumption to validate | |
| title | Yes | Short descriptive title (the "what" in one line) | |
| status | No | decision: "active"|"superseded" — insight: "confirmed"|"open" — test: "passed"|"failed" — hypothesis: "confirmed"|"rejected"|"open" | |
| context | No | IMPORTANT: Why does this matter? What triggered it? What problem does it solve? | |
| outcome | No | IMPORTANT: What was the result/consequence? What changed because of this? | |
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden, but it mostly restates purpose and usage instructions rather than tool behavior. It implies that pinning is a separate action and that context/outcome should always be filled, but it does not disclose idempotency, duplicate-creation risk, return values, or side effects of the save 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?
Three dense sentences with no filler; the immediate-call rule is frontloaded, and the type-specific guidance and pinning pointer are useful. The description slightly duplicates schema content for the 'decision' and 'insight' enums, but that redundancy does not hurt 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?
For a tool with 8 parameters and no output schema, the description covers purpose, timing, and recommended fields, and the schema covers all parameter definitions. However, it does not explain what the tool returns, whether repeated calls create duplicates, or how status/tags should be used, and it calls mandatory-sounding fields like context/outcome 'always fill' despite them not being declared required in 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 coverage is 100%, so the baseline is 3. The description adds an 'always fill body, context, outcome' instruction and inline meanings for decision/insight, but those meanings largely duplicate the schema's own type descriptions, and other parameters (status, tags, projectId, title) are left entirely to 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?
Description clearly identifies the tool as a save operation for knowledge items ('Save a decision, insight, test, or hypothesis') and gives it a distinct role from simple chat/entry creation. However, it does not explicitly differentiate the tool from sibling tools like add_knowledge_refs or update_knowledge, so the distinction relies on the tool name and the mention of pin_knowledge.
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 explicit timing guidance ('call this IMMEDIATELY when you learn something important, not just at end_session') and maps type values to concrete use cases for decision and insight. It also points to pin_knowledge() as a complementary step, but does not state when to use alternatives such as add_knowledge_refs or update_knowledge.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_knowledge_refsCInspect
Add raw data references to a knowledge entry (links Layer 2 to Layer 3)
| Name | Required | Description | Default |
|---|---|---|---|
| refs | Yes | References to raw data | |
| projectId | Yes | Project ID | |
| knowledgeId | Yes | Knowledge entry ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full transparency burden. It indicates a mutating operation but does not disclose whether references are appended or replaced, whether duplicates are allowed, which requirements exist (e.g., the knowledge entry must already exist), or what the response/return behavior is.
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-front-loaded sentence with no filler. The key action is first, and the layer linkage context is a short parenthetical.
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?
This is a mutating tool with no annotations, no output schema, and only a one-sentence description. It lacks the behavioral and usage context an agent needs to know prerequisites, idempotency, side effects, and how it differs from the many sibling tools.
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 covers all three parameters with descriptions, so the baseline is 3. The description adds the semantic that the references are 'raw data' and connect layers, but it does not provide meaningful detail 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 names a clear verb and resource: adding raw data references to a knowledge entry. The parenthetical 'links Layer 2 to Layer 3' gives some conceptual context, though those layer terms are not defined and the tool is not strongly differentiated from knowledge-related siblings such as link_knowledge or pin_knowledge.
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 rather than link_knowledge, add_knowledge, or other knowledge-related tools. The statement of what it does is present, but there are no conditions, exclusions, or alternative indicators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
append_chat_messagesAInspect
Append messages to an existing chat session
| Name | Required | Description | Default |
|---|---|---|---|
| chatId | Yes | Chat session ID | |
| messages | Yes | New messages | |
| projectId | Yes | Project ID |
TDQS
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 conveys the core mutation and that the session must already exist, but it does not disclose what happens if chatId is invalid, whether messages are appended in order, whether the session is modified in place, or what the response contains.
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 a front-loaded action and no filler. It is concise, direct, and easy for an agent to parse quickly.
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?
This is a simple three-parameter append operation, and the description plus schema covers the basic invocation. However, with no annotations and no output schema, the lack of return behavior, ordering semantics, and error handling leaves a moderate completeness gap.
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 chatId, messages, and projectId. The description adds little beyond the word 'existing', which weakly reinforces that chatId must refer to a previously created session.
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 ('Append') and a distinct resource ('messages to an existing chat session'). This clearly separates it from sibling tools like save_chat_session, get_chat_session, and list_chat_sessions, and the qualifier 'existing' adds useful scope.
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 add messages to an already-created chat session, but it does not explicitly state when to use this tool versus save_chat_session or other chat-related siblings. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_entryBInspect
Create a new timeline entry
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Description | |
| stage | No | ||
| title | Yes | Entry title | |
| version | No | Version number, e.g. "1.2" | |
| projectId | Yes | Project ID | |
| visibility | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It only states that a new entry is created, with no information about side effects, permissions, required project existence, return value, 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 focused sentence with no wasted words. It is front-loaded with the core purpose and is appropriately sized for the simple operation it describes.
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 with six parameters, two required fields, and no output schema or annotations, this one-sentence description is not complete enough. It lacks information about when the tool should be used, required context, behavioral effects, and expected results.
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 67%, not high enough for the schema to carry the full burden, and the description adds no parameter-level meaning. It does not explain required fields or the semantics of stage, visibility, version, or body 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 uses a specific verb and resource: 'Create a new timeline entry.' It clearly distinguishes this tool from siblings like delete_entry, update_entry, and list_entries by specifying the creation action and the timeline entry object.
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 about when to use this tool versus alternatives. The description does not mention update_entry for modifications, delete_entry for removal, or any prerequisites such as requiring an existing project.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectAInspect
Create a new project (use init_project for template-based creation)
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags | |
| title | Yes | Project title | |
| category | No | Category | |
| visibility | No | Visibility (default: private) | |
| description | No | Description |
TDQS
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 states that the tool creates a project, but does not mention side effects, required permissions, persistence, return values, or any other behavioral trait. The parenthetical about init_project is useful for routing but does not add 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 a single sentence with no wasted words. The core purpose is front-loaded, and the parenthetical note about init_project adds valuable routing information without bloating the 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?
The tool is simple and the schema fully documents parameters, but there is no output schema and no annotations. The description does not mention what happens on success, what the response looks like, or any post-conditions. This is a noticeable gap, though not crippling for a straightforward create 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 description coverage is 100%, so the input schema already documents all five parameters. The description adds no additional parameter-specific details, which puts it 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 action ('Create') and resource ('a new project'), making the tool's purpose immediately obvious. It also differentiates from the sibling tool init_project by noting that init_project is for template-based creation, so an agent can tell them apart.
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 explicit guidance on when to use this tool versus an alternative: use create_project for a new project, and use init_project for template-based creation. This is a clear condition and alternative, leaving little to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_taskCInspect
Create a new task
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| title | Yes | Task title | |
| parentId | No | ID of parent task (for subtasks) | |
| priority | No | Priority (higher = more important, default: 0) | |
| blockedBy | No | Description of what blocks this task | |
| projectId | Yes | Project ID | |
| description | No | Detailed description |
TDQS
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, but it only says 'Create a new task.' It does not mention required fields, validation behavior, default priority, subtask semantics, or side effects. For a mutation tool 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 concise and front-loaded with the action. However, it is under-specified for a 7-parameter mutation tool, so brevity trades away valuable guidance. It is not bloated, but it is too thin to be considered well-structured for the tool's complexity.
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 no annotations and no output schema, the description leaves the agent without key context about required parameters, expected response, and prerequisites. The schema covers parameter meaning, but behavioral and invocation context are missing. A write tool with this complexity needs more than a single clause.
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 86%, so most parameters are already documented in the schema. The description adds no extra meaning beyond 'new task,' which is acceptable given the high schema coverage. However, it misses useful details like the required projectId+title combination and default priority.
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 action (create) and resource (task), making the core purpose clear. It is not a tautology and is reasonably distinguishable from sibling tools like update_task. However, it could more explicitly differentiate itself from create_entry or create_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?
There is no guidance on when to use this tool versus update_task or other creation tools. Prerequisites such as an existing projectId are absent, leaving the agent to infer invocation context from the schema alone. The description does not state any exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_entryBInspect
Delete a timeline entry
| Name | Required | Description | Default |
|---|---|---|---|
| entryId | Yes | Entry ID | |
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full responsibility for behavioral disclosure. 'Delete a timeline entry' only states the operation; it does not mention that deletion is likely permanent, whether there are cascading effects, or what happens to references to the entry.
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 with no redundant words. The action verb leads, and every word contributes to conveying the operation.
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 two-parameter delete operation, the description and schema are minimally sufficient to identify the tool and its inputs. However, given the absence of annotations and output schema, the description could usefully disclose irreversible effects or error 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?
The input schema describes both parameters ('Entry ID' and 'Project ID') with 100% coverage, so the baseline is 3. The description adds no additional meaning about how the parameters relate or how to obtain valid values for them.
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 action ('Delete') and a specific resource ('a timeline entry'), making the tool's purpose immediately clear. It also distinguishes itself from sibling tools like create_entry and update_entry by using the verb 'Delete'.
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 about when to use this tool versus alternatives such as update_entry or remove_element. The verb 'Delete' weakly implies usage, but there are no explicit conditions, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_fileCInspect
Delete a file from a timeline entry
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | File ID | |
| entryId | Yes | Entry ID | |
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden. 'Delete' implies a destructive action, but the description doesn't disclose whether deletion is permanent, cascades to related data, requires specific permissions, or returns any confirmation. This is a significant transparency gap for a mutating 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 concise sentence with no wasted words. The action and object are front-loaded. It earns a high score for structure, even though the content is thin.
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 three-parameter deletion tool, the description covers the core action and the schema identifies the required IDs. However, with no annotations and no output schema, it lacks behavioral context such as side effects or confirmation behavior, so it is only minimally 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 baseline is 3 even with no parameter info in the description. The description adds no extra meaning beyond the schema's minimal 'File ID' / 'Entry ID' / 'Project ID' labels, which is sufficient but not enriching.
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 and resource: 'Delete a file from a timeline entry.' This distinguishes it from siblings like delete_entry (which deletes an entry) and upload_file (which adds a file). However, it doesn't explicitly name any alternative tool, so it stops short of 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?
No guidance is given on when to use this tool versus related tools such as delete_entry or remove_element. There is no mention of prerequisites, exclusions, or alternatives, so the agent must infer usage from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
end_sessionAInspect
CALL AT END OF EVERY SESSION — mandatory handoff tool. Saves summary + any remaining decisions/insights not yet stored via add_knowledge(). Updates project status and next steps so the next agent starts with current context. Pass completedTaskIds for tasks finished this session.
| Name | Required | Description | Default |
|---|---|---|---|
| summary | Yes | Concrete summary: what was built/fixed/decided? Include what still needs doing. This is the primary handoff document for the next agent. | |
| insights | No | Gotchas, workarounds, non-obvious facts discovered this session that were NOT yet saved via add_knowledge() | |
| newTasks | No | New tasks that emerged this session | |
| decisions | No | Architecture/approach decisions made this session that were NOT yet saved via add_knowledge() | |
| nextSteps | No | What should the next agent tackle first? | |
| projectId | Yes | Project ID | |
| statusSummary | No | Updated one-liner: where does the project stand NOW after this session? | |
| completedTaskIds | No | IDs of tasks completed this session — get IDs from list_tasks() if needed |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavior disclosure. It clearly states the core side effects: saving a summary, persisting remaining insights/decisions, and updating project status and next steps. It does not mention the return shape or whether calling it finalizes the session irreversibly, but it does expose the main 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 four short, purposeful sentences. It front-loads the most important instruction—CALL AT END OF EVERY SESSION—and then packs in what the tool saves, what it updates, and what the agent should pass. Every sentence contributes something necessary; there is no filler.
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 an 8-parameter handoff tool with no annotations and no output schema, the description plus a fully covered parameter schema is largely sufficient. It explains the mandatory timing, what to supply, and the persistence behavior. A small gap is that it does not explicitly address how this interacts with sibling update_project_status or what response the agent should expect after calling 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?
Schema description coverage is 100%, so the baseline is 3. The description adds semantic value by clarifying that insights and decisions should only include items not yet stored via add_knowledge(), and by explicitly directing the agent to pass completedTaskIds for tasks finished this session. This goes slightly beyond the schema's field-level 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 a specific verb and resource: it ends the session and acts as a mandatory handoff tool. It clearly distinguishes itself from sibling knowledge-storage tools by saying it saves only remaining insights/decisions not yet stored via add_knowledge(). The phrase 'Updates project status and next steps' also separates it from simple knowledge-add or task 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 says when to call it: at the end of every session, with 'mandatory' emphasizing the rule. It also provides guidance on what to pass, especially completedTaskIds for tasks finished this session, and tells the agent to leave out anything already saved via add_knowledge(), which effectively names the alternative tool and the boundary between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_activity_feedAInspect
Chronological feed of all changes in a project (knowledge created/updated, tasks created/updated, entries, chats, snapshots, datasets). Use this to catch up after a break: "what happened since my last session?"
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max events to return (default 50, max 200) | |
| since | No | ISO 8601 timestamp — only return events after this point (e.g. "2026-06-27T08:00:00Z") | |
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral context. It discloses chronological ordering, scope across many entity types, and the tool's catch-up intent. It stops short of specifying sort direction, result item shape, or read-only guarantees, but the 'feed' framing conveys the core 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?
Two sentences, front-loaded with the core behavior and followed by a memorable use case. No filler or redundant restatement of parameter 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?
For a simple read-style feed tool with one required parameter and fully documented optional parameters, the description provides enough context to select and invoke it. The lack of an output schema means return-structure details are not fully specified, but the high-level event list 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%, so the schema already documents limit, since, and projectId. The description's 'since my last session' echoes the since parameter but does not add substantive 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 tool returns a chronological feed of all project changes and enumerates the event categories. This distinguishes it from sibling list_* tools that target a single resource 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?
The description gives a concrete, memorable use case: catch up after a break and answer 'what happened since my last session?'. It does not explicitly name sibling alternatives or state when not to use it, but the intended context is unmistakable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chat_sessionBInspect
Get the complete chat history of a session (all messages)
| Name | Required | Description | Default |
|---|---|---|---|
| chatId | Yes | Chat session ID | |
| projectId | Yes | Project ID |
TDQS
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 states that the tool returns the complete history, but does not disclose read-only behavior, ordering, message filtering, authentication needs, or whether system messages are included.
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, focused sentence that front-loads the key action and resource. The parenthetical '(all messages)' adds useful scope clarification without unnecessary verbosity.
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 read-style tool with fully documented parameters, the description is minimally adequate. However, with no annotations and no output schema, it leaves gaps around expected return format, ordering, and when to select this over sibling chat-related tools.
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 both parameters have clear descriptions ('Chat session ID' and 'Project ID'). The description does not add parameter-level detail, but it does implicitly connect chatId/projectId to the session whose history is retrieved.
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 ('Get') and a specific resource ('complete chat history of a session'), and clarifies scope with '(all messages)'. This clearly distinguishes it from sibling tools like list_chat_sessions, which lists sessions, and append_chat_messages, which adds to a session.
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 list_chat_sessions or save_chat_session. It does not mention prerequisites, how to obtain chatId/projectId, or whether the session must be active or ended.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_datasetAInspect
Get a single dataset with full data
| Name | Required | Description | Default |
|---|---|---|---|
| datasetId | Yes | Dataset ID | |
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It conveys a read-only operation and states that the result contains 'full data', but it does not explain output format, error behavior, or whether the data is returned in a single response. This is minimal but not misleading.
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 filler: 'Get a single dataset with full data' states the action, scope, and return content in eight words. Every word carries meaning.
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 read tool with only two string parameters and full schema coverage, the description is mostly adequate. However, there is no output schema and the phrase 'full data' is underspecified, so an agent gets no explicit return structure or usage boundaries. The absence of any sibling contrast also leaves some contextual 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 description coverage is 100% and both parameter descriptions ('Dataset ID', 'Project ID') are present in the schema, so the description does not need to repeat them. The description adds no extra meaning about parameter usage beyond what the schema provides, which matches the baseline for full 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 uses a specific verb ('Get') and resource ('a single dataset'), and the qualifier 'single dataset' clearly differentiates it from sibling list_datasets and save_dataset. 'with full data' further specifies the retrieval scope, so an agent can tell what this tool does without inspecting the schema.
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 word 'single' implicitly tells an agent this tool is for retrieving one specific dataset rather than enumerating datasets, but it does not explicitly name alternatives such as list_datasets or state when-not-to-use conditions. There is no direct guidance about choosing between get_dataset and related dataset tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_knowledgeAInspect
Get a single knowledge entry with full content and links to other entries
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID | |
| knowledgeId | Yes | Knowledge entry ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It communicates that this is a read operation ('Get') and indicates the return payload at a high level (full content plus links). However, it does not disclose error behavior, authorization requirements, or the structure/format of the returned links, so the disclosure is only partial.
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. It front-loads the action and resource, and every phrase ('single', 'full content', 'links to other entries') adds useful meaning rather than restating the tool name or schema.
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: two required, fully documented parameters and no output schema. The description provides the core semantics and a high-level description of the return value, which is mostly sufficient for correct invocation. It is slightly incomplete because it omits output structure details and error behavior, but given the low complexity, this is a minor gap.
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 already covers both parameters with descriptions ('Project ID', 'Knowledge entry ID'), so schema description coverage is 100%. The description adds no extra parameter-level detail such as constraints, relationships, or defaults beyond what the schema already provides, so the 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 uses a specific verb ('Get') on a specific resource ('a single knowledge entry') and adds meaningful scope ('with full content and links to other entries'). This clearly distinguishes it from sibling tools like list_knowledge and search_knowledge, which retrieve collections or search results rather than one fully populated entry.
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 you need one complete knowledge entry by its ID. However, it does not explicitly state when not to use it or name alternatives such as search_knowledge or list_knowledge, leaving the routing decision mostly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectBInspect
Get a single project with all details
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID |
TDQS
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 indicates this is a read operation for a single project but does not describe the output structure, whether 'all details' includes nested objects, or what happens if the project does not exist.
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 with no filler. The core purpose is front-loaded and every word contributes to meaning.
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 tool with one required parameter, the description is minimally adequate. However, with no output schema and no annotation coverage, it falls short on explaining what 'all details' actually includes and how this tool differs from get_project_summary.
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 projectId already documented as 'Project ID'. The description adds no additional parameter semantics, but that is acceptable because the schema already handles it. Baseline 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 clearly states the verb 'Get' and the resource 'a single project', and adds 'all details' to indicate the scope. It does not explicitly distinguish this from siblings like get_project_summary or search_project, but the core purpose is still immediately understandable.
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 alternatives such as get_project_summary, list_projects, or search_project. The intended usage is only implied by the tool name and the phrase 'all details', which is not enough for an agent to reliably choose between similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_summaryBInspect
AI-optimized project summary (Layer 1): name, description, status, elements — as structured context for agents
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of explaining behavior. It does disclose the key output fields (name, description, status, elements) and the structured nature of the result. However, 'AI-optimized' and 'Layer 1' are vague and unexplained, and there is no mention of output shape, nesting, or what distinguishes this from a raw project fetch.
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 compact and places the core purpose first, listing concrete fields without repeating the tool name. The 'Layer 1' parenthetical is cryptic and adds little value, but it does not severely harm overall 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?
For a one-parameter tool with no output schema and no annotations, the description gives a reasonable sense of what is returned but not enough to fully predict the response. The lack of differentiation from sibling get_project and the unexplained 'Layer 1' terminology leave gaps in 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?
The schema covers the single parameter projectId with 'Project ID', achieving 100% schema description coverage. The tool description adds no additional meaning about the parameter, so the 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 clearly indicates the tool provides an AI-optimized project summary containing name, description, status, and elements, which goes beyond the name alone. It does not explicitly differentiate from sibling get_project, but it does describe a distinct, structured, agent-focused view.
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 phrase 'as structured context for agents' implies when this tool should be used: when an agent needs a compact, AI-friendly summary rather than a raw project object. However, it does not explicitly contrast with alternatives like get_project, get_snapshot, or search_project, leaving the routing decision partially to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_snapshotAInspect
Get a single snapshot with full body and diff
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID | |
| snapshotId | Yes | Snapshot ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It discloses that the tool returns the full snapshot body and a diff, which is meaningful behavioral detail for a read-only getter. It does not cover error behavior or diff direction, but the core behavior is clear.
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. The most decision-relevant information — single snapshot, full body, and diff — is front-loaded and compact.
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 low-complexity tool with two required parameters, the description adequately states what is returned and that it targets a single snapshot. However, since there is no output schema, a bit more context about the diff semantics or return shape would make it fully self-sufficient.
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 parameter descriptions ('Project ID', 'Snapshot ID') are minimal and mostly restate the parameter names, and the tool description adds no additional parameter-level 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 uses a specific verb ('Get') and resource ('snapshot'), and the phrase 'single snapshot with full body and diff' clearly distinguishes it from siblings like list_snapshots. An agent can understand exactly what this tool does without opening the schema.
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 clearly implies this tool is for retrieving one specific snapshot rather than listing many, which gives useful context for choosing between get_snapshot and list_snapshots. However, it does not explicitly name alternatives or state 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.
init_projectAInspect
Create a new project with sensible templates. Sets up project + initial elements, tasks, and agent instructions based on the chosen category.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| title | Yes | Project title | |
| template | Yes | Template: software=Software project, research=Research/Analysis, creative=Creative project, learning=Learning project, business=Business idea, general=General purpose | |
| description | No | Project description |
TDQS
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 transparency. It discloses that calling this tool creates not just the project but also initial elements, tasks, and agent instructions, which is useful side-effect information beyond what the name alone implies. It does not mention permissions, error behavior, or whether the operation is idempotent, but the core side effects are clearly surfaced.
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 compact and front-loaded: the primary action 'Create a new project' appears first, followed by the key side effects in a second sentence. 'sensible templates' is slightly vague, but the overall structure is efficient with no redundant filler.
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 moderate complexity with four parameters and no output schema, and the description conveys the essential creation and scaffolding behavior. However, it does not explain what the function returns, how duplicate titles or conflicts are handled, or how to choose between this and the sibling create_project. For an agent to invoke it correctly in context, some of that guidance would 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 description coverage is 75%, so the schema already documents title, template, and description. The description adds little parameter-level meaning; 'chosen category' loosely references the template enum but does not enumerate values or explain tags. This meets the baseline for high schema coverage but does not compensate beyond 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 clearly states the tool creates a new project, and goes further by explaining it also sets up initial elements, tasks, and agent instructions from a chosen category. This distinguishes it from the sibling create_project tool, which presumably creates a plain project without scaffolding.
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 for creating a project with template-based scaffolding, but it does not explicitly state when to use it versus create_project or when not to use it. 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.
link_knowledgeCInspect
Link two knowledge entries (e.g. "confirmed_by", "contradicts", "based_on", "led_to")
| Name | Required | Description | Default |
|---|---|---|---|
| relation | Yes | Relation type (e.g. "confirmed_by", "contradicts", "based_on", "led_to") | |
| sourceId | Yes | Source entry ID | |
| targetId | Yes | Target entry ID | |
| projectId | Yes | Project ID |
TDQS
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. 'Link' implies a mutation, but the description does not say whether the operation is idempotent, whether the link is bidirectional, what happens if the link already exists, or whether creating both directions is required. The reversibility via unlink_knowledge is implied only by a sibling name, not stated 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 front-loaded sentence with zero wasted words; the verb, resource, and example values all appear quickly. It is appropriately terse for a four-string-parameter tool, though it sacrifices usage and behavior context 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?
For a simple tool with four self-describing string parameters and 100% schema coverage, the description is nearly sufficient. However, because there are no annotations, the missing mutation semantics (idempotency, side effects, reversibility) leave the agent without a complete picture of 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 description coverage is 100%, so the baseline is 3. The description's relation examples duplicate what the schema already documents for the 'relation' parameter and add no new meaning about parameter semantics, formats, or constraints beyond the structured fields.
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 ('Link') and resource ('two knowledge entries'), and the relation-type examples ('confirmed_by', 'contradicts', etc.) clarify what kinds of connections can be created. It is clear and unambiguous, though it does not explicitly differentiate itself from similar siblings like add_knowledge_refs or the inverse unlink_knowledge.
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. The presence of unlink_knowledge (the reverse operation) and add_knowledge_refs (potentially similar linking behavior) makes this a real gap — the agent must infer the boundary between these tools without any explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_chat_sessionsAInspect
List chat sessions of a project (compact: title, source, message count)
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It does disclose that results are compact and include title, source, and message count, which is useful. However, it does not mention ordering, pagination, potential absence of session IDs, or whether the operation has any 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 front-loaded sentence with no wasted words. It states the operation, scope, and output shape efficiently in one line.
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, but there is no output schema, so the description must clarify what is returned; it does mention the compact fields. Still, it leaves gaps such as whether sessions are sorted, whether the list is paginated, whether IDs are included, and what happens when there are no sessions. These are not addressed.
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% for the single projectId parameter, though the schema only says 'Project ID'. The description adds the context that the parameter selects the owning project for the session list, but it does not provide meaningful additional semantic detail beyond that. Baseline 3 is appropriate 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 uses a specific verb and resource: 'List chat sessions of a project'. It also clarifies the return is a compact summary with 'title, source, message count', which distinguishes it from more detailed session tools like get_chat_session. However, it does not explicitly name any sibling tool for contrast.
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 makes the basic use case clear: call this when you need chat sessions for a project. It does not state when not to use it or mention alternatives such as get_chat_session for a single session's full detail. Usage is implied rather than explicitly contrasted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_datasetsAInspect
List datasets of a project (compact: title, kind, unit, summary)
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID |
TDQS
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 communicates a read-only listing behavior and specifies the compact output fields (title, kind, unit, summary), which is useful. However, it does not mention pagination, ordering, whether all datasets are returned, or what happens when a project has no datasets.
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 that front-loads the verb, resource, and scope, then adds the output summary in parentheses. There is no redundant or filler 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?
For a simple one-parameter list tool with no output schema, the description is largely complete: it names the required input scope and the output fields. It could be marginally improved by noting that more detailed dataset information is available via get_dataset, but nothing essential for invoking the tool correctly 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?
Schema description coverage is 100%, with projectId described as 'Project ID'. The description does not add extra meaning beyond the schema, which is acceptable given the schema is already complete and the single parameter is self-explanatory. Baseline 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 clearly states a specific action ('List datasets') and a specific scope ('of a project'), with a compact output format. This distinguishes it from sibling tools like get_dataset (singular dataset detail) and save_dataset (write operation). The purpose is immediately 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 gives clear context: use this to list datasets within a project. It does not explicitly state when not to use it or mention alternatives, but the context strongly implies the appropriate use case. A named alternative such as get_dataset for full details would make it stronger.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_elementsBInspect
List all elements/components of a project (hardware, software, sources, concepts, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden of behavioral disclosure. It states the scope ('all' elements/components) but says nothing about non-mutating behavior, return format, ordering, pagination, or project access requirements, leaving the agent to infer those traits from the verb alone.
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 entire description is one lean sentence with the verb and object front-loaded. The parenthetical is compact and informative; there is no filler or redundant restatement of the tool name.
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 one-parameter list tool, the description covers the core purpose, but with no output schema or annotations it does not state what the response contains or how to interpret the result. An agent can select the tool confidently but would still have to discover return semantics elsewhere.
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 a single 'Project ID' description, so the schema carries the parameter documentation. The description adds only that the elements belong to 'a project,' matching projectId, but provides no extra format or usage detail. 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 names a specific verb ('List'), a concrete resource ('elements/components'), and scopes it to a project. The parenthetical enumerates the categories of elements, making the resource clear, though it does not explicitly contrast this with sibling list 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 given on when to prefer this tool over sibling tools like list_entries, list_knowledge, or list_files, and no exclusions or preconditions are stated. The only usage signal is the phrase 'of a project,' which is not enough to route an agent among the many list_* alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_entriesAInspect
List timeline entries of a project (newest first)
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses the ordering behavior ('newest first') and implies a read-only listing operation, but it does not mention pagination, response shape, or any limits. This is acceptable for a simple list tool but not richly 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 conveys resource, scope, and ordering with no wasted words. Every element 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 simple one-parameter listing tool, this description is nearly complete: the agent knows what to call, which project to provide, and the expected order. The main gaps are the lack of output schema details and any guidance on alternatives, but these are minor 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?
The schema already describes projectId as 'Project ID' with 100% coverage, so the baseline is 3. The description's phrase 'of a project' adds minimal semantic context by linking the parameter to the listed entries, but it provides no additional format or constraint 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 states a specific verb ('List'), a specific resource ('timeline entries'), and a scope ('of a project'), which clearly distinguishes this from sibling list tools like list_tasks and list_projects. Adding '(newest first)' further clarifies the expected output ordering.
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: call this when you need a project's timeline entries in reverse chronological order. However, it does not explicitly contrast with alternatives such as search_entries, nor does it state 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.
list_filesBInspect
List all files of a timeline entry
| Name | Required | Description | Default |
|---|---|---|---|
| entryId | Yes | Entry ID | |
| projectId | Yes | Project ID |
TDQS
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 explaining behavior. It signals a read-only listing operation, but does not disclose what information the returned file list contains, whether it is sorted, paginated, or subject to permissions. This is a minimal 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?
A single, front-loaded sentence conveys the complete purpose with no filler. 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?
For a simple two-parameter read-only tool, the description conveys the core operation adequately. However, with no output schema and no annotations, it omits any indication of the return structure, which leaves some ambiguity about whether the response contains just filenames or richer metadata.
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 already covers both parameters with 100% description coverage. The tool description adds only a slight contextual link by identifying the timeline entry, but does not meaningfully enrich the meaning of projectId or entryId 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 and resource: 'List all files of a timeline entry.' It clearly distinguishes this from sibling tools like read_file, delete_file, and upload_file while being immediately understandable.
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 to use this tool versus alternatives, such as read_file or delete_file. There are no explicit conditions, exclusions, or references to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_knowledgeAInspect
List knowledge entries of a project (compact: title, status, date, link count). Filterable by type, status, tag.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Filter by tag | |
| type | No | Filter by type | |
| status | No | Filter by status (e.g. "open", "confirmed", "rejected") | |
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It usefully reveals the compact response fields and filterability, but it does not mention pagination, sorting, default result size, or that this is a non-mutating read 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?
One well-structured sentence communicates the resource, the compact output shape, and the available filters. There is no wasted wording, and the key information is 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?
For a simple list tool, the description adequately covers the resource, output shape, and filtering options, which is especially helpful given there is no output schema. It stops short of full completeness by omitting pagination, sorting, and explicit guidance about retrieving full entry 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 description coverage is 100%, so the schema already documents all four parameters. The description reinforces that type, status, and tag are filters, but adds no meaning beyond what the schema 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 uses a specific verb ('List') and resource ('knowledge entries of a project'), and clarifies the output is a compact representation with title, status, date, and link count. This distinguishes it from siblings like get_knowledge (single entry detail) and search_knowledge (search).
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: call this to list knowledge entries for a project and filter by type, status, or tag. However, it does not explicitly state when to prefer this over search_knowledge or when to use get_knowledge for full detail, so alternatives are not addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsAInspect
List all own projects
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavior burden. It does disclose the core behavior ('List') and scope ('own projects'), but it does not describe what the response contains, whether it is read-only beyond the verb's implication, or any ordering/filtering behavior. This is a minimal but not fully transparent description.
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 filler. Every word adds meaning: 'List' gives the operation, 'all' gives breadth, 'own' gives ownership scope. It is as concise as a definition can be.
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 zero-parameter, no-output-schema list operation, this description is nearly complete for invocation: the agent knows what action to take and the scope. However, it doesn't clarify what 'own' means precisely (e.g., current user only) or what data the response will contain, which would make it fully 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 tool has zero parameters and an empty input schema, so there are no parameter semantics for the description to clarify. Per baseline for zero parameters, this is appropriately handled; no additional parameter explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List'), a concrete resource ('projects'), and a clear scope ('all own'). This distinguishes it from sibling tools like get_project (single project), create_project (creation), and search_project (search behavior), giving an agent enough semantic clarity without opening other definitions.
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?
Usage is implied rather than explicit: an agent can infer to use this when it needs the user's own projects, but the description provides no when-to-use or when-not-to-use guidance and does not name alternatives. It is adequate but leaves routing decisions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_snapshotsAInspect
List snapshots of a project (compact: title, kind, reference, date)
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that the result is a compact list containing title, kind, reference, and date, but it does not mention ordering, pagination, read-only guarantees, or empty/error 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?
A single, front-loaded sentence with a parenthetical that adds the key output fields. Every word earns its place, and no filler is present.
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 low-complexity tool with no output schema, the description explains both the operation and the returned fields. It could be more complete by noting when to use get_snapshot for full details or any ordering caveats, but it is adequate for the tool's 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?
The schema already covers projectId with 100% description coverage, so the baseline is 3. The description's 'of a project' merely confirms the parameter's role and adds no format, source, or validation detail.
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 'List' with the resource 'snapshots of a project' and enumerates the compact fields returned. It is clear and unambiguous, though it does not explicitly differentiate itself from sibling tools like get_snapshot.
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 a compact listing of a project's snapshots is needed, but it does not state when to prefer get_snapshot or mention any alternatives or exclusions. The guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tasksBInspect
List tasks of a project, optionally filtered by status
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by status | |
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears the full burden of behavioral disclosure. It only states the core operation and does not mention return format, ordering, pagination, or read-only nature. This is a minimal description without added 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 with no redundant words. It conveys the core action, the required scope (project), and the optional filter in a compact, front-loaded manner.
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 low complexity, but with no output schema the return content is not defined. The description does not clarify whether a list of full task objects, summaries, or identifiers is returned, nor any ordering or pagination behavior. Adequate for a basic call, but not fully 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% for both projectId and status, so the schema documents the parameters adequately. The description adds no new parameter-level meaning beyond what the schema already provides; baseline 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?
Description states a specific verb ('List') and resource ('tasks'), scoped to a project with an optional status filter. It is clear and distinct from other list_* siblings in resource type, though it doesn't explicitly call out alternatives.
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 for when to use this tool instead of related tools like create_task, update_task, or list_projects. The intended use is implied by the name and description, but no alternatives, prerequisites, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pin_knowledgeAInspect
Pin a knowledge entry as important — pinned entries appear first in the start_working briefing
| Name | Required | Description | Default |
|---|---|---|---|
| pinned | Yes | true = pin, false = unpin | |
| projectId | Yes | Project ID | |
| knowledgeId | Yes | Knowledge entry ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It goes beyond 'pin' by disclosing the persistent user-visible effect (entries appear first in the start_working briefing), which tells the agent the operation changes ordering, not just metadata. It does not discuss permissions or failure modes, but for a simple boolean pin toggle the key behavior is 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?
A single sentence that front-loads the action and packs the meaningful behavioral consequence after the em dash. No filler, no repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter boolean toggle with all parameters documented and no nested objects or output schema, the description plus schema is enough to invoke it correctly. The only small gap is not stating explicitly that pinned=false reverses the effect, though the schema already conveys that.
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%; projectId, knowledgeId, and pinned are already documented in the schema. The description adds the real-world effect of pinned but no additional parameter-level meaning, so the baseline 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 opens with a specific verb and resource ('Pin a knowledge entry') and defines the intent ('as important') plus a concrete consequence: pinned entries appear first in the start_working briefing. This clearly distinguishes it from sibling knowledge tools like set_knowledge_relevance or link_knowledge.
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 briefing-order effect implies when this tool is useful, but the description never says 'use this when...' or contrasts it with alternatives such as set_knowledge_relevance. An agent can infer usage but gets no explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_fileAInspect
Read text file content (code, Markdown, JSON, CSV, etc.). Returns content directly. For binary files (images, PDFs) use list_files + download.
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | File ID (from list_files or entry details) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It clearly states that the tool returns content directly and is scoped to text files, implicitly ruling out binary files. It does not mention size limits or encoding edge cases, but for a simple read operation the key behavior is disclosed.
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 tight sentences front-load the core behavior and return format, then address the binary-file exception. No wasted words or redundant restatement of the schema.
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 one-parameter read tool with no output schema, the description covers purpose, return behavior, and boundary cases. It is slightly incomplete regarding failure behavior for binary or missing files, but this is minor given the explicit alternative route.
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 only parameter (fileId) is documented in the schema with 100% coverage, including its provenance from list_files or entry details. The description adds no additional parameter-level meaning, so the schema baseline 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?
States a specific action ('Read text file content') and resource, with concrete formats (code, Markdown, JSON, CSV) and explicit return behavior ('Returns content directly'). This clearly distinguishes it from file-management siblings like list_files, upload_file, and delete_file.
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 explicit when-to-use (text files) and when-not-to-use (binary files), naming an alternative approach (list_files + download). However, 'download' is not listed among the sibling tools, so the alternative is less actionable than if it named an actual available tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_elementCInspect
Remove an element from a project
| Name | Required | Description | Default |
|---|---|---|---|
| elementId | Yes | Element ID | |
| projectId | Yes | Project ID |
TDQS
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 only states the action without addressing whether removal is permanent, cascades to related data, or requires special permissions. The destructive nature is implied by 'Remove' but its consequences are not disclosed.
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 one short, front-loaded sentence with no wasted words. It is appropriately sized for a simple tool, though it could have added sibling differentiation without much additional 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?
For a simple two-parameter operation, the description is minimally adequate: it names the action and target, and the schema fully documents the required arguments. However, the absence of output information, side-effect details, and usage context leaves gaps for an agent deciding whether this is the right 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 description coverage is 100%, and each parameter already has a basic description, so the baseline of 3 applies. The tool description adds no additional meaning beyond what the input 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 uses a specific verb ('Remove') and resource ('element from a project'), making the core purpose clear. It is distinguishable from sibling tools like add_element and update_element by the opposite action, though it does not explicitly name alternatives.
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 to use this tool versus alternatives such as delete_entry or unlink_knowledge, nor does it mention any prerequisites or conditions. The intended usage context must be inferred entirely from the tool name and minimal description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_chat_sessionAInspect
Save a complete conversation as a new chat session (title + messages as batch)
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Session title, e.g. "API design discussion" | |
| source | No | Source: "claude", "chatgpt", "slack", "meeting", etc. | |
| messages | Yes | Array of messages in chronological order | |
| metadata | No | Additional metadata (model, session ID, etc.) | |
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It conveys that a new session is created and that the payload is the complete conversation, but it does not disclose expected return behavior, validation constraints, duplicate handling, or side effects beyond saving. For a mutating tool, this leaves important behavior undocumented.
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 with no redundant words; it states the action, resource, and payload shape efficiently. Every element 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?
The tool has five parameters, including a nested messages object, and no output schema or annotations, so more context would help. The schema covers parameter semantics, but the description lacks explicit guidance on when to choose save_chat_session over append_chat_messages and what to expect after saving.
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 all parameters thoroughly. The description adds only the batch/complete-conversation framing, which is useful but not necessary to understand 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 names a specific verb ('save'), resource ('chat session'), and scope ('complete conversation', 'as a new chat session'). The 'new' and 'batch' phrasing clearly distinguishes it from sibling append_chat_messages, which would extend an existing session.
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 wording implies use when persisting a full conversation as a new session and contrasts with append_chat_messages, but it never explicitly names alternatives or states when not to use the tool. There is a clear implied context, yet no explicit exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_datasetAInspect
Save a new dataset — structured data of any kind (measurements, comparisons, research results, price lists, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | The actual data (any JSON structure) | |
| kind | Yes | Kind: "measurement", "comparison", "research", "price_list", "benchmark", "survey", etc. | |
| unit | No | Unit (if applicable): "ms", "°C", "EUR", etc. | |
| title | Yes | Dataset title | |
| summary | No | AI-readable summary: "avg 120ms, P95 340ms" | |
| metadata | No | ||
| projectId | Yes | Project ID |
TDQS
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, and it only says 'Save a new dataset'. It does not disclose return value/confirmation, duplicate-title handling, whether an existing dataset is overwritten or rejected, or whether saving triggers side effects like immediate searchability/listing. The word 'new' is the only behavioral nuance, which is insufficient for a mutating tool with zero annotation coverage.
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 opens with the action and object, followed by clarifying examples. There is zero fluff and every word earns its place; the structure front-loads the most decision-relevant information (that this creates a new dataset).
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 7-param create operation with no annotations and no output schema, the description plus a rich schema (86% coverage) is minimally viable: the agent knows what to pass and roughly what counts as a dataset. However, it is missing invocation expectations that the schema cannot convey—return format, duplicate/overwrite behavior, and whether optional fields like summary or metadata affect indexing or retrieval. Usable, but with 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 description coverage is 86% (6 of 7 params documented, metadata being the exception), so the baseline is 3. The description adds genuine value by restating the allowed kinds in plain language—mirroring the kind parameter's example values—and by emphasizing 'any JSON structure', which reassures agents that data need not be tabular or rigidly shaped. Only the undocumented metadata param is left unaddressed.
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+resource ('Save a new dataset') and explicitly scopes it to 'new', distinguishing it from any update/overwrite operation. The parenthetical examples (measurements, comparisons, research results, price lists) enrich the meaning and align with the kind parameter's allowed values. It is clearly distinguishable from siblings like get_dataset and list_datasets without opening their schemas.
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?
Usage context is implied through the phrase 'structured data of any kind' and the illustrative examples, which signals this is the generic persistence tool for datasets rather than a specialized one. However, there is no explicit when/when-not guidance, no mention of alternatives (e.g., save_snapshots for snapshots, create_entry for entries), and no exclusion criteria for when another tool should be chosen instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_snapshotsAInspect
Save snapshot(s) — state captures like commits, drafts, intermediate states, screenshots. Single or batch (array).
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID | |
| snapshots | Yes | One or more snapshots |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It explains the nature of snapshots and the single-or-batch capability, but it does not disclose mutation semantics such as whether saving overwrites existing snapshots, permissions needed, or response behavior. This is a moderate 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 compact, front-loaded sentence: the action comes first, followed by clarifying examples and batching behavior. There is no filler or redundant 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?
For a two-parameter tool with fully described schema, the description is largely sufficient for an agent to select and invoke it correctly. Minor omissions, such as return value or duplicate/overwrite behavior, keep it from being fully complete, but these are not critical for basic 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%, so the structured schema already documents projectId and snapshots thoroughly. The description adds some contextual meaning with examples and batching, but it does not provide essential parameter information beyond what the schema already gives, matching 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 uses a specific verb and resource ('Save snapshot(s)') and clarifies what counts as a snapshot with examples like commits, drafts, intermediate states, and screenshots. This clearly distinguishes the tool from read-only siblings like get_snapshot and list_snapshots.
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 persisting state captures — but does not explicitly name alternatives or state when not to use it. The 'single or batch' note adds useful batching context, but usage guidance remains mostly inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_entriesBInspect
Search timeline entries by text
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search term | |
| projectId | No | Restrict to one project (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It only states that it searches by text, but does not disclose matching behavior, result ordering, pagination, or whether the operation is read-only.
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, focused sentence with no filler. It front-loads the action and resource, making it easy to parse quickly.
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 two-parameter search tool, this is minimally adequate: the required query parameter and optional projectId are documented in the schema. However, the lack of return-format or behavior details prevents it from being fully 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 coverage is 100%, and both parameters have descriptions. The description adds minimal semantic value beyond restating that the search is by text and scoped to timeline entries, so the baseline 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 states a clear verb ('Search'), a resource ('timeline entries'), and the mechanism ('by text'). It is distinguishable from siblings like list_entries and search_knowledge, though it does not explicitly name 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 usage guidance is provided. The description does not explain when to use this tool over alternatives like list_entries, search_knowledge, or search_project, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_knowledgeBInspect
Full-text search across all knowledge entries of a project (searches title, body, context, outcome)
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Restrict to one type | |
| query | Yes | Search term | |
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It does disclose meaningful behavior by specifying that the search is full-text and covers specific fields, which helps set expectations. However, it does not mention result format, pagination, ordering, case sensitivity, or read-only guarantees, so some behavioral context is still 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 efficient sentence with no filler. It front-loads the core action and scope, then adds the searched fields as useful detail. Every word contributes 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 tool's low complexity, complete parameter schema, and absence of nested objects, the description is largely sufficient for an agent to understand what to invoke. The main gap is the lack of usage guidance relative to sibling tools and the absent return-value description, but these are minor for a straightforward search 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 description coverage is 100%, so the input schema already explains projectId, query, and type. The description adds a little semantic context by clarifying that the query searches across title, body, context, and outcome, but it does not meaningfully expand on parameter formats or constraints beyond what the schema 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 operation ('Full-text search'), the resource ('all knowledge entries of a project'), and the searchable fields ('title, body, context, outcome'). It is specific enough to convey what the tool does, though it does not explicitly distinguish itself from the similarly named sibling tools search_entries and search_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?
No guidance is given about when to use this tool instead of alternatives like search_entries, search_project, get_knowledge, or list_knowledge. The description implies a general search use case but provides no exclusions, conditions, or preferred-alternative routing, leaving the agent to infer eligibility.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_projectAInspect
Full-text search across ALL layers of a project: knowledge, timeline, elements, chats, snapshots, datasets, tasks — one query, one result.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search term (min 2 characters) | |
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure, but it only states the search scope and the 'one query, one result' concept. It does not mention read-only behavior, result format, pagination, limits, authentication needs, or any other operational details that would help an agent understand what will happen when invoked.
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, information-dense sentence with no filler. The core scope ('all layers') is front-loaded, and the list of covered layers makes the coverage explicit 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?
For a simple two-parameter search tool, the description covers the essential scope well. However, with no output schema or annotations, it leaves gaps around what a result contains, how results are combined, and whether pagination or ordering applies. This is adequate but not fully 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 input schema documents both parameters completely, so the description does not need to repeat their meaning. The term 'full-text' adds slight semantic value to the query parameter by implying term-based matching across text fields, but overall 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 clearly identifies a specific action (full-text search) and a specific resource (all layers of a project), enumerating exactly which layers are covered. This distinguishes it from sibling tools like search_entries and search_knowledge, which target only one layer.
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 'ALL layers' phrasing provides clear context that this tool is for cross-layer searches rather than layer-specific ones. It does not explicitly name alternative tools or state when not to use it, but the guidance is strong enough for an agent to infer the distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_agent_instructionsAInspect
Set project-specific instructions for AI agents (coding style, rules, domain knowledge, approaches to avoid)
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID | |
| instructions | Yes | Instructions for the agent (free text, Markdown) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It does not state whether the operation overwrites existing instructions, whether repeated calls accumulate or replace, whether the change is reversible, or what side effects occur beyond setting the instruction text. For a mutation tool, this is a meaningful 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 a single, front-loaded sentence that names the action, the target resource, and useful examples without any redundant filler. Every phrase contributes meaningful 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?
For a low-complexity, two-parameter tool the core call shape is clear, and the schema covers the parameter names. However, with no annotations and no output schema, the description should also clarify overwrite semantics and side effects; their absence leaves the overall context slightly incomplete.
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 already describes both parameters completely, so the baseline is 3. The description adds value beyond the schema by giving concrete categories of what 'instructions' should contain—coding style, rules, domain knowledge, approaches to avoid—which helps the agent populate the parameter correctly.
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 and resource: 'Set project-specific instructions for AI agents,' and adds clarifying examples (coding style, rules, domain knowledge, approaches to avoid). This clearly distinguishes it from sibling mutation tools like update_project_status or create_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 intended use case is implied—whenever project-specific agent instructions need to be defined—but the description does not explicitly state when to prefer this tool over alternatives, when not to use it, or whether it should be combined with other project setup tools. No exclusions or cross-references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_knowledge_relevanceAInspect
Set relevance level of a knowledge entry (higher = more important for the next agent). 0=normal, 1=relevant, 2=important, 3=critical.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID | |
| relevance | Yes | Relevance level: 0=normal, 1=relevant, 2=important, 3=critical | |
| knowledgeId | Yes | Knowledge entry ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It does disclose a meaningful effect (relevance influences the next agent) and defines the numeric scale, but it does not mention overwrite behavior, persistence, side effects, or required permissions. This is partial 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?
A single sentence communicates the action, the scale, and the purpose with no filler. The most important qualifier ('more important for the next agent') is 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?
For a simple 3-parameter setter with fully documented parameters and no output schema, the description is nearly complete. A statement about whether the relevance value is overwritten or persisted would make it fully 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 coverage is 100%, but the description adds value by providing human-readable labels (normal, relevant, important, critical) and explaining that higher values mean greater importance for the next agent, extending the bare 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 uses a specific verb ('Set') and resource ('knowledge entry'), and defines the meaning of relevance levels. It is clear on its own, though it does not explicitly distinguish itself from sibling tools like update_knowledge or pin_knowledge.
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 phrase 'more important for the next agent' implies when this tool is useful, but the description does not state when to prefer it over update_knowledge or pin_knowledge, nor any exclusions. Usage guidance is therefore only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_workingAInspect
FIRST TOOL on project start: Returns a structured briefing with project info, agent instructions, open tasks, pinned knowledge, and recent activity — all in one call. Sets up the session workflow: call add_knowledge() immediately when you discover something important (gotcha, decision, non-obvious insight), and call end_session() when done.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the full disclosure burden. It discloses what the call returns (a structured briefing with specified components) and that it sets up a session workflow linked to add_knowledge() and end_session(). It stops short of stating whether start_working mutates session state or what errors can occur, but the core behavior is clearly conveyed.
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 purposeful sentences with the key information front-loaded: tool role, return contents, and follow-up workflow. There is no redundant material or restatement of the schema.
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 no output schema and no annotations, the description compensates by enumerating the briefing contents and prescribing the follow-up workflow. It leaves minor gaps like error behavior and exact response shape, but an agent has enough context to call it correctly with the required projectId.
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 covers the only parameter, projectId, with a 'Project ID' description at 100% coverage. The tool description adds no further syntax, format, or semantics for projectId, so it does not improve on the schema 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?
States a specific action and resource: it is the FIRST TOOL on project start and returns a structured briefing enumerating project info, agent instructions, open tasks, pinned knowledge, and recent activity. The 'all in one call' phrasing differentiates it from granular retrieval siblings such as get_project, list_tasks, get_knowledge, and get_activity_feed.
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 says to invoke it at project start and defines the session workflow by directing the agent to call add_knowledge() on important discoveries and end_session() when done. It does not explicitly name alternatives to avoid, but the first-tool positioning and workflow pairing make the intended usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
supersede_knowledgeAInspect
Mark a knowledge entry as superseded and point to its replacement
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID | |
| knowledgeId | Yes | ID of the outdated entry | |
| supersededBy | Yes | ID of the newer entry that replaces this one |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It does disclose the core effect: the entry is marked superseded and linked to a replacement. However, it does not mention whether the operation is reversible, whether the superseded entry is hidden from future queries, or whether there are validation constraints on the replacement ID.
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. The primary action is front-loaded ('Mark a knowledge entry as superseded') and the secondary detail ('point to its replacement') is directly relevant. Every word contributes meaning.
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 three-parameter tool with fully documented parameters, the description gives enough to understand the core operation. However, there is no output schema and no annotation coverage, and the description does not clarify side effects on knowledge retrieval, reversibility, or whether the replacement must belong to the same project, leaving some operational uncertainty.
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 all three parameters are already documented in the input schema. The description adds no parameter-level detail beyond restating the replacement relationship, which the schema already captures via the supersededBy 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 states a specific verb and resource: 'Mark a knowledge entry as superseded and point to its replacement.' This clearly distinguishes the tool from siblings like update_knowledge, pin_knowledge, or link_knowledge because the concept of superseding with a replacement is unique and explicit.
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 use case: when a knowledge entry is outdated and has a newer replacement, mark the old one as superseded. However, it does not explicitly state when not to use this tool, nor does it compare against alternatives such as update_knowledge or delete_entry, leaving some routing decisions to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unlink_knowledgeBInspect
Remove a link between two knowledge entries
| Name | Required | Description | Default |
|---|---|---|---|
| linkId | Yes | Link ID | |
| projectId | Yes | Project ID | |
| knowledgeId | Yes | ID of one of the linked entries |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and only says the link is removed. It does not disclose whether the removal is permanent, whether the related knowledge entries are affected, what happens if the linkId does not exist, or what response to expect.
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 with no wasted words, front-loaded with the verb 'Remove.' It is appropriately sized for the tool's low complexity.
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 and all three required parameters are documented, so an agent can likely invoke it. However, with no output schema or annotations, a bit more behavioral context—such as whether the knowledge entries themselves are preserved—would make the description 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 explains linkId, projectId, and knowledgeId. The description adds little beyond the phrase 'between two knowledge entries,' which is a minor conceptual aid but not additional parameter-level detail.
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 ('Remove') and resource ('a link between two knowledge entries'), clearly stating the tool's function. It does not explicitly contrast with sibling link_knowledge, but the inverse relationship makes 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?
No guidance is given on when to use this tool versus alternatives, no prerequisites are mentioned, and no exclusions are stated. The description only restates the operation; it does not mention that link_knowledge is the tool for creating links or when unlinking should be avoided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_elementCInspect
Update an existing element
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| kind | No | ||
| name | No | ||
| elementId | Yes | Element ID | |
| projectId | Yes | Project ID | |
| properties | No | ||
| description | No |
TDQS
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 an existing element,' which conveys mutation but does not explain whether the update is partial or full replacement, what happens if the element does not exist, whether permissions are required, or what response is returned.
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 with no wasted words, but 'existing' is slightly redundant. It is concise at the cost of being under-specified; brevity is present, but the sentence does not carry enough 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?
This tool has 7 parameters, a nested object, no output schema, and no annotations, yet the description provides almost none of the context needed to invoke it correctly. An agent cannot determine valid field values, update semantics, or expected effects from this definition.
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 only 29%, and the description provides no parameter-level detail. The seven parameters, especially the nested 'properties' object, are left unexplained. The description adds no semantic value beyond what the raw schema field names already imply.
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 clear verb and resource: 'Update an existing element' distinguishes it from add_element and remove_element among siblings. However, it does not specify which attributes can be updated or what an 'element' encompasses, so it is clear but not maximally 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?
No guidance is given about when to use this tool versus alternatives like add_element, remove_element, or update_entry. The only implied signal is the word 'existing,' which weakly suggests it is not for creating or deleting, but there is no explicit usage context or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_entryCInspect
Update an existing timeline entry
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| stage | No | ||
| title | No | ||
| entryId | Yes | Entry ID | |
| version | No | ||
| projectId | Yes | Project ID | |
| visibility | No |
TDQS
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,' which signals mutation, but it does not state whether updates are partial or full, whether permissions are required, what side effects occur, or what the response looks like. This is a meaningful 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?
A single sentence with no wasted words. The core verb and resource are front-loaded, making the description easy to parse. While it is under-specified, the conciseness itself is exemplary.
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 7 parameters, no annotations, no output schema, and only 29% schema description coverage. The description does not even mention which fields can be updated, required identifiers beyond the schema, or any behavioral constraints. This is far from complete enough for an agent to invoke it confidently.
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 only 29%, and the description does not compensate by naming any updatable fields. Params like body, stage, title, version, and visibility are left without any semantic explanation in either the schema or the description. The description adds no parameter-level 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 uses a specific verb and resource: 'Update an existing timeline entry.' It clearly identifies the operation and distinguishes it from create_entry and delete_entry by emphasizing 'existing.' It does not, however, elaborate on what fields or semantics are involved, so it falls just short of 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?
There is no guidance on when to use this tool versus alternatives such as create_entry, delete_entry, or update_element. The word 'existing' implies this is not for new entries, but no explicit conditions, prerequisites, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_knowledgeCInspect
Update an existing knowledge entry
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| tags | No | ||
| title | No | ||
| status | No | ||
| context | No | ||
| outcome | No | ||
| projectId | Yes | Project ID | |
| knowledgeId | Yes | Knowledge entry ID |
TDQS
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 'Update an existing knowledge entry' and does not explain whether updates are partial or full replacements, whether specific permissions are needed, whether past versions are retained, or what the return value will be. For a mutation tool 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 single sentence is concise and front-loaded, but given the tool has 8 parameters and no other context, the brevity is under-specification rather than efficient writing. It earns its place as a summary but does not convey the detail needed for correct invocation.
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 far from complete for a tool with 8 parameters, no output schema, and no annotations. It omits what can be updated, how status/context/outcome relate, and any notes about partial updates or side effects. An agent would be guessing on most non-required parameters.
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 only 25% (only projectId and knowledgeId have descriptions), and the tool description does not compensate. It names no parameters and offers no hints about the meaning of body, tags, title, status, context, or outcome. An agent has almost no guidance on how to populate these fields correctly.
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 ('existing knowledge entry'), making it clear this is a modification operation rather than creation. It is distinguishable from add_knowledge and supersede_knowledge at a basic level, though it doesn't list which fields are updatable.
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 about when to use this tool versus alternatives. There is no mention of when to prefer add_knowledge, supersede_knowledge, or other update variants, leaving the agent to infer the appropriate context. The description gives no exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_project_statusAInspect
Set current status, next steps, and/or description of a project. Call at end_session to keep description current — projects often evolve.
| Name | Required | Description | Default |
|---|---|---|---|
| nextSteps | No | Free text: What comes next? | |
| projectId | Yes | Project ID | |
| description | No | Updated project description — revise if the core purpose or scope has changed this session | |
| statusSummary | No | Free text: Where does the project stand? |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of explaining behavior. 'Set' implies an update operation, and the parameter descriptions clarify that fields can be revised, but the description does not disclose side effects, overwrite semantics, or whether the update is reversible. This is adequate but not 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?
Two sentences deliver the core action and a practical usage recommendation with no redundant wording. The main function is front-loaded, and the 'call at end_session' guidance earns its place by adding actionable behavior 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?
For a simple update tool with fully documented parameters and no nested objects or enums, the description is sufficient. It explains what the tool updates and when to use it, and the rich schema covers the fields. It does not mention return values, but given the absence of an output schema and the low complexity, that is a minor gap.
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 all four parameters with meaningful descriptions. The tool description adds contextual framing about project evolution but no parameter-level details beyond what the schema provides, so the 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?
Description clearly states the action ('Set current status, next steps, and/or description') and the resource ('a project'), so an agent knows what the tool does. It does not explicitly contrast with sibling tools like update_task or update_element, so it earns a 4 rather than 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 gives a concrete usage cue: 'Call at end_session to keep description current.' This provides clear context for when the tool is appropriate, though it does not explicitly state when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_taskCInspect
Update a task (change status, add description, adjust priority)
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| title | No | ||
| status | No | ||
| taskId | Yes | Task ID | |
| priority | No | ||
| blockedBy | No | ||
| projectId | Yes | Project ID | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It states that the task is updated but does not mention whether updates are partial or full replacement, whether unspecified fields are preserved, what happens to required relationships like blockedBy, or what the response looks like.
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, front-loaded sentence with useful examples. It wastes no words, though its brevity leaves out important behavioral and parameter 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?
For a tool with 8 parameters, no annotations, and no output schema, this description is too thin to fully guide an agent. It establishes the core action but omits update semantics, field meaning, and return behavior, leaving the agent to guess from 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 only 25%, so the description must compensate. It names status, description, and priority as updatable fields, but gives no semantics for tags, title, blockedBy, or priority values, and the schema itself only documents taskId and projectId.
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 clear verb and resource: 'Update a task', and lists concrete example actions (change status, add description, adjust priority). It is distinguishable from create_task and listing tools, though it does not explicitly name sibling alternatives.
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 to use this tool versus related tools like create_task, list_tasks, or update_element. The context is implied (modify an existing task) but no exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_fileBInspect
Upload a file to a timeline entry (Base64-encoded content)
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Base64-encoded file content | |
| entryId | Yes | Entry ID | |
| fileName | Yes | File name with extension, e.g. "report.pdf" | |
| mimeType | No | MIME type, e.g. "application/pdf" | |
| projectId | Yes | Project ID |
TDQS
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 reveals that content must be Base64-encoded, but it does not state what happens on upload (e.g., whether it overwrites an existing file, whether it returns a file ID, or what errors may occur). The mutation implications of 'upload' are minimally implied but not explicitly disclosed.
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, focused sentence that front-loads the primary action and resource. It contains no unnecessary words or redundant elaboration and earns its place efficiently.
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 covers the core operation and key input requirement (Base64 content), but with no output schema and no annotations, it leaves out return value details, file overwrite behavior, and any size or type constraints. It is minimally viable for a simple upload tool but has gaps for fully informed 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 all parameters are already documented in the schema. The description repeats the Base64 requirement, which adds no new meaning beyond the schema, but it does reinforce the intended purpose of the 'content' parameter. The baseline of 3 is appropriate because the schema carries the semantic load.
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 a specific action, 'Upload a file to a timeline entry', with a required encoding detail (Base64). This distinguishes it from sibling file tools like read_file, delete_file, and list_files, which are read/list/delete operations while this one is an upload 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?
There is no guidance on when to use this tool versus alternatives, nor any mention of prerequisites such as the timeline entry needing to exist. The description does not explicitly exclude other file operations or direct the agent to alternative tools in different scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
48 tool updates
- First observed
add_element - First observed
add_knowledge - First observed
add_knowledge_refs - First observed
append_chat_messages - First observed
create_entry - First observed
create_project - First observed
create_task - First observed
delete_entry - First observed
delete_file - First observed
end_session - First observed
get_activity_feed - First observed
get_chat_session - First observed
get_dataset - First observed
get_knowledge - First observed
get_project - First observed
get_project_summary - First observed
get_snapshot - First observed
init_project - First observed
link_knowledge - First observed
list_chat_sessions - First observed
list_datasets - First observed
list_elements - First observed
list_entries - First observed
list_files - First observed
list_knowledge - First observed
list_projects - First observed
list_snapshots - First observed
list_tasks - First observed
pin_knowledge - First observed
read_file - First observed
remove_element - First observed
save_chat_session - First observed
save_dataset - First observed
save_snapshots - First observed
search_entries - First observed
search_knowledge - First observed
search_project - First observed
set_agent_instructions - First observed
set_knowledge_relevance - First observed
start_working - First observed
supersede_knowledge - First observed
unlink_knowledge - First observed
update_element - First observed
update_entry - First observed
update_knowledge - First observed
update_project_status - First observed
update_task - First observed
upload_file
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
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
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
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
- AlicenseNot gradedqualityDmaintenanceEnables detection and analysis of pre-public product launches through web search, content extraction, AI-powered scoring, and automated alerting. Provides comprehensive tools for surfacing stealth startup signals before they trend publicly.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT- AlicenseNot gradedqualityCmaintenanceEnables AI chat clients to perform market research and competitive intelligence by gathering company overviews, competitor lists, product portfolios, pricing snapshots, and recent news via live Tavily search.MIT
- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.11961MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools target distinct resources (elements, knowledge, tasks, datasets, snapshots), but a few pairs blur boundaries: create_project/init_project both create projects, and pin_knowledge/set_knowledge_relevance both mark importance for future agents. The descriptions help separate them, but misselection is possible without careful reading.
Tool names consistently use snake_case verb_noun and have solid list_/get_/search_ conventions. However creation verbs are inconsistent (add_element vs create_entry vs save_dataset vs init_project), and deletion mixes delete_entry/delete_file with remove_element, making the naming pattern less predictable than it could be.
48 tools is well above the typical well-scoped range, and the set includes many lifecycle variants (create/init/save/add, delete/remove, update/set) that inflate the count. While the server covers a broad domain, the sheer number makes it heavy and harder for an agent to navigate.
The core surfaces (projects, elements, knowledge, timeline, tasks, chats, datasets, snapshots, files) have solid create/read/update coverage, with search and session-handoff tools. Notable gaps exist: read_file references a download path for binary files that no tool provides, and there is no get_entry or delete/archive for projects, datasets, snapshots, or chat sessions.