Xenition
Server Details
Docs, decks, forms, apps you build and deploy, automations, and AI images, video and voice.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- xenition/xenition-mcp
- GitHub Stars
- 1
- Server Listing
- Xenition MCP
TDQS
Scored across 68 tools
Most tools have clearly distinct purposes, and descriptions explicitly disambiguate overlaps such as add_event vs reschedule_event and add_task vs move_task. However, the broad content-query/artifact family (ask_workspace, search_artifacts, query_document, query_spreadsheet, get_artifact, summarize_artifact, extract_from_artifact) has overlapping retrieval purposes that could still cause misselection.
All tool names use consistent snake_case, which is a predictable convention. The pattern is not strictly verb_noun throughout: several are noun/status phrases such as app_status, video_status, form_responses, meeting_notes, my_agenda, and discover_sources.
68 tools is far beyond the typical 3-15 range and well into heavy territory. While Xenition spans many subdomains (calendar, tasks, docs, media, apps, agents, discovery), this volume risks overwhelming an agent's tool-selection process.
The surface covers creation, reading, and some updates across many resources, but delete operations are largely absent for events, tasks, notes, boards, automations, apps, forms, and media, and some update paths (e.g., ledger entries, events beyond rescheduling) are missing. These are notable lifecycle gaps that would force users back into the Xenition UI.
Available Tools
68 toolsadd_eventAdd a calendar eventAInspect
Use this when the user wants to put a new event on their Xenition calendar (a meeting, call, deadline or reminder) with a start time. Returns the upcoming schedule. Do not use to change an existing event (use reschedule_event), and it cannot send invitations to anyone.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | optional end, same format as start | |
| notes | No | ||
| start | Yes | start: YYYY-MM-DD for all-day, or YYYY-MM-DDTHH:MM for a timed event | |
| title | Yes | the event title | |
| location | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation/non-idempotent/safe-write profile, and the description adds genuinely new context beyond them: the side effect that it returns the upcoming schedule, and the limitation that it cannot send invitations. It does not cover edge behaviors such as duplicate handling, timezone assumptions, or required calendar setup, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the usage trigger, followed by the return behavior and then the exclusions. No filler and every clause carries routing or behavioral 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?
An output schema exists so return values need not be spelled out, and annotations carry the safety profile; the description still covers purpose, routing, and key limits. Minor gaps remain around date/time semantics and what happens on duplicate or conflicting events.
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 60%, and the description only reinforces that a start time is needed ('with a start time') without adding format or semantics. The undocumented 'notes' and 'location' fields are left unexplained in both schema and description, so the description does not compensate for the coverage gap.
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 verb and resource ('put a new event on their Xenition calendar') and enumerates the concrete event types (meeting, call, deadline, reminder). It explicitly distinguishes itself from reschedule_event, so an agent can route without opening either 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?
Gives the trigger condition ('when the user wants to put a new event...'), an explicit exclusion ('Do not use to change an existing event'), the named alternative (reschedule_event), and a hard capability limit (no invitations). This is the full when/when-not/alternative triad.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_ledger_entryAdd an invoice or billAInspect
Use this when the user wants to record an invoice, bill or receipt in their Xenition ledger — vendor, amount, due date, optionally already paid. Returns the ledger's invoices. Do not use to pay, send or email an invoice; Xenition has no payment or messaging channel.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | invoice | receipt | credit_note (default invoice) | |
| amount | Yes | the invoice total | |
| vendor | Yes | the vendor / who the invoice is from | |
| dueDate | No | YYYY-MM-DD | |
| currency | No | currency code, default USD | |
| markPaid | No | also mark it paid now | |
| invoiceNumber | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false), so the description's marginal burden is low. It still adds real context beyond the annotations: the capability boundary that Xenition has no payment or messaging channel, which prevents an agent from attempting a send. It does not address duplicate-entry behavior on repeat calls, though idempotentHint=false already signals that.
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, zero waste. The positive trigger and the field summary come first, and the exclusion is placed last where it functions as a guard rather than burying the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with full annotation coverage, a rich schema and an output schema, the description supplies what structured data cannot: the use trigger and the capability boundary. The only unaddressed point is duplicate handling on repeated calls, which is a minor omission given idempotentHint=false.
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 the schema already documents kind, amount, vendor, dueDate, currency, markPaid and invoiceNumber. The description's 'optionally already paid' is a useful gloss on markPaid, but it adds no syntax, format, or default details beyond what the schema states. Baseline 3 is appropriate when the schema carries the 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?
States a specific verb (record) plus the resource (invoice/bill/receipt in the Xenition ledger) and enumerates the key fields (vendor, amount, due date, paid state). It also explicitly carves out the adjacent-but-different operations (pay, send, email), which lets an agent separate this from siblings like mark_paid without opening either 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 trigger is explicit ('Use this when the user wants to record an invoice, bill or receipt'), and it adds a genuine exclusion ('Do not use to pay, send or email an invoice'). What it lacks is a named alternative — mark_paid and query_ledger are never referenced by name, so the routing is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_noteAdd a noteAInspect
Use this when the user wants to save something as a note in Xenition — an idea, a snippet, meeting jottings — with optional tags and notebook. Returns the saved note. For a long structured piece, use create_document instead.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| title | No | the note title (optional) | |
| content | Yes | the note body (markdown) | |
| notebook | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| artifact | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false), so the description need not restate it. It adds that the call returns the saved note and that tags/notebook are optional, but says nothing about permissions, duplicate-content behavior, or whether the note is immediately searchable.
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 tight sentences, front-loaded with the use case and alternative routing. 'Returns the saved note' is mildly redundant given an output schema exists, but it costs little and does not bloat the definition.
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 four-parameter, one-required creation tool with an output schema, the description covers purpose, trigger, and the key alternative. The remaining gap is behavioral detail around tags/notebook semantics rather than anything that would block a correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: title and content are documented, but tags and notebook have no schema descriptions. The description only flags that tags and notebook are 'optional', without explaining tag format, whether tags are created on the fly, or whether notebook must already exist. Baseline 3 for a half-documented schema 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?
States a specific verb+resource ('save something as a note'), enumerates concrete content types (idea, snippet, meeting jottings), and explicitly distinguishes itself from the sibling create_document for long structured pieces. An agent can route correctly without opening either 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?
Gives an explicit trigger ('when the user wants to save something as a note') and names one alternative (create_document) with the condition that selects it. It does not address other note-adjacent siblings such as meeting_notes or search_notes, so the routing picture is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_rowsAdd rows to a spreadsheetAInspect
Use this when the user wants to append rows of data to one of their existing Xenition spreadsheets. Returns the updated sheet. Do not use to create a new spreadsheet (use create_spreadsheet) or to answer questions about the data (use query_spreadsheet).
| Name | Required | Description | Default |
|---|---|---|---|
| rows | Yes | rows to append; each row is a list of cell values (strings) | |
| sheet | No | which spreadsheet (name); defaults to the most recent |
Output Schema
| Name | Required | Description |
|---|---|---|
| artifact | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false and idempotentHint=false, so the safety profile is covered structurally. The description adds that it operates on an existing sheet and returns the updated sheet, but given idempotentHint=false it omits the practically important consequence that retrying appends duplicate rows. Useful but not rich disclosure beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the primary use case and followed by the exclusion routing. Every sentence carries distinct information; no filler or restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and the description does note that the updated sheet comes back. Use-case coverage and sibling routing are complete; the only material omission is a warning about duplicate rows on retry for a non-idempotent append.
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 (rows, sheet) are documented in the schema, so the baseline is 3. The description adds only that the sheet must already exist and that rows are being appended; it contributes no additional format or defaulting 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 states a specific verb and resource ('append rows of data to one of their existing Xenition spreadsheets') and explicitly contrasts itself with the two nearest siblings, create_spreadsheet and query_spreadsheet. An agent can distinguish this from every other add_* sibling by the target artifact (spreadsheet rows).
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?
It gives explicit when-to-use ('user wants to append rows of data to an existing spreadsheet') plus two named when-not cases with the alternative tool to use instead. This is exactly the routing guidance an agent needs and leaves nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_taskAdd a taskAInspect
Use this when the user wants to add a task or card to one of their Xenition boards, optionally in a named column with a due date. Returns the updated board. To create a whole new board, use create_board.
| Name | Required | Description | Default |
|---|---|---|---|
| due | No | due date YYYY-MM-DD | |
| board | No | which board (name); defaults to the most recent | |
| title | Yes | the task title | |
| column | No | which column (name); defaults to the first | |
| assignToMe | No | ||
| description | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| artifact | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds that the call 'Returns the updated board' and that it targets one of the user's boards, but says nothing about permissions, duplicate handling, or what happens if the named board/column doesn't 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?
Two sentences, zero waste, and the usage condition is front-loaded before the sibling alternative. Nothing is repeated from the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so explaining return values is optional and the brief 'Returns the updated board' suffices. For a 6-parameter mutation tool the definition covers purpose, trigger, and the named alternative, but omits semantics for the remaining undocumented parameters, which keeps it short of 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 67%, so most parameters are documented in the schema itself. The description reinforces column and due-date behavior ('optionally in a named column with a due date') but never addresses assignToMe or the description parameter, leaving two of six fields without any added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('add a task or card'), names the target container (Xenition boards), and distinguishes itself from create_board, which handles whole-board creation. An agent can pick this over siblings like create_board or move_task without opening a 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?
It gives an explicit trigger ('Use this when the user wants to add a task or card') and names the alternative create_board with the condition that selects it. It does not mention related siblings such as move_task, complete_task, or list_tasks, so the routing guidance is good but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_to_knowledgeSave to your knowledgeAInspect
Use this when the user wants Xenition to remember material so it can answer from it later — pasted notes, a policy, an article, or a public web page link (e.g. 'save this pricing page so I can ask about it'). Saves it privately to their knowledge; ask_workspace and their agents then answer from it with sources. Text or a web page only; PDFs and Word files are uploaded in Xenition. Do not use to create a document (use the document tools) or to answer a question now (use ask_workspace).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | a public https web page to save instead of pasted text | |
| text | No | the material itself, pasted — notes, a policy, an article. Give text OR url, not both | |
| title | No | a short name for it, e.g. 'Pricing policy 2026'; the page title is used for a link if omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | |
| chunks | Yes | |
| result | Yes | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a non-read-only, non-idempotent write with open-world access, so the base bar is lower. The description still adds real context beyond them: storage is private, saved material later surfaces through ask_workspace and agents with sources, and only text or public web pages are accepted (PDFs/Word go through the upload path). It does not contradict the annotations, though it omits anything about limits or re-save 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?
One well-organized paragraph that leads with the usage condition before the mechanics and closes with exclusions, so the important routing information is front-loaded. It is dense and slightly long for three parameters, but no sentence is 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?
With an output schema present, return values need no explanation, and the annotations carry the safety profile. The description covers triggers, format limits, exclusions, and downstream consumers (ask_workspace and agents answering with sources), leaving nothing an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description nevertheless adds semantics the schema does not: the accepted formats are text or a public web page only, and PDFs/Word files are out of scope, which directly steers the url-vs-text choice. The text-or-url exclusivity is partly restated from the schema, so it is not a full 5.
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/remember) and resource (material in Xenition's knowledge) and explicitly contrasts itself with the document tools and ask_workspace. An agent can tell it apart from add_note, create_document, and ask_workspace without opening any 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?
It gives explicit trigger conditions ('when the user wants Xenition to remember material'), concrete examples (pasted notes, policy, article, URL), and explicit exclusions with named alternatives: do not use to create a document (document tools) or to answer a question now (ask_workspace). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
approve_actionApprove a pending actionBDestructiveInspect
Approve a pending action awaiting the user's decision (from list_pending_approvals).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the pending action id (from list_pending_approvals) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the risk profile is largely carried by structured data. The description adds the precondition that the target must be a pending action, but says nothing about what approving actually triggers or whether it is reversible.
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 tight sentence with the action verb and target front-loaded and no filler. The parenthetical provenance hint is useful, though it duplicates wording already present in 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?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. What remains unstated for a destructive one-param mutation is the consequence of approval and the explicit relationship to deny_action, leaving it only minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, and the schema already states it is "the pending action id (from list_pending_approvals)". The description adds no format, source, or validation detail beyond that, 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?
States a specific verb ("Approve") and resource ("a pending action") and ties it to the originating tool list_pending_approvals. The approve/deny distinction from the sibling deny_action is implicit in the verb rather than called out, so it falls just short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical "(from list_pending_approvals)" implies the workflow: list pending approvals first, then approve one. But there is no explicit when-not guidance and no mention of deny_action as the alternative for rejecting the same item, leaving the choice to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_statusCheck an app build or deployARead-onlyInspect
Use this when the user asks how their app build or deploy is going, or whether it is live. Returns the build phase and file count while building, the finished app when built, and the live URLs once deployed. Needs the id returned by build_app.
| Name | Required | Description | Default |
|---|---|---|---|
| artifactId | Yes | the app's id from build_app (or search_artifacts) |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| error | No | |
| files | No | |
| phase | No | |
| apiUrl | No | |
| status | Yes | |
| liveUrl | No | |
| openUrl | No | |
| mobileUrl | No | |
| artifactId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, and idempotentHint=false. The description adds useful behavioral detail by explaining the state-dependent return values: build phase and file count while building, the finished app when built, and live URLs once deployed. It also notes the build_app id dependency, though it does not cover polling or error states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences and front-loads the usage trigger before explaining returns and the prerequisite. Every sentence contributes directly to selecting and invoking the tool, with 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?
The tool is simple, fully documented by schema and annotations, and has an output schema for return values. The description still supplies the key when-to-use context, the artifactId dependency, and a concise overview of state-dependent returns. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single artifactId parameter has 100% schema description coverage, including that it comes from build_app or search_artifacts. The description repeats the build_app source requirement but adds no syntax, format, or edge-case meaning beyond the schema. This matches the baseline of 3 when schema coverage is high.
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: checking the status of an app build or deploy. It distinguishes this from sibling action tools like build_app and deploy_app by describing the status-checking role and the artifactId prerequisite. An agent can tell 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?
It gives a clear trigger: 'Use this when the user asks how their app build or deploy is going, or whether it is live.' This is strong contextual guidance, but it does not explicitly state when not to use the tool or name a competing sibling to prefer instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ask_workspaceAsk your workspaceARead-onlyInspect
Use this when the user asks a question about their own Xenition content — their documents, notes, files or saved knowledge. Answers only from that content, with sources cited. Do not use for general knowledge or anything outside their workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | the question to answer from the user's own Xenition documents and saved knowledge |
Output Schema
| Name | Required | Description |
|---|---|---|
| answer | Yes | |
| question | Yes | |
| citations | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavior beyond that: answers are grounded strictly in the user's content and come with cited sources, which tells the agent what to expect. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the usage trigger and scope first, the grounding/citation behavior second, the exclusion third. Every clause earns its place and the critical routing 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?
Because an output schema exists, the description needn't explain return values, and it correctly conveys grounding, citation, and scope. It covers essentially everything an agent needs to call the tool, with only the sibling-retrieval distinction left unaddressed.
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 `question` parameter, so the schema already documents it. The description's phrase "their documents, notes, files or saved knowledge" restates the same scoping the schema provides and adds no new syntax or format guidance. 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?
States a specific verb (answers questions) and resource (the user's own Xenition content — documents, notes, files, saved knowledge), and explicitly scopes it against general knowledge. It does not, however, distinguish itself from sibling retrieval tools like query_document, search_notes, or search_artifacts, which overlap heavily.
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?
Gives clear when-to-use ("when the user asks a question about their own Xenition content") and explicit when-not-to-use ("Do not use for general knowledge or anything outside their workspace"). It stops short of routing to the specific alternative tools for retrieval, which is the main remaining gap for sibling selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_appBuild an appAInspect
Use this when the user wants a working web (or mobile) app built for them — e.g. a booking site, a CRM, an internal tool. Generates the full app (screens, API and database) in their Xenition workspace. Takes a few minutes: returns the app's id right away; check progress with app_status, then publish it with deploy_app. The user can also open the link to watch it build. To only open the builder with an idea, use open_app_builder.
| Name | Required | Description | Default |
|---|---|---|---|
| idea | Yes | what the app should do, in the user's words — e.g. 'a booking app for my yoga studio with classes, a timetable and member sign-up' | |
| name | No | optional app name; the builder picks one from the idea otherwise | |
| mobile | No | also generate a native mobile app (takes longer) |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| error | No | |
| files | No | |
| phase | No | |
| apiUrl | No | |
| status | Yes | |
| liveUrl | No | |
| openUrl | No | |
| mobileUrl | No | |
| artifactId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it discloses the operation is asynchronous and slow ('takes a few minutes'), that it returns an id immediately, that progress is tracked via app_status, that publish is a separate step via deploy_app, and that the user can watch the build through a link. Annotations only cover safety/open-world hints; this adds the latency and workflow behavior an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the trigger and scope, then packs the async workflow and the sibling exclusion into a compact set of sentences. No filler; every clause adds actionable 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?
Despite an async, multi-step operation, the description fully covers initiation, immediate return, progress polling, and publishing, and an output schema already exists for return shape. Nothing an agent needs to call it 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% and all three parameters are documented in the schema, so the description adds little parameter-level meaning beyond echoing the 'idea' concept. Baseline 3 is appropriate when the schema carries the parameter 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?
States a specific verb+resource ('build a working web (or mobile) app') with concrete example domains, and explicitly distinguishes itself from the sibling open_app_builder. An agent can tell what this does and what it is not without reading 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?
Gives the trigger condition ('when the user wants a working app built'), names the alternative tool and the condition that selects it ('to only open the builder with an idea, use open_app_builder'), and lays out the follow-on flow (app_status, then deploy_app). Explicit when/when-not/alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_app_from_templateStart an app from a templateAInspect
Use this when the user picks one of Xenition's app templates (from find_app_templates) and wants their own working copy. Copies the full template into their Xenition workspace and publishes it to a live URL; publishing takes a few minutes and app_status reports the links. To generate a new app from a description instead, use build_app.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | optional name for the user's copy; defaults to the template's name | |
| templateId | Yes | the template id from find_app_templates, e.g. 'tpl-danceschool' |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| error | No | |
| files | No | |
| phase | No | |
| apiUrl | No | |
| status | Yes | |
| liveUrl | No | |
| openUrl | No | |
| mobileUrl | No | |
| artifactId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover mutation/idempotency flags. Description adds real behavioral context: copies full template, publishes to a live URL, and publishing takes a few minutes with app_status reporting links. Does not explicitly state async/polling flow or permissions, but the timing and status-pointer are meaningful beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the trigger condition and alternative routing. No filler; every clause 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?
Output schema exists, so return values need not be explained. Description covers trigger, effect, timing, status-check path, and the sibling alternative — complete for this tool's complexity.
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 both parameters are documented in schema. Description references templateId source (find_app_templates) and implied name default, but adds no syntax or format detail beyond 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?
Specific verb+resource (copies template into workspace, publishes to live URL) with explicit prerequisite referencing find_app_templates. Clearly distinguishes from build_app by naming the alternative and the condition that selects it.
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?
States exactly when to use (user picked a template from find_app_templates and wants their own copy) and when not to (to generate from description, use build_app). Explicit alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_3d_modelCheck a 3D model's progressAInspect
Check the status of a 3D model started by create_3d_model. Returns whether it is still generating, completed (with the model), or failed. The inline preview calls this automatically; you can also call it if the user asks whether their model is ready.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | No | the generation job id from create_3d_model | |
| artifactId | Yes | the artifact id from create_3d_model |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| jobId | No | |
| title | No | |
| glbUrl | No | |
| prompt | No | |
| status | Yes | |
| openUrl | No | |
| quality | No | |
| artifactId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are thin and somewhat noisy (readOnlyHint=false, idempotentHint=false on what reads as a status probe), so the description carries real weight: it enumerates the three terminal states (still generating, completed with the model, failed) and discloses that an inline preview already calls it. It does not explain polling cadence, retry behavior, or how long a job typically takes, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action, then the return states, then the calling context. No filler or restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not detail return fields, and it still usefully summarizes the outcome states plus the prerequisite create_3d_model call. The only gap is not telling the agent which of the two identifiers to pass or what to do on a "still generating" result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters already state they come "from create_3d_model," so the description adds no syntax or format detail beyond that. It also does not clarify that artifactId is the required identifier while jobId is optional, leaving the schema to do all the work.
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 verb+resource ("Check the status of a 3D model") and explicitly ties it to the create_3d_model job it monitors. An agent can distinguish this polling tool from create_3d_model and from other status tools like video_status without opening any 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?
Gives a clear trigger ("you can also call it if the user asks whether their model is ready") and notes that the inline preview invokes it automatically, which implies the agent usually does not need to poll. It does not name the sibling alternative for other media types or state an explicit when-not, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_agent_runCheck an agent runARead-onlyInspect
Use this to check a background agent run started by run_agent, when the user asks whether it is done or what it found. Returns its status, the final answer when finished, and a link to view it in Xenition. An unknown id is reported as not found, not as still working.
| Name | Required | Description | Default |
|---|---|---|---|
| missionId | Yes | the job id returned by run_agent |
Output Schema
| Name | Required | Description |
|---|---|---|
| done | Yes | |
| goal | No | |
| agent | No | |
| error | No | |
| answer | No | |
| failed | Yes | |
| status | Yes | |
| openUrl | No | |
| missionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive), so the description's real contribution is the error semantics: an unknown id reports as not found rather than still-working, which prevents an agent from polling forever. It does not describe polling cadence or what status values look like, leaving a small 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?
Three short sentences, front-loaded with the usage trigger, then returns, then the edge case. Every sentence carries information an agent needs and none is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't detail return values and correctly limits itself to a summary plus the not-found edge case. It omits guidance on whether/how often to re-check a still-running job, which is the only material gap for a status-polling tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and schema coverage is 100%, with the schema itself stating 'the job id returned by run_agent'. The description's reference to a run 'started by run_agent' duplicates rather than extends that, 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?
States a specific verb (check) and resource (a background agent run), ties it to the originating sibling run_agent, and enumerates what comes back (status, final answer, view link). An agent can distinguish this from get_mission or list_missions without opening a 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?
Gives an explicit trigger: use when the user asks whether the run is done or what it found, and names run_agent as the prerequisite. No explicit when-not or alternative tool is offered, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_taskComplete a taskADestructiveInspect
Use this when the user says a specific task is done and names it. Moves it to the board's done column and returns the updated board. If several tasks match or none is named, ask which one first.
| Name | Required | Description | Default |
|---|---|---|---|
| board | No | ||
| title | Yes | the task to complete (matched by title) |
Output Schema
| Name | Required | Description |
|---|---|---|
| artifact | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and non-idempotent, so the safety profile is covered. The description adds real value beyond that: it names the target state (done column), discloses the return value (updated board), and specifies the ambiguity-handling policy of asking the user first, which is behavioral guidance not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler; the trigger condition is front-loaded and the edge-case handling follows. Every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description needn't explain return values (though it does briefly). For a destructive mutation tool with annotations covering safety, the description covers when to invoke, the state change, and the ambiguous-match policy; only the board parameter's semantics remain unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: title is documented in the schema as 'matched by title', and the description reinforces that matching is by name. The board parameter has no description in either place, though 'the board's done column' implies board scoping. This is the baseline-3 situation where the schema does most of the work.
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 verb and resource ('Moves it to the board's done column and returns the updated board'), which is far more than a restatement of the name. It does not explicitly differentiate itself from the sibling move_task, which handles arbitrary column moves, so an agent must infer the distinction from 'done column'.
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?
Gives an explicit triggering condition ('when the user says a specific task is done and names it') plus fallback behavior when several or no tasks match. It does not name the alternative tool (move_task) for cases where the destination isn't 'done', so the routing guidance is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_3d_modelCreate a 3D modelAInspect
Generate a 3D model (glTF/GLB) in the user's Xenition workspace from a text prompt or a reference image. Starts generation and returns immediately; an interactive inline preview fills in as it renders (~30-60s, longer for 'realistic'), plus a link to open, edit, and export it (GLB/STL/OBJ) in Xenition. Use when the user asks for a 3D model, mesh, or asset. Best for a single object.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | optional title for the saved model; defaults to the prompt | |
| prompt | Yes | what the 3D model should be — a single object works best (e.g. 'a low-poly wooden sailboat') | |
| quality | No | 'draft' (default, fast) or 'realistic' (higher fidelity, slower — a few minutes) | |
| imageUrl | No | optional URL of a reference image to turn into 3D (image-to-3D); when set the prompt guides the conversion |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| jobId | No | |
| title | No | |
| glbUrl | No | |
| prompt | No | |
| status | Yes | |
| openUrl | No | |
| quality | No | |
| artifactId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing the async contract ('starts generation and returns immediately'), render timing (~30-60s, longer for 'realistic'), an inline preview that fills in progressively, and a follow-up link for open/edit/export. None of this is available from the readOnly/destructive/openWorld hints, and it materially changes how an agent should sequence the call.
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?
Front-loaded with the core action and scoped well; every sentence carries information. The second sentence is somewhat dense, packing async behavior, timing, preview, and export link into one clause chain, but nothing is truly wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and the description covers purpose, async lifecycle, timing, and usage context. It could be slightly more complete by noting whether/how to poll via the sibling check_3d_model, but overall it is sufficient to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents prompt, imageUrl, quality, and title with examples. The description only restates the prompt/imageUrl relationship ('from a text prompt or a reference image') and the 'single object' guidance, adding little over structured fields, 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?
States a specific verb and resource ('Generate a 3D model (glTF/GLB)') from a text prompt or reference image, and names output formats (GLB/STL/OBJ). This clearly distinguishes it from sibling media tools like create_image, create_video, or create_diagram without needing to open 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?
Provides explicit when-to-use triggers ('when the user asks for a 3D model, mesh, or asset') and a scoping hint ('Best for a single object'). It gives clear context but stops short of naming alternatives or exclusions, e.g. when 2D output (create_image) would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_automationSchedule an automationAInspect
Use this when the user wants something done for them on a schedule — every day, on certain weekdays, or every few hours — e.g. 'every Monday at 9, summarise my sales sheet'. Creates a Xenition automation that runs on its own at those times, even when nobody is in this chat. Results appear in Xenition, and anything that would act in a connected app waits for the user's approval. Do not use for a one-off task now (use run_agent).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | for weekly: days like ['mon','thu'] | |
| name | Yes | a short name, e.g. 'Monday sales summary' | |
| task | Yes | what the agent should do each time, in plain words — e.g. 'summarise last week's rows in my Sales sheet and draft an update' | |
| time | No | HH:MM, 24-hour, for daily and weekly — e.g. '09:00' | |
| agent | No | optional agent slug from list_agents to run it; Xenition plans it otherwise | |
| every | No | for every: an interval like '30m' or '6h' (15 minutes minimum) | |
| timezone | No | IANA timezone for daily/weekly, e.g. 'Asia/Dhaka'; UTC if omitted | |
| frequency | Yes | daily, weekly or every |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| name | Yes | |
| when | Yes | |
| enabled | Yes | |
| openUrl | No | |
| schedule | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a non-destructive write, but the description adds real runtime behavior the annotations cannot convey: the automation runs unattended even when nobody is in the chat, results surface in Xenition, and connected-app actions are gated behind user approval.
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?
Front-loads the trigger condition, then the effect, then the exclusion — three sentences with no wasted wording. The example is embedded efficiently rather than listed separately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described. For an 8-parameter creation tool the description still covers the essential who/when/where and the approval-safety model, so an agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each field is documented inline, so the schema carries the parameter semantics. The description only implies scheduling inputs indirectly through its example ('every Monday at 9'), adding little beyond the structured fields, making the baseline 3 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?
States a specific verb ('Creates a Xenition automation') with a clear resource and scope (scheduled, recurring). It also distinguishes itself from the sibling run_agent without the agent needing to open a 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?
Opens with an explicit trigger condition ('when the user wants something done on a schedule') and includes a concrete example. It also names the exclusion and the alternative: 'Do not use for a one-off task now (use run_agent).'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_boardCreate a task boardAInspect
Use this when the user wants a new Kanban board — columns and task cards — built from a brief, e.g. 'a board to plan our product launch'. Returns the board and a link to manage it. To add a single task to an existing board, use add_task.
| Name | Required | Description | Default |
|---|---|---|---|
| brief | Yes | what to create — a topic, brief, or outline | |
| title | No | optional title for the saved artifact |
Output Schema
| Name | Required | Description |
|---|---|---|
| artifact | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (write, non-idempotent, non-destructive, closed-world), so the lower bar applies. The description adds the artifact structure (columns and task cards) and the fact that it returns a management link, but says nothing about permissions, limits, or how the brief is interpreted — modest added value over the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler; the usage trigger is front-loaded, the return note is brief, and the sibling routing comes last. Every sentence carries information an agent needs.
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 creation tool with full schema coverage and an output schema that already describes the returned board and link, the description is nearly complete — purpose, trigger, and alternative all present. The only gap is the near-total silence on behavioral constraints, which the annotations largely cover.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented and the baseline of 3 applies. The example ('a board to plan our product launch') illustrates the kind of brief expected, but adds no detail about format or length beyond the schema's own 'topic, brief, or outline'.
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 verb (create/build) and a well-defined resource — a Kanban board with columns and task cards built from a brief — and gives a concrete example. It explicitly distinguishes itself from add_task, so an agent can route without opening either 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?
Begins with an explicit trigger ('Use this when the user wants a new Kanban board... built from a brief') and resolves the most likely confusion with a named alternative ('To add a single task to an existing board, use add_task'). The when-to-use condition and the when-not condition are both stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_diagramCreate a diagramAInspect
Use this when the user wants a diagram — flowchart, sequence, architecture, ER or mind map — created from a description. Returns the diagram and a link to open and edit it in Xenition.
| Name | Required | Description | Default |
|---|---|---|---|
| brief | Yes | what to create — a topic, brief, or outline | |
| title | No | optional title for the saved artifact |
Output Schema
| Name | Required | Description |
|---|---|---|
| artifact | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-readonly, non-idempotent, non-destructive write, so the safety profile is covered. The description adds that it returns the diagram plus a link to open and edit it in Xenition, which is useful context but largely restates what an existing output schema already conveys. No mention of permissions, quotas, or overwrite 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 tight sentences with the usage trigger front-loaded and the concrete diagram types packed into the first clause. Every sentence earns its place, with 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?
With annotations covering the safety profile and an output schema present, the description needs only to establish purpose, trigger, and return shape — all of which it does. It stops short of noting sibling alternatives or constraints, but nothing essential for correct invocation 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%, so both 'brief' and 'title' are already documented in the schema. The phrase 'created from a description' loosely maps to the brief parameter but adds no format, length, or syntax guidance beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (create) and resource (diagram), and enumerates the concrete diagram kinds it covers — flowchart, sequence, architecture, ER, mind map. That enumeration distinguishes it cleanly from siblings like create_image, create_slides, or create_board.
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 opening 'Use this when the user wants a diagram... created from a description' gives a clear positive trigger. It does not name excluded cases or point to alternative sibling tools, but for a creation tool the trigger condition is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_documentCreate a documentAInspect
Use this when the user asks for a written piece — a report, article, letter, brief, essay or plan — to be created in their Xenition workspace. Returns the document and a link to open and edit it. For slides use create_slides; for a fill-in template such as an invoice or resume, use find_forms.
| Name | Required | Description | Default |
|---|---|---|---|
| brief | Yes | what to create — a topic, brief, or outline | |
| title | No | optional title for the saved artifact |
Output Schema
| Name | Required | Description |
|---|---|---|
| artifact | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a non-readonly, non-idempotent, non-destructive, closed-world write. The description adds that it returns the document plus a link for opening/editing. It does not warn that repeated calls create separate artifacts (relevant given idempotentHint=false), but the annotation set carries the safety profile, so 3 is appropriate.
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, zero padding, front-loading the usage trigger before the sibling routing. Every clause 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?
With annotations, a full output schema, and 100% parameter coverage, the description only needs to supply the trigger, the alternative routing, and a return summary — all present. Minor gap: no note on what the 'brief' argument should contain at minimum or whether repeated invocations duplicate the artifact.
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 both parameters documented ('brief' and optional 'title'), so the schema does the heavy lifting. The description adds no syntax, format, or length guidance for 'brief' beyond what the schema states; 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?
States a specific verb and resource ('create a document') scoped to the user's Xenition workspace, and immediately differentiates from the two nearest siblings (create_slides, find_forms). An agent can tell what this produces without opening any 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?
Gives an explicit trigger ('when the user asks for a written piece — a report, article, letter, brief, essay or plan') and routes excluded cases to alternatives: create_slides for slides, find_forms for fill-in templates. When-not and alternatives are both covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_imageCreate an imageAInspect
Use this when the user wants an image made from a description — an illustration, photo-style picture, logo idea or background. Saves it to their Xenition library and returns the image link. To change an existing image, use edit_image.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | optional name for the saved image | |
| prompt | Yes | what the image should show, with style details — e.g. 'a watercolor of a lighthouse at dawn' | |
| reference | No | optional https URL of an image to base it on |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| kind | No | |
| error | No | |
| title | Yes | |
| status | Yes | |
| openUrl | No | |
| artifactId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely new behavioral context: the result is persisted to the user's Xenition library and a link is returned. It stops short of mentioning cost, rate limits, or generation latency, which would be the remaining useful disclosure for an open-world generative call.
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, zero filler. The trigger condition is front-loaded, the side effect and return value follow, and the disambiguation to edit_image closes it out.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no elaboration, yet the description still flags that a link comes back. Combined with the annotations covering the safety profile and a 100%-covered schema, an agent has everything needed to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so prompt, title and reference are all already documented with examples in the schema. The description only alludes to the prompt ('made from a description') and says nothing about title or the reference-image parameter. Baseline 3 applies when the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('an image made from a description') and enumerates the concrete outputs an agent might be asked for (illustration, photo-style picture, logo idea, background). It also explicitly names the sibling it is not, edit_image, so the boundary is 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?
Gives an explicit trigger ('when the user wants an image made from a description') and an explicit alternative with its own condition ('To change an existing image, use edit_image'). The agent does not need to infer which of the two image tools to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_slidesCreate a slide deckAInspect
Create a polished, designed presentation deck in the user's Xenition workspace from a brief or topic. Returns the deck's slides (shown as an inline preview) plus a link to open and edit it in Xenition. Use when the user asks for slides, a deck, a presentation, or a pitch deck.
| Name | Required | Description | Default |
|---|---|---|---|
| brief | Yes | what the deck is about — a topic, brief, or outline (e.g. 'a 10-slide investor pitch for a solar-panel startup') | |
| title | No | optional title for the saved deck; defaults to a title the engine chooses |
Output Schema
| Name | Required | Description |
|---|---|---|
| theme | Yes | |
| title | Yes | |
| slides | Yes | |
| openUrl | No | |
| artifactId | Yes | |
| slideCount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-idempotent write with no destruction or open-world access. The description adds useful context beyond that: the deck is persisted in the user's workspace, and the result is the slides as an inline preview plus an editable link. It doesn't mention permission or rate-limit considerations, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no filler, and the core action is front-loaded before the return behavior and the usage trigger. Every sentence carries distinct 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?
Covers what the tool does, where the artifact lands, what comes back (preview + edit link), and when to invoke it. With an output schema present it needn't enumerate return fields, and nothing essential for correct invocation 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%, so both parameters are fully documented in the schema. The description only echoes 'from a brief or topic' and never clarifies the optional title behavior beyond what the schema already states. Baseline 3 is appropriate when 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?
States a specific verb (Create) and resource (a polished, designed presentation deck) plus the scope (the user's Xenition workspace). It clearly separates this from sibling creators like create_diagram, create_document, create_spreadsheet, and create_video by naming the concrete artifact 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?
Explicitly gives trigger conditions: 'Use when the user asks for slides, a deck, a presentation, or a pitch deck.' This tells the agent exactly when to reach for this tool. It stops short of naming when NOT to use it or pointing to alternatives (e.g., create_diagram) for adjacent requests.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_speechTurn text into speechAInspect
Use this when the user wants text read aloud as an audio file — a voiceover, narration or spoken message. Returns an MP3 link and saves it to their Xenition library.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | the words to speak | |
| title | No | ||
| voice | No | optional voice name | |
| language | No | optional language code, e.g. 'en', 'es', 'ja' |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| kind | No | |
| error | No | |
| title | Yes | |
| status | Yes | |
| openUrl | No | |
| artifactId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true and idempotentHint=false, so the mutation profile is known. The description adds genuinely useful context beyond that: the return artifact is an MP3 link and the audio is persisted to the user's library, making the side effect explicit. It doesn't note that repeat calls yield new assets despite non-idempotency, which would have earned a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler: the first front-loads the triggering condition, the second the output and persistence behavior. Nothing redundant with the title, which it does not merely restate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not required, and annotations cover the safety/mutation profile. The description completes the picture with triggering context and the library-save side effect. Only the undocumented 'title' parameter and any voice/language caveats remain unaddressed, 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 coverage is 75% (text, voice, language documented; title undocumented), and the description contributes no parameter meaning at all — no voice selection, language behavior, or title usage. With the schema doing most of the work, 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 states a concrete verb+resource outcome ('text read aloud as an audio file', 'Returns an MP3 link'), which clearly distinguishes it from image/video/slides siblings. It stops short of naming or contrasting with the closest sibling, transcribe_audio (the inverse operation), so it doesn't reach the sibling-differentiation bar 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?
'Use this when the user wants text read aloud as an audio file — a voiceover, narration or spoken message' gives an explicit, concrete triggering context with exemplar use cases. It offers no when-not guidance or named alternative (e.g. transcribe_audio for the reverse), so it is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_spreadsheetCreate a spreadsheetAInspect
Use this when the user wants a new spreadsheet or data table — a budget, tracker, schedule or list with formulas where useful — created in their Xenition workspace. Returns the sheet and a link to open it. To add rows to an existing sheet, use add_rows.
| Name | Required | Description | Default |
|---|---|---|---|
| brief | Yes | what to create — a topic, brief, or outline | |
| title | No | optional title for the saved artifact |
Output Schema
| Name | Required | Description |
|---|---|---|
| artifact | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-destructive, non-idempotent write scoped to the workspace (openWorldHint=false). The description adds the workspace scope and return content, but nothing beyond structured data about permissions, duplicate creation on repeat calls, or limits. With annotations covering the safety profile, this is adequate but not rich.
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 short sentences, front-loaded with the primary trigger and closed with the sibling redirect. Every sentence carries a distinct piece of information with 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?
An output schema exists, so the description need not detail return values, and annotations cover the safety profile. The description supplies the trigger, scope, and the key routing decision, leaving nothing an agent needs 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%, so both parameters are already documented by the schema. The description hints at content type via its examples and mentions 'formulas where useful', but adds no format or syntax detail beyond what the schema 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?
States a specific verb (create) and resource (spreadsheet / data table) with concrete examples (budget, tracker, schedule, list). It also names the sibling it is not, add_rows, so an agent can distinguish it without opening another 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?
Gives an explicit trigger ('when the user wants a new spreadsheet or data table') and an explicit alternative plus condition ('To add rows to an existing sheet, use add_rows'). Both the when-to-use and when-to-use-something-else cases are covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_videoCreate a video clipAInspect
Use this when the user wants a short AI video clip made from a description. Starts the video and returns its id right away; generating takes a few minutes, and video_status reports when it is ready with the file link. The clip is saved to their Xenition library.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| aspect | No | 'landscape' (16:9, default), 'portrait' (9:16) or 'square' | |
| prompt | Yes | what happens in the clip, with camera and style — e.g. 'slow drone shot over a misty pine forest at sunrise' | |
| duration | No | length in seconds (the model may cap it; short clips of 5–10 s work best) |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| kind | No | |
| error | No | |
| title | Yes | |
| status | Yes | |
| openUrl | No | |
| artifactId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the generic write/open-world/idempotent profile; the description adds the genuinely important behavioral facts: the call is asynchronous and returns an id immediately, generation takes minutes, video_status is the readiness signal with the file link, and the artifact persists in the user's Xenition library. That is exactly the async/latency/persistence context annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the trigger condition, then the async contract, then persistence. No redundancy and every sentence carries distinct 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?
An output schema exists so return-value detail is unnecessary; the description still supplies what matters for correct invocation — immediate return of the id, the multi-minute latency expectation, and the status-check path. Nothing an agent needs to call this 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 coverage is 75%, with prompt, aspect and duration already documented in the schema, so the description's "made from a description" adds little syntax or format meaning. The undocumented title parameter is not clarified either, leaving the baseline 3 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?
States a specific verb (create) plus resource (short AI video clip) and scopes it to generation from a text description, which implicitly separates it from edit_video and from video_status. The mention of video_status as the follow-up step lets an agent place this tool in the workflow without opening sibling 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?
"Use this when the user wants a short AI video clip made from a description" gives a clear triggering condition, and the second sentence tells the agent to poll video_status afterwards. It stops short of an explicit contrast with edit_video (editing an existing clip) or guidance about prompt quality, so it is clear context rather than full when/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deny_actionDeny a pending actionADestructiveInspect
Deny a pending action awaiting the user's decision (from list_pending_approvals).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the pending action id (from list_pending_approvals) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description adds the useful precondition that only actions awaiting a decision can be denied, but says nothing about reversibility or what happens to the action after denial.
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 zero filler, front-loading the verb and resource before the parenthetical source hint. Nothing is padded or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations fully cover the destructive/non-idempotent profile, so the description need not explain returns or safety. It is nearly complete, with only the missing alternative-tool guidance as a small gap for a destructive one-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single well-documented id parameter, so the schema carries the meaning. The description only restates the id's provenance, which the schema already specifies, adding no new syntax or format guidance.
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 verb ('Deny') and resource ('a pending action'), plus the precondition state ('awaiting the user's decision') and the source tool that produces the id. This cleanly distinguishes it from the antonym sibling approve_action without the agent needing to open either 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?
It implies when to use the tool by tying it to list_pending_approvals, which tells the agent where the id comes from. However, it never names approve_action as the alternative or states the conditions under which denying is appropriate versus approving, leaving the routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_appPublish an appAInspect
Use this when the user wants their built Xenition app published to a live URL. Deploys the app from build_app (it must have finished building — check app_status) and returns right away; deploying takes a few minutes, and app_status reports the live URLs. Publishing makes the app reachable by anyone with the link, so only do it when the user asks.
| Name | Required | Description | Default |
|---|---|---|---|
| artifactId | Yes | the app's id from build_app (or search_artifacts) |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| error | No | |
| files | No | |
| phase | No | |
| apiUrl | No | |
| status | Yes | |
| liveUrl | No | |
| openUrl | No | |
| mobileUrl | No | |
| artifactId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (not read-only, open-world, not idempotent, not destructive), and the description adds substantial context beyond them: the call returns immediately while deployment takes minutes, app_status is where live URLs appear, and publishing exposes the app to anyone with the link. That is exactly the kind of non-obvious behavioral detail annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the trigger condition, then prerequisite, then async/visibility caveat. Every sentence carries distinct, load-bearing information with 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?
An output schema exists, and the description helpfully points to app_status for the resulting live URLs rather than duplicating return values. Prerequisites, async behavior, and visibility implications are all covered, leaving no material gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, which already states artifactId comes from build_app or search_artifacts. The description adds no format or syntax detail beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (published/deploys) and resource (built Xenition app) with a concrete outcome (live URL). It is clearly distinguishable from siblings like publish_artifact, build_app, and app_status.
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 states when to use it ('when the user wants their built app published'), the prerequisite (build_app must have finished — check app_status), and a when-not/guardrail ('only do it when the user asks'). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_searchSearch public listingsARead-onlyInspect
Look up real, current information from open public sources: jobs, hospitals, clinics, pharmacies, banks, schools, universities, companies, government offices. Reads the sources live at the moment of asking rather than from a stored copy, so it is current. Place types (hospitals, schools, banks, pharmacies, clinics, government offices) REQUIRE near. Always tell the user which sources answered and when. Each result may carry phone, website, address, lat/lng and a detail map (salary, cuisine, opening hours). QUOTE THEM — a phone number or an apply link that came back and was not shown is the answer the user asked for, thrown away. Do NOT web-search for a detail that is already in the result. Where a field is genuinely absent, say so for that entry rather than searching again.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | latitude of the user, when the conversation states it — use with lng instead of guessing a place name for 'near me' | |
| lng | No | longitude of the user, when the conversation states it | |
| near | No | a place — a city, an address, a neighbourhood | |
| type | Yes | which catalogue: jobs, hospitals, clinics, pharmacies, banks, schools, universities, companies, gov_offices, events, flights | |
| query | No | what to look for — a job title, a company name, a university | |
| radiusKm | No | how far to look, in kilometres (default 5) |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld and destructive=false, so the safety profile is covered. The description adds genuinely new behavior: sources are read live at query time (which explains and reinforces idempotentHint=false), the returned field set (`phone`, `website`, `lat`/`lng`, `detail`), and a hard input requirement that place types need `near`.
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?
Purpose and the `near` requirement are front-loaded, and most sentences carry operational instructions that affect call correctness. It is on the long side, with the last two sentences (don't re-search, state absent fields) restating the same 'use what you got' idea twice, and the all-caps emphasis is heavier than needed.
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 open-world search tool with an output schema present, the description covers the important gaps: live-vs-cached semantics, required location for place types, and how to report results. It omits result limits/pagination behavior and any relationship to the similarly-named `discover_sources` sibling.
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 schema already documents each parameter and the baseline is 3. The description adds real cross-parameter semantics the schema cannot express — that place-type values require `near`, and that lat/lng should be used instead of guessing a place name for 'near me'. The `type` value list largely duplicates the schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'look up real, current information from open public sources' — plus an explicit enumeration of the catalogues it covers (jobs, hospitals, banks, schools, etc.), which is far beyond a restatement of the name. It does not, however, differentiate itself from the sibling `discover_sources`, whose name is close enough that an agent could confuse the two.
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?
Gives concrete usage constraints: place types REQUIRE `near`, results must be attributed with sources and timing, and details already returned should not be re-searched. It lacks any explicit routing to an alternative tool (e.g. `discover_sources` or `find_tools`), so the agent gets context but not exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_sourcesList public listing sourcesARead-onlyInspect
Say where a Discover answer comes from: which public sources would be asked for a data type, and under what licence. Use when the user asks how we know something, or whether the information can be trusted.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | which catalogue |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety and open-world profile is covered. The description adds the licensing/source-attribution angle, which is useful context, but it doesn't describe output shape or any other behavioral traits beyond what annotations provide. With annotations doing most of the work, a 3 is appropriate.
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: the first defines the behavior, the second gives the usage trigger. No filler, front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one required param, output schema present), and the description covers what the tool does and when to call it. Since an output schema exists, it need not explain return values. Minor gap: no explicit mention of the discover_search sibling relationship.
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 single parameter ('type', described as 'which catalogue') is already documented in the schema. The description mentions 'a data type' which loosely maps to the parameter but adds no syntax, format, or enumeration detail. Baseline 3 when the schema carries the 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 states a specific action: it reveals which public sources underlie a Discover answer and under what licence. That is a clear verb+resource. It doesn't explicitly differentiate itself from the closest sibling, discover_search, but the focus on sourcing/licensing is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context: 'Use when the user asks how we know something, or whether the information can be trusted.' That is a solid when-to-use condition, though it does not state when-not-to-use or name discover_search as the alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_appChange an appADestructiveInspect
Use this when the user wants to change an app they built in Xenition — add a feature, change a screen, restyle it, fix something — described in plain words. Rewrites the affected files and saves a new version of the app. If the app is already live, the change is not published until deploy_app is called again. The app must have finished building (check app_status).
| Name | Required | Description | Default |
|---|---|---|---|
| artifactId | Yes | the app's id from build_app, build_app_from_template or search_artifacts | |
| instruction | Yes | the change in plain words — e.g. 'add a dark mode toggle', 'make the booking form ask for a phone number' |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| error | No | |
| files | No | |
| phase | No | |
| apiUrl | No | |
| status | Yes | |
| liveUrl | No | |
| openUrl | No | |
| mobileUrl | No | |
| artifactId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and idempotentHint=false; the description goes further by explaining that affected files are rewritten, a new version is saved, and changes are not published until deploy_app is called again. It does not cover recoverability of prior versions or permission requirements, so it stops short of fully fleshing out a destructive mutation.
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 tight sentences, front-loaded with the trigger condition, then side effects, then prerequisites. Every sentence carries information an agent needs and 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 a two-parameter mutating tool with an output schema present, the description covers the trigger, the write behavior, the versioning side effect, the deploy coupling, and the build-state precondition. Nothing essential to correct invocation 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 both parameters documented and example instructions given in the schema itself. The description restates that the change is expressed "in plain words" but adds no syntax, format, or constraint beyond that, 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?
States a specific verb (change/edit) and resource (an app built in Xenition), with concrete change categories (feature, screen, restyle, fix). It does not explicitly differentiate itself from the nearby edit_artifact sibling, so an agent must infer that this is the app-specific path.
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?
"Use this when the user wants to change an app they built" gives clear triggering context, and the closing sentence adds a precondition (app must have finished building; check app_status). No explicit when-not or named alternative (e.g. edit_artifact) is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_artifactEdit a saved itemADestructiveInspect
Use this when the user wants one of their existing Xenition items changed in place — rewrite, shorten, expand, change tone, fix grammar or translate. Saves a new version and returns it. Best for documents and notes. To only suggest changes without editing, use review_artifact.
| Name | Required | Description | Default |
|---|---|---|---|
| artifactId | Yes | the id of the artifact to edit (from search_artifacts / get_artifact) | |
| instruction | Yes | what to change, in plain language (e.g. 'make it shorter', 'translate to Spanish', 'more formal tone') |
Output Schema
| Name | Required | Description |
|---|---|---|
| artifact | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false, so the mutation profile is covered. The description adds genuinely new context: the edit produces a saved new version and returns it, which clarifies the effect on the original beyond what the hints say. It stops short of describing rate limits, permissions, or what happens to the prior version.
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?
Front-loaded trigger sentence, then a compact enumeration of edit types, then the versioning fact and the alternative tool. No filler sentences; every clause 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?
An output schema exists so return format need not be explained, and the description still notes that a new version is returned. With annotations covering safety and the schema covering params, the definition gives everything needed to select and call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only two params (artifactId, instruction), and the schema already gives usage examples for both. The description adds no parameter-level detail, so the baseline 3 applies — the schema carries the 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?
States a specific verb and resource ('edit a saved Xenition item') and enumerates the concrete operations covered (rewrite, shorten, expand, tone, grammar, translate). It also names the sibling it is not (review_artifact), so an agent can separate them without opening a 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?
Opens with an explicit trigger ('when the user wants one of their existing items changed in place') and closes with an explicit exclusion plus alternative ('To only suggest changes without editing, use review_artifact'). Both when-to-use and when-not-to-use are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_imageEdit an imageAInspect
Use this when the user wants an existing image changed: edit it by instruction, upscale, remove the background, enhance, erase something, restyle, colorize, restore, expand the canvas, or make a variation. Saves the result as a new image in their Xenition library; the original is kept.
| Name | Required | Description | Default |
|---|---|---|---|
| image | Yes | https URL of the image to edit (e.g. from create_image) | |
| title | No | ||
| prompt | No | what to change, for edit / erase / stylize | |
| operation | Yes | one of: edit, upscale, background-removal, enhance, erase, stylize, colorize, restore, expand, variation |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| kind | No | |
| error | No | |
| title | Yes | |
| status | Yes | |
| openUrl | No | |
| artifactId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true). The description adds real behavioral context beyond them: the result is saved as a new image in the Xenition library and the original is retained. It does not mention prompt requirements per operation or async/latency 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 tight sentences, front-loaded with the trigger condition and followed by the side effect. No filler and 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 mutation tool with an output schema, the description covers the key facts an agent needs: when to use it, what operations exist, and that the original is preserved. Minor gaps remain around which operations require a prompt and any processing latency.
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 75%, so the schema already documents image, prompt and operation. The description still adds value by mapping user intent ('upscale', 'remove the background', 'make a variation') onto the operation values, helping the agent pick the right operation string. It says nothing about the undocumented 'title' 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 concrete verb and resource ('edit an existing image') and then enumerates the supported operations, which cleanly separates it from create_image (new images) and edit_video (video). An agent can route here without opening any 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 opening clause gives an explicit trigger: 'when the user wants an existing image changed', which implicitly excludes generation of new images. It never names a sibling alternative (e.g. create_image) or states exclusions explicitly, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_videoEdit a videoAInspect
Use this when the user wants an existing video improved: burned-in captions, enhanced picture and sound, the background removed, or silences cut out (jump cut). Starts the edit and returns an id right away; video_status reports when the new video is ready. The original is kept; the result is saved to their Xenition library.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| video | Yes | https URL of the video to edit (e.g. from create_video or the user's library) | |
| language | No | for captions: the spoken language code, e.g. 'en' | |
| operation | Yes | captions (burn in subtitles), enhance (clean up picture and sound), matte (remove the background) or jumpcut (cut out silences) |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| kind | No | |
| error | No | |
| title | Yes | |
| status | Yes | |
| openUrl | No | |
| artifactId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), so the bar is lower, yet the description adds genuinely useful behavior: it is asynchronous ('starts the edit and returns an id right away'), the original is preserved, and output lands in the Xenition library. It does not mention cost, rate limits, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: trigger first, then async behavior and polling target, then the non-destructive guarantee. No filler and every clause carries 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 mutating, open-world tool with an output schema present, the description covers everything an agent needs: when to call it, that it returns an id immediately, how to learn when the result is ready, and that the source video survives. Return-value detail is rightly left to the output 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 75%, so the schema carries most of the load, but the description restates the operation vocabulary in user-intent terms (captions, enhance, matte, jumpcut), which helps map a natural-language request onto the enum-less operation string. It adds nothing for title or language 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 opens with a precise trigger and resource ('an existing video improved') and enumerates the four concrete capabilities: burned-in captions, enhanced picture/sound, background removal, and jumpcut silence removal. That set of operations cleanly distinguishes it from create_video (new video) and edit_image (still image) among the siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit when-to-use condition ('when the user wants an existing video improved') and routes the agent to video_status for readiness checking. It stops short of an explicit exclusion ('do not use for new videos – use create_video'), which is the only gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_pdfExport a document as PDFAInspect
Use this when the user wants one of their Xenition documents as a PDF file — to download, print or attach. Returns a link to the PDF. Works for documents (reports, letters, articles); for slides, sheets or notes, open them in Xenition to export.
| Name | Required | Description | Default |
|---|---|---|---|
| artifactId | Yes | the document's id from search_artifacts or create_document |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| title | Yes | |
| artifactId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations carry the safety profile (destructiveHint=false, idempotentHint=false, readOnlyHint=false), and the description adds the artifact-type scope and the fact that a link is returned. It does not explain that the call produces a new PDF artifact (implied by readOnlyHint=false) or whether re-exporting regenerates content, which is the main behavioral question for this tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: purpose and trigger first, returned value second, scope exclusion last. No filler and nothing buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, and the description still flags the return ('a link to the PDF'), plus the supported artifact types. For a single-parameter export tool, an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, and schema description coverage is 100% — the schema already tells the agent artifactId comes from search_artifacts or create_document. The description adds no syntax or format detail beyond that, 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?
Specific verb ('export') plus resource and format ('one of their Xenition documents as a PDF file'), with the output named ('a link to the PDF'). This separates it cleanly from create_document, get_artifact and extract_from_artifact without opening any 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?
Explicit triggering context ('when the user wants ... to download, print or attach') and an explicit scope exclusion ('for slides, sheets or notes, open them in Xenition to export'). When-to-use and when-not-to-use are both stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_from_artifactExtract details from a documentARead-onlyInspect
Use this when the user wants a specific kind of information pulled out of one of their Xenition documents as a list — names, dates, figures, action items, tasks. Answers only from that document. To ask a free question about it, use query_document.
| Name | Required | Description | Default |
|---|---|---|---|
| what | Yes | what to pull out, in plain language (e.g. 'all email addresses', 'the key dates', 'every action item') | |
| artifactId | Yes | the artifact to extract from |
Output Schema
| Name | Required | Description |
|---|---|---|
| body | Yes | |
| title | Yes | |
| formula | No | |
| heading | Yes | |
| openUrl | No | |
| question | No | |
| artifactId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare that this is read-only, non-destructive, and not open-world, so the safety profile is covered structurally. The description adds meaningful behavioral context beyond that: it answers only from the referenced document (scoping/grounding) and returns a list. It does not discuss limits, rate limits, or handling of ambiguous requests, so it falls short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the primary use case and ending with the sibling redirect. No filler, no repetition of title or annotations.
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 annotations covering safety profile, an output schema covering return structure, and full schema descriptions for both parameters, the description only needs to state purpose, usage, and grounding scope — all of which it does. Nothing an agent needs to invoke it 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 coverage is 100% and both parameters already carry precise descriptions, so the schema does the heavy lifting. The description adds a bit of flavor by listing extractable kinds (names, dates, figures, action items), but it does not embellish parameter syntax or format beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('extract') and resource ('one of their Xenition documents'), and it enumerates concrete extraction types (names, dates, figures, action items, tasks). It also explicitly distinguishes itself from the sibling query_document by contrasting list-style extraction with free questions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit usage condition ('when the user wants a specific kind of information pulled out ... as a list') and names the exact alternative for the other case ('To ask a free question about it, use query_document'). This is a textbook when-to-use/when-to-use-sibling routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_app_templatesFind an app templateARead-onlyInspect
Use this when the user wants a ready-made app for a kind of business — a dance school, restaurant, clinic, store, CRM — to start from. Searches Xenition's ~200 full-stack templates (web app, API and database, each with a live demo) and returns matches with their demo links. To start the user's own copy, pass a template id to build_app_from_template.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | max results (default 6, max 12) | |
| query | No | what the app is for — e.g. 'dance school', 'restaurant', 'CRM', 'clinic booking' | |
| category | No | optional category, e.g. 'fitness-sports', 'food-drink', 'health-wellness' |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive). The description adds valuable context the annotations do not: catalog size (~200 templates), content of each template (web app, API, database, live demo), and that results include demo links. It does not mention result capping beyond the schema's limit parameter, but the added operational context is strong.
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 usage trigger, followed by the catalog description and the handoff instruction. 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?
Complete for a read-only search tool with an output schema already present. The description supplies the catalog context and the critical follow-up call (build_app_from_template with a template id), which is exactly what an agent needs to complete the workflow.
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 schema already documents query, limit, and category with examples. The description restates the query concept with examples that mirror the schema, adding little beyond it. Baseline 3 is appropriate when 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?
States a specific verb (find) and resource (app templates) and enumerates concrete example domains (dance school, restaurant, clinic, store, CRM). This clearly distinguishes it from the sibling search_marketplace and find_forms by naming the exact catalog and 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?
Opens with an explicit when-to-use trigger ('when the user wants a ready-made app for a kind of business') and closes by routing to the follow-up tool build_app_from_template with the required argument. The alternative/next step is named with the condition that selects it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_formsFind a document generatorARead-onlyInspect
Search Xenition's library of ready-made forms (invoice, resume, proposal, meeting agenda, job description, and ~200 more). Returns matching forms with their fields, shown as a fillable form the user can complete right here to generate a document. Use when the user wants to create a specific kind of document or fill out a form.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | max results to return (default 6) | |
| query | Yes | what the user wants to make — e.g. 'invoice', 'resume', 'business proposal', 'meeting agenda' |
Output Schema
| Name | Required | Description |
|---|---|---|
| forms | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds real behavioral value beyond that: it explains the result is a set of matching forms 'with their fields, shown as a fillable form the user can complete right here to generate a document' — disclosing the output shape and the follow-on interaction. It does not mention pagination or limit behavior, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first clause and each clause carries information (library, examples, return format, when-to-use). It is slightly verbose with three sequential purposes, but nothing is wasted padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be re-explained, and annotations carry the safety profile. The description covers purpose, examples, output format, and invocation context; only the limit/pagination behavior is unaddressed, which the schema handles.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both query and limit are already documented in the schema, and the query examples in the description duplicate what the schema already provides. The description adds no syntax or format detail beyond structured data, 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?
States a specific verb ('Search') and resource ('library of ready-made forms') with concrete examples, and the title confirms it is a document generator finder. An agent can distinguish it from create_document, create_shared_form, and submit_form without opening any 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?
'Use when the user wants to create a specific kind of document or fill out a form' gives clear positive context for invocation. It does not name an alternative (e.g., blank create_document) or state when-not-to-use, so it falls short of the explicit routing that a 5 requires.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
form_responsesRead form responsesARead-onlyInspect
Use this when the user wants to see what people submitted to a shareable form they made with create_shared_form — sign-ups, survey answers, RSVPs, feedback. Takes the form's link. Returns the responses, newest first, each with its answers and time. Only works for forms the user owns.
| Name | Required | Description | Default |
|---|---|---|---|
| form | Yes | the form's share link (https://xenition.com/f/…) or its token, from create_shared_form |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds non-obvious behavior beyond that: results are ordered newest first, each entry carries answers plus a timestamp, and the call is restricted to forms the user owns (an authorization/ownership constraint not present in the schema).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The triggering condition is front-loaded in the first sentence, followed by argument shape, return behavior, and the ownership constraint. No sentence is redundant and none could be dropped without losing routing or behavioral 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?
An output schema exists, yet the description still briefly characterizes the return (newest first, answers and time), which is more than required. Combined with the ownership restriction and the pointer to its sibling, an agent has everything needed to select and call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'form' parameter, so the baseline is 3. The description adds meaning the schema does not: the parameter must be a form the user owns, and it restates the acceptable value shape (link or token) in user-facing terms.
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 and resource (read responses submitted to a shareable form) and grounds it in concrete examples — sign-ups, survey answers, RSVPs, feedback. It also explicitly links the tool to the sibling that creates the resource (create_shared_form), so an agent can place it in a workflow 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?
It gives a clear triggering condition ("Use this when the user wants to see what people submitted…") and names the originating sibling, create_shared_form. It stops short of naming an alternative or exclusion other than the ownership constraint, so it is strong but not a full when/when-not routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_artifactOpen a saved itemARead-onlyInspect
Use this when the user wants to read or open one specific item — a document, deck, spreadsheet, note or other artifact — and you have its id (from search_artifacts or an earlier result). Returns its content. Very long items come back cut to the first part; use query_document or summarize_artifact to work with the whole thing. Do not use to find items; use search_artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the artifact id, e.g. art_abc123 |
Output Schema
| Name | Required | Description |
|---|---|---|
| artifact | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so safety is covered. The description adds real behavioral context beyond them: it returns content, and very long items are truncated to the first part, with query_document/summarize_artifact as the workaround. It does not mention any auth/permission requirement, which is the only remaining 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?
Three sentences, each load-bearing: eligibility, return behavior plus truncation escape hatch, and the negative routing. The triggering condition is front-loaded and nothing is repeated from the structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be spelled out, and the description still flags the truncation caveat. Combined with a fully documented single parameter and full annotation coverage, an agent has everything needed to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema description coverage is 100%, so the baseline is 3; the description adds value by stating the provenance of the id (from search_artifacts or an earlier result), which helps the agent know when it is even eligible to call the tool.
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 verb+resource (open/read one specific artifact by id) and enumerates the artifact kinds covered. It also explicitly contrasts itself with search_artifacts, query_document and summarize_artifact, so an agent can pick it out of a large sibling list without reading 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?
Gives when to use it (user wants to read/open one specific item and you already have the id), where the id comes from (search_artifacts or an earlier result), and an explicit 'Do not use to find items' exclusion routing to search_artifacts. Alternatives for oversized content are named too.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_missionGet an agent runARead-onlyInspect
Use this when the user asks about one specific Xenition mission (a long-running multi-agent job) by id. Returns its status and results. To see all missions, use list_missions.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the mission id (from list_missions) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered structurally. The description's only added behavioral content is 'Returns its status and results', which is redundant with the existing output schema. It adds no information about latency, mission lifecycle states, or what happens for an unknown/incomplete 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?
Three short sentences, zero filler. The usage condition is front-loaded, the return summary follows, and the alternative-tool routing is last — a clean information hierarchy.
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 single-parameter, read-only lookup with an output schema, the description covers trigger, scope, and alternative routing. Return values are already specified by the output schema, so no further disclosure is needed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one parameter, whose schema text ('the mission id (from list_missions)') already documents format and provenance. The description's 'by id' adds nothing beyond the schema, 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?
States a specific verb and resource ('get one specific Xenition mission by id') and even defines the term ('a long-running multi-agent job'), which resolves the ambiguity between the title 'Get an agent run' and the name get_mission. It also names the sibling it is not (list_missions), so an agent can route without opening either 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?
Explicitly states the triggering condition ('when the user asks about one specific mission by id') and names the alternative tool plus the condition that selects it ('To see all missions, use list_missions'). Both when-to-use and when-not-to-use are covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_fileImport a file into your workspaceAInspect
Use this when the user wants to bring a file's content into their Xenition workspace — e.g. they attached or pasted a document and want it saved. Pass UTF-8 text in textContent, or other content base64-encoded in base64Content, with contentMimeType. Saves it as an editable document that summarize_artifact, query_document, ask_workspace and edit_artifact can work on. Supports text, Markdown, CSV, JSON, HTML and PDF. To bring in a page from the web instead, use add_to_knowledge with its URL.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | a title for the saved file, e.g. 'Q3 Board Notes' | |
| textContent | No | the file's UTF-8 text content. Use this for text, Markdown, CSV, JSON or HTML. Set either this or base64Content, not both. | |
| base64Content | No | the file's content, base64-encoded. Use this for non-UTF-8 files such as a PDF. Set either this or textContent, not both. | |
| contentMimeType | No | the MIME type of the content, e.g. 'text/markdown', 'text/csv', 'text/html', 'application/pdf'. Recommended so the content is handled correctly. |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | Yes | |
| chars | Yes | |
| title | Yes | |
| openUrl | No | |
| artifactId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds genuinely useful behavior beyond that: the artifact becomes an editable document that summarize_artifact, query_document, ask_workspace and edit_artifact can operate on, and it names the supported formats. It does not warn that repeated calls are non-idempotent (duplicate documents), which is the one behavioral 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 trigger condition is front-loaded, followed by parameter mechanics, then the sibling redirect — a sensible order. The prose is dense with em-dashes and clauses but nearly every clause carries information (trigger, encoding choice, MIME type, downstream consumers, formats, alternative), so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and the description still covers the trigger, the parameter encoding choice, the MIME type requirement, supported formats, downstream tool compatibility, and the sibling alternative. For a 4-parameter tool with one required field, nothing an agent needs to call it 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 coverage is 100%, so the baseline is 3; the description earns above that by mapping content types to parameters — UTF-8 text via textContent, other content base64-encoded via base64Content — and by naming which formats fall in each bucket (text, Markdown, CSV, JSON, HTML vs. PDF). That is real guidance the schema only partially conveys through per-field hints.
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 ('bring a file's content into their Xenition workspace') and immediately clarifies the outcome ('saves it as an editable document'). It also distinguishes itself from the closest sibling by explicitly routing web-page imports to add_to_knowledge, so an agent can separate import_file from that alternative without reading either 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?
It gives an explicit trigger ('when the user wants to bring a file's content into their workspace — e.g. they attached or pasted a document') and an explicit alternative with its condition ('To bring in a page from the web instead, use add_to_knowledge with its URL'). The when-to-use, when-to-use-something-else, and the format-selection rule are all stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_agentsList your agentsARead-onlyInspect
Use this when the user asks what Xenition agents (named AI workers) they have, or before run_agent to pick the right one. Returns each agent with its name and what it does.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), so the description's remaining burden is light. Its only added behavioral content is the return shape (name and what it does), which the existing output schema already documents, so it adds little beyond structured data.
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, zero filler, with the primary use case (user asks about their agents) front-loaded ahead of the secondary run_agent prerequisite case.
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 no-parameter, read-only list tool with an output schema and full annotation coverage, the description supplies everything an agent needs: what it lists, when to call it, and the sibling it pairs with.
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 takes zero parameters, so the baseline of 4 applies. The description correctly implies no filtering or selection arguments are required.
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 verb (list) and resource (agents), and defines the domain term inline as 'Xenition agents (named AI workers)' so an agent unfamiliar with the product still knows what is being listed. It also distinguishes itself from the run_agent sibling by name.
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?
Gives two explicit, concrete triggers: when the user asks what agents they have, and before calling run_agent to pick the right one. The second trigger doubles as routing guidance against the closest alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_automationsList automationsARead-onlyInspect
Use this when the user asks what automations they have, when they run, or whether one is paused. Returns each with its schedule, on/off state, last run and id.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds real value beyond that by disclosing the returned fields (schedule, on/off state, last run, id), giving the agent a sense of the payload without opening the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The usage trigger is front-loaded and the return summary follows immediately, so every clause 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 zero-parameter, read-only list tool with a full output schema, the description is complete: it says when to call it and roughly what comes back. The only marginal gap is the absence of any note about ordering or volume (e.g., pagination) for a list 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?
This tool takes zero parameters, so per the rubric the baseline is 4; there is nothing for the description to disambiguate. Schema coverage is 100% and the schema is an empty object with additionalProperties false, so no parameter gaps remain.
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 verb and resource ('list automations') and enumerates what the user-facing intent looks like ('what automations they have, when they run, or whether one is paused'), which cleanly separates it from create_automation and set_automation_enabled. It stops short of explicitly naming those siblings, so it lands just under the top mark.
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?
Gives concrete trigger conditions tied to user questions (asking what automations exist, their run times, or paused state). That is clear context for when to reach for this tool, but it offers no exclusions or explicit alternative-routing (e.g., 'use set_automation_enabled to toggle'), so it is not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_connected_appsList connected appsARead-onlyInspect
Use this when the user asks which third-party apps (Gmail, Slack, Notion, …) are connected to their Xenition account. Read-only; it cannot connect new apps or act in them.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered; the description adds value by explicitly ruling out side effects (cannot connect new apps or act in them), which prevents the agent from over-anticipating capabilities. It adds a little beyond annotations without going very deep.
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, zero waste, with the usage trigger front-loaded before the capability caveat. Every clause 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?
With zero parameters, a full output schema covering return values, and annotations covering the safety profile, the description provides everything an agent needs to select and call the tool correctly. Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline is 4. No parameter-level guidance is needed or expected.
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 and resource ('list connected apps') and scopes it to third-party apps connected to the Xenition account, with concrete examples (Gmail, Slack, Notion). It stops short of differentiating itself from ambiguous siblings such as app_status or find_tools, so it is clear but not fully disambiguating.
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?
It gives an explicit trigger ('Use this when the user asks which third-party apps are connected') and an explicit negative constraint ('it cannot connect new apps or act in them'), steering the agent away from misuse. Both the when-to-use and when-not are stated outright.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_eventsList calendar eventsARead-onlyInspect
Use this when the user asks what is on their Xenition calendar for a range — today, this week, a date, or upcoming. Returns the events with times and links. For a combined view of today's events, tasks and approvals, use my_agenda.
| Name | Required | Description | Default |
|---|---|---|---|
| range | No | today | week | month | a YYYY-MM-DD date; default upcoming (next 30 days) |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds only 'Returns the events with times and links', which duplicate what the existing output schema already conveys, and says nothing about ordering, paging, or the idempotentHint=false implication.
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, zero filler, with the usage trigger front-loaded and the sibling routing placed last where it matters. Every clause 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 single optional-parameter, read-only list tool, the description supplies the trigger, the scope of results, and the disambiguation to the alternative; return values are already covered by the output schema and safety by annotations. Nothing an agent needs to invoke it 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% and the single parameter is fully documented in the schema ('today | week | month | a YYYY-MM-DD date; default upcoming'). The description's list of ranges restates the same options without adding format or default semantics beyond the schema, 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?
States a specific verb and resource (list calendar events) plus the accepted range scope, and explicitly names the sibling it is not ('For a combined view ... use my_agenda'). An agent can distinguish it from my_agenda, reschedule_event and add_event without opening any 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?
Gives an explicit trigger ('Use this when the user asks what is on their Xenition calendar for a range — today, this week, a date, or upcoming') and routes the combined-view case to the named alternative my_agenda. Both when-to-use and when-not-to-use are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_missionsList agent runsARead-onlyInspect
Use this when the user asks what missions (long-running multi-agent jobs) they have in Xenition and how they are going. Returns each with its status and id for get_mission.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds that each mission is returned with its status and id, but since an output schema exists this is largely restated structured data, and it says nothing about ordering, limits, or how 'how they are going' is quantified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, the invocation trigger front-loaded, followed immediately by the return shape and chaining hint. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters, full annotation coverage of the safety profile, and an output schema handling return values, there is nothing further an agent needs. Return contents and the get_mission hand-off are stated explicitly.
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 is an empty object with zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies for a no-parameter tool.
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 verb (list) and resource, and even disambiguates the domain term: 'missions (long-running multi-agent jobs)'. It routes to get_mission for detail, but doesn't explicitly distinguish itself from near-neighbours such as list_agents, check_agent_run, or list_automations.
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?
'Use this when the user asks what missions they have in Xenition and how they are going' gives a concrete invocation trigger, and naming get_mission supplies the natural follow-up. No when-not guidance or exclusions are offered, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pending_approvalsList actions awaiting approvalARead-onlyInspect
List actions the user's assistant/agents are waiting on the user to approve (the 7A approval gate). Each item's id can be passed to approve_action or deny_action.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false). The description adds meaningful context beyond that: these are pending approvals blocking assistant/agent progress, and the ids are actionable handles rather than opaque references. It does not mention ordering, pagination, or empty-state 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, zero waste, with the purpose front-loaded and the actionable follow-up second. Every clause 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?
An output schema exists, so return-value detail is unnecessary, and with no parameters the description only needs to establish purpose and next actions — both are present. Nothing an agent needs to call it 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?
The tool takes zero parameters, so the schema carries nothing to clarify and the baseline of 4 applies. The description correctly adds no parameter noise.
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 verb ('List') and resource ('actions the user's assistant/agents are waiting on the user to approve'), and names the domain concept ('7A approval gate'). An agent can immediately distinguish this from sibling list tools like list_tasks or list_events.
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 routes the agent forward: item ids are 'passed to approve_action or deny_action', naming the sibling tools and the condition that selects them. It stops short of stating when NOT to call it or what to do if the list is empty, so it's clear context without full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tasksList board tasksARead-onlyInspect
Use this when the user asks what tasks are open on their Xenition boards — optionally one board, only theirs, or only overdue ones. Returns each task with its board, column, due date and link.
| Name | Required | Description | Default |
|---|---|---|---|
| mine | No | only tasks assigned to me | |
| board | No | optional board name to scope to | |
| overdue | No | only overdue tasks |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read-only, non-destructive profile. The description adds useful context by saying what is returned (board, column, due date, link) and what optional filters do, though it does not discuss pagination, limits, or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with the use case front-loaded and no filler. Every sentence contributes to selecting or invoking the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With full schema coverage, an output schema, and annotations covering safety, the description supplies the remaining needed context: when to use it and what the returned task records include.
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 each parameter is already fully documented. The description restates the filter meanings in prose but adds no syntax or behavioral 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 states a specific verb and resource: listing open tasks on Xenition boards. It clearly distinguishes this read operation from mutation siblings such as add_task, complete_task, and move_task.
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?
It gives a clear trigger (when the user asks what tasks are open) and summarizes the optional scopes. It does not name alternative tools or state when not to use this tool, so it stops short of the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mark_paidMark an invoice paidADestructiveInspect
Mark a specific invoice in the user's own Xenition ledger as paid. This changes financial records, so it is a confirmed, two-step action: first call it WITHOUT confirmed to preview exactly which invoice would change, relay that to the user, and only call again with confirmed:true after they explicitly agree. When the user asks to mark ALL/EVERY/multiple unpaid invoices paid, list the affected invoices and get the user's confirmation before marking any. Returns the ledger's invoices.
| Name | Required | Description | Default |
|---|---|---|---|
| on | No | date paid YYYY-MM-DD (default today) | |
| amount | No | amount paid (default the invoice total) | |
| vendor | Yes | the invoice's vendor (matched) | |
| confirmed | No | set true ONLY after the user has explicitly confirmed this invoice should be marked paid; leave false/absent on the first attempt so they can review and confirm | |
| invoiceNumber | No | the invoice number, if you know it |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and idempotentHint=false, but the description adds value beyond them: it discloses that this is a 'confirmed, two-step action' requiring explicit user agreement, and spells out the preview-first workflow. It does not state idempotency or what happens on repeat calls, but the two-step confirmation protocol is a real behavioral disclosure the annotations don't provide.
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?
Front-loaded with the core action, then the confirmation protocol. Two paragraphs, each earning its place. Slightly verbose on the bulk case but well-structured and not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a mutation tool with destructive annotations and an output schema (so return values needn't be explained), the description covers the critical workflow: preview, confirm, bulk handling. Missing explicit mention of reversibility or what happens when the invoice isn't found, but otherwise complete for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter already documented (on, amount, vendor, confirmed, invoiceNumber). The description reinforces the semantics of `confirmed` through the workflow narrative but adds no syntax or format details beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (mark paid) and resource (a specific invoice in the user's own Xenition ledger), scoping it to the user's ledger. Clear enough that an agent can distinguish it from query_ledger and add_ledger_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?
Explicitly prescribes the when: first call without `confirmed` to preview, relay to user, then call again with `confirmed:true` after explicit agreement. Also covers the bulk case (mark ALL/EVERY invoices) with its own confirmation path. Nothing left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meeting_notesTurn a meeting into notesAInspect
Turn a meeting or call transcript into clean notes, decisions, and action items (with owners and due dates), saved to the user's Xenition workspace. Use when the user pastes a transcript or asks to summarize a call into notes and tasks.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | optional rough notes to clean up and anchor to the transcript | |
| title | No | optional meeting title | |
| transcript | Yes | the meeting/call transcript text (one line per utterance is ideal) |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | Yes | |
| title | Yes | |
| actions | Yes | |
| openUrl | No | |
| decisions | Yes | |
| artifactId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare write (readOnlyHint=false), non-idempotent, and non-destructive behavior, so the description does not need to re-establish safety. It adds useful context beyond the annotations by specifying what is produced (notes, decisions, action items with owners and due dates) and where it lands (the user's Xenition workspace). It does not warn that repeated runs may create duplicate artifacts, which the idempotentHint=false annotation implies.
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, zero filler, with the output contract front-loaded before the usage trigger. Every clause earns its place by either naming the product of the tool or the condition for calling it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not describe return values, and it adequately covers purpose, output artifacts, and invocation trigger for a simple 3-parameter write tool. The only shortfall is the absence of any note about repeated invocation behavior or where exactly in the workspace results land.
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 three parameters including the optional notes and title fields. The description reinforces that a transcript is the core input but adds no syntax, format, or behavioral nuance beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Turn a meeting or call transcript into clean notes, decisions, and action items') and enumerates the exact outputs, including owners and due dates. It implicitly distinguishes this from siblings like add_note or add_task by scoping the input to a transcript and the output to structured meeting artifacts saved to the workspace.
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?
It gives a clear trigger condition: 'Use when the user pastes a transcript or asks to summarize a call into notes and tasks.' This tells the agent when to reach for this tool, but it names no alternative (e.g., add_note for a plain note, summarize_artifact for existing artifacts) and states no exclusions, so the routing guidance is good but not complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_taskMove a taskADestructiveInspect
Use this when the user wants a specific task moved to another column on its board (e.g. to 'In progress'). Returns the updated board. Ask which task if the name is ambiguous.
| Name | Required | Description | Default |
|---|---|---|---|
| board | No | ||
| title | Yes | the task to move (matched by title) | |
| toColumn | Yes | the destination column name |
Output Schema
| Name | Required | Description |
|---|---|---|
| artifact | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the safety profile is covered. The description adds the return-value note ('Returns the updated board') and an ambiguity-handling behavior, but says nothing about why the operation is flagged destructive or what happens to the task's prior state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste, with the primary trigger front-loaded before the secondary ambiguous-name instruction. Every clause carries 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?
An output schema exists, so the return value need not be explained in depth, and the description still mentions the updated board. The ambiguity instruction rounds it out; the only real gap is the undocumented optional 'board' parameter.
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 67%; title and toColumn are documented in the schema, while 'board' is undescribed. The description implies board context ('on its board') and that title is the addressing key, but adds no format or matching rules beyond what the schema already states.
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 and resource ('task moved to another column on its board') and pins down the board/column mechanics, which is exactly what separates it from add_task, complete_task, or list_tasks. An agent can identify the operation 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?
It gives a clear trigger ('Use this when the user wants a specific task moved...') and even handles the ambiguous-name case by asking the user. It does not explicitly rule out or route to sibling tools such as complete_task or list_tasks, so it stops short of full when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_agendaShow my agendaARead-onlyInspect
The user's day at a glance from Xenition: today's calendar events, tasks due today or overdue, and anything awaiting approval. Use ONLY when the user explicitly asks about their day, schedule, or agenda — e.g. 'what does my day look like', 'what's on my plate today'. Do NOT use it as a fallback for vague requests like 'just handle it' or 'take care of the rest' — for those, ask the user what they mean instead.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds meaningful context beyond that: it enumerates the three data sources merged into the result, which no structured field conveys. It does not discuss latency, caching, or refresh behavior, and an output schema covers the return shape, so a 4 is appropriate.
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 scope statement is front-loaded ahead of the usage constraints, and each sentence carries a distinct instruction (what it returns, when to call, when not to call). The 'from Xenition' branding and the doubled example phrasings add mild redundancy but do not obscure the guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters, a 100%-covered schema, an output schema defining the return values, and annotations covering the safety profile, the description's remaining job is routing and scope — both of which it handles fully.
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 takes zero parameters, so the baseline of 4 applies. There is no argument syntax the description could usefully clarify.
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 aggregated resource — today's calendar events, tasks due or overdue, and pending approvals — with a clear verb of retrieval. This distinguishes it from list_events, list_tasks, and list_pending_approvals, which each return one slice rather than the combined day 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?
Explicitly names the triggering phrasings ('what does my day look like') and an exclusion case ('just handle it'), and prescribes the correct alternative behavior (ask the user for clarification). Nothing is left to inference about when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_app_builderOpen the app builderARead-onlyInspect
Use this when the user wants to open Xenition's no-code app builder themselves, pre-filled with their idea, to shape the app by hand. This builds nothing — it returns a link that opens the builder. To have the app built for them from the conversation, use build_app instead.
| Name | Required | Description | Default |
|---|---|---|---|
| idea | Yes | a clear description of the app to build, distilled from the conversation (e.g. 'a task tracker with projects, due dates, and team assignments') | |
| name | No | a short app name (e.g. 'Task Tracker') | |
| mobile | No | true to also target mobile (web + mobile), otherwise web only |
Output Schema
| Name | Required | Description |
|---|---|---|
| idea | Yes | |
| name | No | |
| mobile | Yes | |
| openUrl | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds real value beyond that: it discloses that no build occurs and that the return value is a link, which prevents the agent from assuming this produces an app. It stops short of describing the link's lifetime or any auth/session requirements.
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 short sentences, front-loaded with the usage trigger followed immediately by the negative capability statement and the routing alternative. 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?
An output schema exists, so return mechanics need not be spelled out, and the description still notes the link return. All parameters are schema-documented and the sibling disambiguation covers the main selection risk for a 60-plus tool workspace.
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 of the three parameters is documented in the schema with examples. The description adds nothing parameter-level (e.g. it does not explain how 'idea' should be distilled or when 'mobile' matters), 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?
States a specific verb (open) and resource (Xenition's no-code app builder) with the qualifier 'pre-filled with their idea, to shape the app by hand.' It also explicitly disclaims what it does not do ('This builds nothing') and names the sibling it differs from (build_app).
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?
Gives an explicit trigger ('when the user wants to open ... themselves') and an explicit alternative with its own condition ('To have the app built for them from the conversation, use build_app instead'). The when/when-not decision is fully resolved.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_artifactPublish a shareable linkAInspect
Publish an existing Xenition artifact as a public, read-only link anyone can open without signing in. Returns the shareable URL. Use when the user wants to share a document, deck, sheet, board, or other artifact.
| Name | Required | Description | Default |
|---|---|---|---|
| artifactId | Yes | the id of the artifact to publish (from search_artifacts, get_artifact, or a create_* tool) |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| title | No | |
| token | Yes | |
| shareUrl | Yes | |
| artifactId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, openWorldHint=true, non-idempotent). The description adds genuinely useful context beyond that: the result is publicly accessible to anyone without signing in, and it returns the shareable URL. It stops short of stating auth requirements or whether publishing can be undone.
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-loaded with the action and outcome, followed by the usage trigger. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter publish tool with full schema coverage, an output schema, and annotations carrying the safety profile, the description covers everything an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single well-documented artifactId (including its provenance from search_artifacts, get_artifact, or create_* tools). The description adds nothing about the parameter, so the schema does the heavy lifting and 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?
States a specific verb (Publish) and resource (artifact) and names the concrete outcome: a public, read-only link. This clearly distinguishes it from siblings like edit_artifact, get_artifact, and repurpose_artifact.
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 final sentence gives a clear trigger condition (when the user wants to share a document, deck, sheet, board, or other artifact). However, it names no alternatives or exclusions, so the agent must infer that other sharing-related siblings are not the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_documentAsk about a documentARead-onlyInspect
Answer a question about, or find a specific thing inside, ONE of the user's Xenition documents (grounded only in that document). Use to look something up in a specific file the user names.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | what to find or ask about the document, in plain language | |
| artifactId | Yes | the document to search/answer from |
Output Schema
| Name | Required | Description |
|---|---|---|
| body | Yes | |
| title | Yes | |
| formula | No | |
| heading | Yes | |
| openUrl | No | |
| question | No | |
| artifactId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false. The description adds meaningful behavioral context beyond them: the answer is 'grounded only in that document,' which tells the agent not to blend in other sources. It does not address why idempotentHint is false, but with annotations covering safety this is a solid addition.
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 with the core scope statement front-loaded. The second sentence partly restates the first ('a specific file the user names' vs 'ONE of the user's documents'), costing a little density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations carry the safety profile. Scope, grounding, and usage condition are all covered for a two-parameter, fully-documented query tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented by the schema. The description reinforces that the question is about the named file but adds no syntax, format, or size guidance beyond the schema, so 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?
States a specific verb (answer/find) and resource (a Xenition document) with an explicit scope constraint: 'ONE of the user's Xenition documents' grounded only in that document. The 'ONE' scoping and 'a specific file the user names' cleanly separate it from workspace-wide siblings like ask_workspace.
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?
Gives a clear when-to-use condition: 'Use to look something up in a specific file the user names.' It does not name an alternative tool or state exclusions, so it stops short of full routing guidance, but the selection condition is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_ledgerLook up invoices and billsARead-onlyInspect
List the user's own Xenition ledger invoices with paid/unpaid status. Optionally filter to a vendor or only unpaid ones. Use ONLY when the user is asking to see or total invoices already recorded in their Xenition ledger — e.g. 'what invoices are unpaid', 'how much do I owe vendor X'. Do NOT use it to send, text, email, or deliver an invoice to anyone (Xenition cannot send communications), and do NOT use it to look up invoices that are not in the user's Xenition ledger.
| Name | Required | Description | Default |
|---|---|---|---|
| vendor | No | only invoices from this vendor | |
| unpaidOnly | No | only unpaid invoices |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds genuine context beyond that: Xenition cannot send communications and the query is limited to the user's own ledger, which constrains expectations. It does not discuss result volume or pagination, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first sentence, followed by filter behavior and then the usage constraints. Three sentences with no filler, though the exclusion sentence is somewhat long for the value it carries.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema covering return values, annotations covering the safety profile, and 100% parameter coverage, the description only needs to supply purpose, usage, and boundaries — all of which it does. An agent has everything required to select and call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (vendor, unpaidOnly) are already documented in the schema. The description restates the vendor and unpaid filtering in prose but adds no syntax or format detail beyond the schema, 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?
States a specific verb (List) and resource (the user's own Xenition ledger invoices) with the paid/unpaid status dimension. It clearly delimits scope but differentiates by negative conditions rather than naming a sibling like add_ledger_entry or mark_paid, so it stops just short of the sibling-differentiation bar for 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?
Explicitly states when to use it ('asking to see or total invoices already recorded'), gives concrete examples ('what invoices are unpaid', 'how much do I owe vendor X'), and adds two clear when-NOT-to-use cases (sending/delivering invoices, and non-ledger invoices). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_spreadsheetAsk about a spreadsheetARead-onlyInspect
Answer a question or compute a result over one of the user's Xenition spreadsheets — sums, trends, lookups, or 'what does this data say'. Returns the answer and, when relevant, a suggested formula.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | a question to compute/answer over the sheet (e.g. 'total revenue in Q3', 'which region grew fastest') | |
| artifactId | Yes | the spreadsheet artifact to query |
Output Schema
| Name | Required | Description |
|---|---|---|
| body | Yes | |
| title | Yes | |
| formula | No | |
| heading | Yes | |
| openUrl | No | |
| question | No | |
| artifactId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint=true, destructiveHint=false, openWorldHint=false, so safety profile is clear. The description adds that a suggested formula may be returned, which is useful. But with an output schema present, much of the return behavior is structured elsewhere, so the add is modest.
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?
Single tight sentence, front-loaded with the action, followed by illustrative operation types and the return hint. 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?
With annotations and an output schema covering return shape, the description is nearly complete for a 2-param read tool. Only missing explicit sibling routing for query_document/query_ledger, which 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 coverage is 100% with clear descriptions and examples for both params. The description restates that a question is being answered, which adds little beyond the schema's own example ('total revenue in Q3'). Baseline 3 is appropriate when 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?
Specific verb+resource: 'Answer a question or compute a result over one of the user's Xenition spreadsheets', with concrete operation types (sums, trends, lookups). The mention of 'spreadsheets' distinguishes it from query_document, query_ledger, and ask_workspace.
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?
Implied usage ('over one of the user's Xenition spreadsheets') but no explicit when-to-use vs alternatives like query_document, query_ledger, or summarize_artifact. Agent must infer spreadsheet-specific routing from the resource name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repurpose_artifactTurn an item into another formatAInspect
Use this when the user wants one of their Xenition items turned into a different format: a task board, calendar events, a form or a slide deck — e.g. meeting notes into a board of action items, or a document into a deck. Creates a new item and returns it; the original is unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | optional title for the new artifact; defaults to the source title | |
| target | Yes | what to turn it into: 'board' (tasks), 'calendar' (events), 'form', or 'slides' (a deck) | |
| artifactId | Yes | the source artifact to repurpose (from search_artifacts / get_artifact) |
Output Schema
| Name | Required | Description |
|---|---|---|
| artifact | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false and destructiveHint=false, and the description adds the key behavioral facts that go beyond them: a new item is created, the new item is returned, and the original is left unchanged. It does not cover idempotency or failure behavior, but the non-destructive outcome is 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?
Two sentences, zero filler: the trigger condition is front-loaded, followed by the concrete format list and examples, then the side-effect note. Every clause 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 conversion tool with full schema coverage, annotations, and an output schema, the description supplies what structured data cannot: the use trigger, the example mappings, and the create-new/leave-original-intact outcome. Nothing an agent needs to call it 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 coverage is 100%, so all three parameters (artifactId, target, title) are already documented in the schema, including the target vocabulary. The description restates the target options and the source-item concept but adds no format details, defaults, or constraints beyond the schema, making baseline 3 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 (turn/convert) and resource (a Xenition item into another format) and enumerates the concrete outputs: board, calendar, form, slides. It is clearly distinguishable from creation siblings like create_board or create_slides because it operates on an existing source item.
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?
It gives an explicit trigger: 'Use this when the user wants one of their Xenition items turned into a different format,' reinforced by two conversion examples. It stops short of naming when-not or pointing to an alternative tool, so it is clear context rather than full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reschedule_eventReschedule an eventADestructiveInspect
Use this when the user wants to move an existing Xenition calendar event to a new time. Returns the upcoming schedule. Ask which event if several share the name; to add a new event use add_event.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | new end (optional) | |
| start | Yes | new start, same format as add_event | |
| title | Yes | the event to move (matched by title) |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the safety profile is covered. The description adds only 'Returns the upcoming schedule' plus the title-collision prompt; it never states that the existing time is overwritten or what happens to the duration when 'end' is omitted. With annotations carrying the load, a 3 is appropriate.
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 short sentences with zero filler, front-loading the trigger condition before the alternative and the disambiguation hint. Every clause 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?
An output schema exists, so return values need not be explained, and the description still notes that the upcoming schedule comes back. For a destructive, non-idempotent mutation it could say more about overwriting the prior time, but the essential selection and invocation information is present.
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 schema. The description adds no parameter-level meaning beyond what the schema provides, 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?
States a specific verb (move/reschedule) and resource (existing Xenition calendar event) with the new time as the target. It explicitly distinguishes itself from the sibling add_event, so an agent can route between creating and moving without opening either 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?
Opens with an explicit trigger condition ('Use this when the user wants to move an existing... event'), names the alternative for the opposite case ('to add a new event use add_event'), and gives disambiguation guidance ('Ask which event if several share the name'). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_artifactReview a documentARead-onlyInspect
Review one of the user's Xenition documents and return constructive comments — each tied to a quoted passage — on clarity, structure, and correctness. Non-destructive: it suggests, it doesn't edit (use edit_artifact to apply changes).
| Name | Required | Description | Default |
|---|---|---|---|
| artifactId | Yes | the artifact to review (best for documents) |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | |
| openUrl | No | |
| comments | Yes | |
| artifactId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered; the description reinforces this with 'Non-destructive: it suggests, it doesn't edit' and discloses the nature of the output (comments anchored to quoted passages). It adds real context, though it says nothing about cost, latency, or scope limits on large documents.
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, both load-bearing: the first defines the action and output, the second disambiguates from the edit path. Front-loaded purpose with 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 a one-parameter, read-only tool with an output schema already describing the return payload, nothing an agent needs is missing: the action, the non-destructive contract, and the sibling to use for applying changes are all present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter and the schema already documents it at 100% coverage ('the artifact to review (best for documents)'), so the schema does the heavy lifting. The description's only additional signal is that the target is one of the user's documents, which is marginal and largely mirrors the schema note.
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 verb (review) and resource (a Xenition document) and specifies the output shape: constructive comments each tied to a quoted passage, covering clarity, structure and correctness. An agent can immediately distinguish it from edit_artifact or summarize_artifact.
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 frames this as non-destructive ('it suggests, it doesn't edit') and names the follow-up alternative, edit_artifact, for applying changes. It does not, however, contrast itself with close siblings like summarize_artifact, extract_from_artifact or query_document, so the routing guidance is clear but incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_agentRun an agentADestructiveInspect
Use this when the user wants one of their Xenition agents to work on a task in the background (research can take a few minutes). Returns a run id right away; progress, the final result and a link appear as it finishes, and check_agent_run reports on it. Call list_agents first if you do not know the agent.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | the agent's slug (from list_agents) | |
| input | No | the task/prompt for the agent |
Output Schema
| Name | Required | Description |
|---|---|---|
| done | Yes | |
| goal | No | |
| agent | No | |
| error | No | |
| answer | No | |
| failed | Yes | |
| status | Yes | |
| openUrl | No | |
| missionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true). The description adds meaningful context beyond that: asynchronous background execution, that research can take minutes, that a run id returns immediately, and that progress/result/link arrive later. It stops short of stating permission or any failure/expiration behavior, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, each earning its place: trigger condition first, then return/async behavior, then the prerequisite lookup. No filler and the most decision-relevant 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?
An output schema exists, so return values need not be specified, yet the description covers the async contract and monitoring path anyway. Combined with the guidance on obtaining the slug, an agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters (slug, input) are already documented in the schema. The description only reinforces where the slug comes from ('Call list_agents first') and otherwise adds no syntax or format detail beyond the schema, which is the expected 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?
Specific verb+resource: it launches one of the user's Xenition agents on a task in the background and returns a run id. It explicitly names and distinguishes siblings check_agent_run (monitoring) and list_agents (discovery), so an agent can tell it apart 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?
States the triggering condition ('when the user wants one of their Xenition agents to work on a task in the background') and routes to the right alternatives: call list_agents first if the agent is unknown, and use check_agent_run to follow progress. Both when-to-use and the adjacent tool choice are explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_artifactsSearch your workspaceARead-onlyInspect
Search the signed-in user's own Xenition artifacts (documents, slides, sheets, media, code) and return matches. Use ONLY when the user is explicitly looking for their existing content. Do NOT call it to check whether an unsupported or out-of-scope action is possible, to find another person's content, or as a first step toward a bulk/irreversible action — confirm or decline those first.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | filter by type: document, slides, sheet, image, media, code | |
| query | No | free-text search over the user's artifacts | |
| project | No | optional project id to scope the search | |
| workspace | No | optional workspace id to scope the search |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | No | |
| artifacts | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), and the description adds meaningful context beyond them: results are restricted to the caller's own content and it must not be used to enumerate other users' data. It stops short of disclosing result-volume, ranking, or pagination behaviour, so it is good rather than rich.
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 purpose is front-loaded in the first sentence and the guardrails follow. The second sentence is long with three exclusion clauses, but every clause carries distinct routing value, so almost nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and all four optional parameters are schema-documented with annotations covering the safety profile. The only unaddressed items are query semantics and result limits, which are minor for a read-only search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so type/query/project/workspace are already documented by the schema, and the description's content-type list merely echoes the type filter. No additional syntax, matching rules, or scoping semantics are added, 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?
States a specific verb (search) plus the resource and scope ('signed-in user's own Xenition artifacts'), and enumerates the content types covered (documents, slides, sheets, media, code). It is clearly identifiable, though it never names or contrasts the near-neighbour siblings search_notes, discover_search, or get_artifact, so an agent must infer the boundary.
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?
Gives explicit when-to-use ('ONLY when the user is explicitly looking for their existing content') and three concrete when-not conditions: capability probing, finding another person's content, and using search as a precursor to a bulk/irreversible action. This is unusually actionable routing guidance rather than vague intent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_notesSearch notesARead-onlyInspect
Use this when the user is looking for one of their Xenition notes by words, tag or notebook. Returns matching notes with links. To search all their content (documents, decks, sheets), use search_artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | only notes with this tag | |
| query | No | free text to match in the note title/content | |
| notebook | No | only notes in this notebook |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| empty | No | |
| items | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered without the description. The description adds that it returns matching notes with links, but since an output schema exists this is minor added value; it says nothing about result limits or ranking.
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, zero filler. The primary purpose is front-loaded before the disambiguation clause, which is exactly the right ordering.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and annotations cover safety. What remains slightly under-specified is result-count behavior and whether the three filters combine as AND or OR, though this is minor for a simple search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (tag, query, notebook) are already documented in the schema. The description's phrase 'by words, tag or notebook' loosely mirrors those params but adds no format or matching semantics beyond what the schema states.
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 verb (search) and resource (Xenition notes), and explicitly names the scope boundaries (by words, tag or notebook). It distinguishes itself from the sibling search_artifacts by contrast, so an agent can route without opening either 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?
Begins with 'Use this when the user is looking for one of their Xenition notes' and names the alternative search_artifacts with the exact condition that selects it ('to search all their content'). When-to-use and when-not-to-use are both explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_automation_enabledPause or resume an automationADestructiveInspect
Use this when the user wants to pause one of their automations or turn a paused one back on. Needs the automation's id from list_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the automation's id from list_automations or create_automation | |
| enabled | Yes | false to pause it, true to resume it |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=true, so the safety profile is covered by structured data. The description adds nothing behavioral beyond that: it does not say whether pausing halts in-flight runs, whether the change is reversible, or what permissions are needed. Minimum viable given 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?
Two short sentences with zero filler; the usage trigger is front-loaded and the prerequisite id source follows. Every clause 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?
With an output schema present, return values need no explanation, and both parameters are fully documented in the schema. The only gap is the effect of pausing on the automation's behavior, which the annotations partially cover via the mutation hints. Otherwise complete for a simple two-parameter toggle.
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 are fully documented there ('id' from list_automations or create_automation; 'enabled' false=pause, true=resume). The description only reiterates the id dependency, adding no format or semantic detail the schema lacks, 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 states a concrete action on a concrete resource ('pause one of their automations or turn a paused one back on'), so an agent can tell it is a state-toggle tool rather than a creation or listing tool. It does not explicitly contrast itself with siblings like create_automation or list_automations, but the name and phrasing are distinct enough to avoid confusion.
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?
It gives an explicit trigger condition ('Use this when the user wants to pause... or turn a paused one back on') and names the prerequisite tool for obtaining the id (list_automations). It stops short of stating when NOT to use it, or which tool handles other automation edits, so it falls just below a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_formGenerate a document from a formAInspect
Submit a filled Xenition form (from find_forms) to generate its document. Saves the result to the user's workspace and returns it. Usually called by the form widget when the user clicks submit.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | optional title for the produced document | |
| formId | Yes | the form id from find_forms (e.g. 'invoice', 'resume') | |
| values | Yes | the filled field values, keyed by field name; a list field is an array of objects keyed by its sub-field names |
Output Schema
| Name | Required | Description |
|---|---|---|
| artifact | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation/safety profile (readOnly=false, idempotent=false, destructive=false). The description adds real value beyond that by disclosing the side effect (result is saved to the user's workspace) and that the document is returned, which the annotations do not convey.
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 tight sentences, front-loaded with purpose, then side effect, then invocation context. Every sentence carries information an agent needs; 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?
An output schema exists, so return format needn't be explained, and the description covers purpose, side effect, and when it fires. For a 3-param tool with full schema coverage and annotations, nothing material 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%, so all three parameters (title, formId, values) are already documented, including the nested list-field convention. The description only reinforces that formId comes from find_forms; it adds no syntax or format detail beyond the schema, 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?
States a specific verb (submit), resource (a filled Xenition form), and outcome (generate its document) in the first sentence. It also names the sibling that produces the formId (find_forms), so an agent can place it in the workflow without opening either 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?
Gives clear context for invocation — usually triggered by the form widget on user submit — and ties formId to find_forms. It does not name when NOT to use it or give alternatives (e.g. create_document for non-form generation), which keeps it short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summarize_artifactSummarize a documentARead-onlyInspect
Use this when the user wants a summary of one of their Xenition documents, notes or research — a TL;DR, key points, action items or a fuller summary. Works on long documents in full. Do not use to change the document (use edit_artifact).
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | 'tldr' (default, short), 'key_points' (bulleted), 'action_items', or 'detailed' | |
| artifactId | Yes | the artifact to summarize (from search_artifacts / get_artifact) |
Output Schema
| Name | Required | Description |
|---|---|---|
| body | Yes | |
| title | Yes | |
| formula | No | |
| heading | Yes | |
| openUrl | No | |
| question | No | |
| artifactId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered and the description does not contradict it. It adds a genuinely useful capability note — 'Works on long documents in full' — which tells the agent no chunking or truncation workaround is needed. It stops short of latency, cost, or output-delivery detail, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the usage trigger before the exclusion, and every clause carries information (purpose, supported document types, style intents, alternative tool). 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?
An output schema exists so return values need not be described, annotations cover the read-only/no-side-effect profile, and both parameters are fully documented. The remaining operational facts an agent needs (when to call it, what not to use, capability on long inputs) are all present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description goes slightly beyond by mapping natural-language user intent ('a TL;DR, key points, action items') onto the style values, helping the agent choose a style from the request rather than from the enum alone. It still doesn't explain what 'detailed' produces versus 'tldr' in output terms.
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?
Specific verb + resource ('summarize one of their Xenition documents, notes or research') with the output shapes enumerated (TL;DR, key points, action items, fuller summary). This distinguishes it cleanly from siblings like edit_artifact, extract_from_artifact and repurpose_artifact without the agent needing to diff 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?
Explicit trigger ('Use this when the user wants a summary'), an explicit exclusion ('Do not use to change the document') and a named alternative ('use edit_artifact'). Nothing about when to pick this tool is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transcribe_audioTranscribe a recordingAInspect
Use this when the user wants the words from an audio or video recording — a meeting, lecture, interview or voice memo — and gives a link to the file (https, up to 25 MB). Returns the transcript and saves it as a document in their Xenition workspace. To turn it into notes and action items, pass the text to meeting_notes.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | https link to an audio or video file (mp3, m4a, wav, mp4, webm …), up to 25 MB | |
| title | No | optional name for the saved transcript | |
| language | No | optional spoken language code, e.g. 'en', 'es'; detected when omitted |
Output Schema
| Name | Required | Description |
|---|---|---|
| text | Yes | |
| title | Yes | |
| openUrl | No | |
| truncated | No | |
| artifactId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare non-read-only, non-destructive, non-idempotent, open-world. The description adds meaningful context beyond that: the transcript is persisted as a document in the workspace (a side effect worth knowing for a non-read-only tool) and the 25 MB / link-form input constraint. It stops short of explaining failure modes or format of the returned transcript, but the safety profile is already covered by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: trigger, return/persistence behavior, and routing to the sibling. The trigger condition is front-loaded and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained. For a 3-param, no-enum tool the description covers when to call it, its input boundary, its persistence side effect, and the adjacent tool, leaving no selection 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 url, title and language are already fully documented in the schema. The description only restates the url constraint (https, up to 25 MB) and adds nothing about title or language, 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?
Specific verb+resource: transcribes an audio/video recording and returns the transcript while saving it as a workspace document. It explicitly distinguishes itself from the related meeting_notes sibling, so an agent can route without opening either 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?
States the trigger condition clearly (user wants words from a recording and supplies an https link up to 25 MB), then names the alternative (meeting_notes) and the condition that selects it (need notes and action items). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_statusCheck a videoAInspect
Use this when the user asks whether a video from create_video or edit_video is ready. Returns generating, the finished file link, or why it failed. Needs the id from create_video or edit_video.
| Name | Required | Description | Default |
|---|---|---|---|
| artifactId | Yes | the id returned by create_video |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| kind | No | |
| error | No | |
| title | Yes | |
| status | Yes | |
| openUrl | No | |
| artifactId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (openWorldHint=true, destructiveHint=false, and notably readOnlyHint=false). The description adds a small amount of behavioral context by listing the three terminal outcomes (generating / finished link / failure reason), which is useful for deciding whether to poll again. However, with an output schema present the return states are largely covered structurally, and the description never reconciles that 'check' behavior with the non-read-only annotation, so the added value is modest.
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 short sentences, front-loaded with the trigger condition and no filler. The final sentence partly restates the id requirement already stated in the first/second sentence, which is the only wasted motion.
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 single-parameter polling tool with an output schema and annotations, the description covers the essentials: trigger, prerequisite id, and possible outcomes. Nothing critical is missing, though a note on whether to keep polling versus fetch the finished artifact would make it airtight.
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, but the description adds real meaning the schema lacks: it clarifies that the id can come from edit_video as well as create_video (the schema property only mentions create_video). That provenance detail is the difference between calling this correctly and guessing.
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 verb and resource ('check whether a video ... is ready') and scopes it to output of create_video/edit_video, so the agent can distinguish it from generic retrieval tools like get_artifact. It stops short of explicitly contrasting with the generic artifact readers, so it doesn't quite reach the top tier.
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?
Gives a concrete trigger ('when the user asks whether a video ... is ready') and names the prerequisite ('the id from create_video or edit_video'), which is exactly the context an agent needs mid-workflow. It does not name an alternative for the case where the video is already finished (e.g. get_artifact), so there is a small gap.
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.
5 tool updates
- Removed
create_app - Removed
find_tools - Added
open_app_builder - Removed
run_tool - Removed
search_marketplace
71 tool updates
- First observed
add_event - First observed
add_ledger_entry - First observed
add_note - First observed
add_rows - First observed
add_task - First observed
add_to_knowledge - First observed
app_status - First observed
approve_action - First observed
ask_workspace - First observed
build_app - First observed
build_app_from_template - First observed
check_3d_model - First observed
check_agent_run - First observed
complete_task - First observed
create_3d_model - First observed
create_app - First observed
create_automation - First observed
create_board - First observed
create_diagram - First observed
create_document - First observed
create_image - First observed
create_shared_form - First observed
create_slides - First observed
create_speech - First observed
create_spreadsheet - First observed
create_video - First observed
deny_action - First observed
deploy_app - First observed
discover_search - First observed
discover_sources - First observed
edit_app - First observed
edit_artifact - First observed
edit_image - First observed
edit_video - First observed
export_pdf - First observed
extract_from_artifact - First observed
find_app_templates - First observed
find_forms - First observed
find_tools - First observed
form_responses - First observed
get_artifact - First observed
get_mission - First observed
import_file - First observed
list_agents - First observed
list_automations - First observed
list_connected_apps - First observed
list_events - First observed
list_missions - First observed
list_pending_approvals - First observed
list_tasks - First observed
mark_paid - First observed
meeting_notes - First observed
move_task - First observed
my_agenda - First observed
publish_artifact - First observed
query_document - First observed
query_ledger - First observed
query_spreadsheet - First observed
repurpose_artifact - First observed
reschedule_event - First observed
review_artifact - First observed
run_agent - First observed
run_tool - First observed
search_artifacts - First observed
search_marketplace - First observed
search_notes - First observed
set_automation_enabled - First observed
submit_form - First observed
summarize_artifact - First observed
transcribe_audio - First observed
video_status
Related MCP Connectors
No-code databases, forms, portals and AI sites. Manage records and automation via natural language.
No-code databases, forms, portals and AI sites. Manage records and automation via natural language.
No-code databases, forms, portals and AI sites. Manage records and automation via natural language.
Deploy the apps you build with AI, with databases and domains, and call 200+ AI models on one key.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to build and update complete applications, including creating, updating, publishing, previewing, and configuring databases, security, permissions, and server-side integrations.Apache 2.0
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to create and process office documents locally, including generating branded PDF, Word, Excel, and editable PowerPoint files from templates and themes, plus reading, OCR, form-filling, manipulation, and conversion of PDFs.1MIT
- AlicenseBqualityDmaintenanceProvides comprehensive natural language control over Google Workspace services including Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, and Chat. Features multi-user OAuth 2.1 support, flexible tool tiers, and seamless integration with AI assistants.843MIT
- AlicenseBqualityCmaintenanceEnables AI assistants to scaffold, edit, live-preview, and deploy full-stack apps with built-in database, email, and push notification capabilities through natural language.19MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.