tela
Server Details
Self-hostable team wiki; agents read & write it via MCP; Atlas turns your repo into a cited wiki.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 41 of 41 tools scored. Lowest: 3.6/5.
Each tool has a clearly distinct purpose, covering page management, space management, attachments, sharing, search, research, deck and sheet authoring, and administrative functions. Descriptions precisely differentiate similar tools like 'search' (keyword) vs 'research' (semantic) and 'add_comment' vs 'submit_feedback'.
Tool names predominantly use verb_noun snake_case (e.g., create_page, list_spaces) with a few exceptions like 'research' and 'fetch' that are single verbs. The atlas group uses atlas_ prefix consistently, and deck/sheet tools follow a pattern. Overall minor inconsistencies in verb style.
At 41 tools, the count is high but justifiable given the server's broad scope (pages, spaces, attachments, sharing, search, research, deck and sheet authoring, atlas integration). However, the number feels slightly heavy, with several specialized tools that could potentially be merged.
The tool set covers the full lifecycle of wiki content: CRUD for pages, spaces, attachments, shares, comments, plus advanced features like semantic research, duplicate detection, link suggestions, and deck/sheet authoring. Minor gaps include no explicit revision history tool and no user management, but these are not core to the wiki's purpose.
Available Tools
41 toolsadd_commentAdd commentAInspect
Attach a root comment to a page, anchored by a {prefix, exact, suffix} text triplet (editor+).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | comment text (1-10000 chars) | |
| anchor | Yes | text-quote anchor locating the comment in the body | |
| page_id | Yes | page to comment on | |
| idempotency_key | No | optional client-generated key; a retry with the same key returns the original result instead of posting a duplicate comment (safe retries after a dropped connection) |
Output Schema
| Name | Required | Description |
|---|---|---|
| comment | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false, so the tool is a non-destructive mutation. The description adds context about the anchoring mechanism and the editor+ permission. It does not contradict annotations and provides useful behavioral context beyond what annotations offer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the core purpose without any extraneous words. It effectively communicates the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, 1 nested object, output schema exists), the description provides the high-level goal and anchoring detail. It does not cover idempotency behavior or error states, but the schema and output schema fill some gaps. It is mostly complete for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter described in the input schema. The description summarizes the anchor object as a '{prefix, exact, suffix} text triplet' but adds no new semantic meaning beyond what the schema already 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 uses specific verbs and resources: 'Attach a root comment to a page, anchored by a {prefix, exact, suffix} text triplet (editor+).' It clearly states the action, the target, and the anchoring mechanism, distinguishing it from any sibling tools (no other comment tools exist among siblings).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating the anchoring requirement and the '(editor+)' permission hint, but it does not explicitly state when to use this tool versus alternatives. There are no other comment-related sibling tools, so no direct comparison is available, but guidance on conditions or exclusions is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlas_list_projectsList atlas projectsARead-onlyInspect
List the atlas doc-generation projects you can see (your personal ones plus those of every org you belong to). Each project carries its owner, output space, schedule, source count, and latest-run summary (status + last must-cover rate); can_manage says whether you may trigger runs. Start here to find a project_id for atlas_run, or to read coverage health at a glance.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| projects | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so this is a safe read operation. The description adds valuable context by listing the specific fields returned (owner, output space, schedule, source count, latest-run summary, can_manage), which goes beyond the annotation to explain what the output contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two efficient sentences. The first sentence states the action and scope, and the second details the fields and usage recommendations. Every word is essential, and there is no redundancy or 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?
Given the tool has no parameters and an output schema exists, the description adequately covers the purpose and usage. It even mentions the key output fields and how to use the results. The reference to atlas_run provides helpful context. No gaps are apparent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and schema description coverage is 100% (vacuously). The description does not need to add parameter semantics, but it provides meaningful information about the output, which compensates for the lack of parameters. Baseline for 0 parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool lists atlas doc-generation projects visible to the user, including personal and org projects. It specifies the fields each project carries and identifies the primary use case of finding a project_id for atlas_run, distinguishing it from sibling tools like atlas_run and atlas_run_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?
The description explicitly advises to 'Start here to find a project_id for atlas_run, or to read coverage health at a glance,' providing clear context for when to use this tool. It implies that this tool is the precursor to atlas_run, but does not explicitly state when not to use it or list alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlas_runRun atlas generationAInspect
Trigger a FULL doc-generation run for every source in an atlas project (project_id from atlas_list_projects): re-ingest the sources, regenerate the cited pages, and re-audit coverage. Management-level (project owner / org admin) — a run fetches the sources, spends LLM budget, and rewrites the generated subtree (creating the output space on the first run). Returns run_ids (one per source); poll each with atlas_run_status. Returns 503 ai_unavailable when the instance has no embedder/LLM configured.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | id of the atlas project to generate docs for (from atlas_list_projects) |
Output Schema
| Name | Required | Description |
|---|---|---|
| run_ids | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses behavioral traits beyond annotations: it rewrites generated subtree, spends LLM budget, creates output space on first run, and returns run_ids per source. Annotations do not contradict this description (readOnlyHint=false, destructiveHint=false is consistent with a regeneration that is not permanently destructive).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with critical information front-loaded. Every clause adds value: management-level caveat, LLM budget consumption, return value, error condition. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (mutation, budget consumption, multiple return objects), the description covers prerequisites, effects, return format (run_ids), polling instruction, and a specific error. The presence of an output schema is noted, but the description already explains what the tool returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers the single parameter project_id with 100% description coverage. The description adds useful context that project_id comes from atlas_list_projects, which aids the agent in sourcing the value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool triggers a full doc-generation run for every source in an atlas project. It uses specific verbs ('trigger', 're-ingest', 'regenerate', 're-audit') and distinguishes from siblings like atlas_run_status and atlas_list_projects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the operation is management-level and requires project_id from atlas_list_projects. It also notes that it spends LLM budget and returns a 503 if no embedder/LLM is configured. However, it does not explicitly state when not to use it or suggest alternatives beyond atlas_run_status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlas_run_statusGet atlas run statusARead-onlyInspect
Read an atlas run's status and coverage by run_id (view+). Returns the run's status + current stage and, once auditing has run, coverage (must_rate = the headline fraction of must-cover surface documented, surface_rate, gap_count + the gap list of undocumented surface items) and stats (files / surface / chunks / pages). Use to follow a run started by atlas_run to completion and judge whether the docs are complete.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | id of the run to read (from atlas_run) |
Output Schema
| Name | Required | Description |
|---|---|---|
| run | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, destructiveHint=false. The description adds details on returned data (status, stage, coverage metrics). No contradiction; it supplements annotations with specific behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single paragraph, dense but efficient. Lists key outputs without unnecessary fluff. Could be slightly more structured, but overall concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (context indicates present), the description need not explain return values. It already describes what the tool returns sufficiently for a simple read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter, so baseline is 3. The description does not add meaning beyond the schema's own description of run_id, thus no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads an atlas run's status and coverage by run_id. It lists specific output fields and distinguishes from sibling atlas_run by indicating it reads rather than starts a run.
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 'Use to follow a run started by atlas_run to completion and judge whether the docs are complete.' This gives a clear use case. While it doesn't mention when not to use, the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confirm_attachment_uploadConfirm a direct uploadAIdempotentInspect
After the bytes have been PUT to a request_attachment_upload URL, return the stored file's serve URL + ready-to-embed markdown (for hosts that couldn't read the PUT response). Editor+. Then place the snippet with update_page/patch_page.
| Name | Required | Description | Default |
|---|---|---|---|
| upload_id | Yes | the upload_id from request_attachment_upload |
Output Schema
| Name | Required | Description |
|---|---|---|
| attachment | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint=true and readOnlyHint=false. The description adds that the tool returns a serve URL and markdown, and that it's for hosts that couldn't read the PUT response. No contradictions; adds valuable context 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 core purpose and usage condition. Every sentence adds value: first explains the action and return, second adds permission and next steps. 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?
The description covers the entire workflow: when to call (after PUT), what it returns, permission level, and how to use the result. An output schema exists (not shown) which handles return structure. For a simple confirmation tool, this is fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter upload_id is fully described in the schema as 'the upload_id from request_attachment_upload'. The description does not add extra meaning, so with 100% schema coverage, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool confirms an upload after bytes are PUT, returning the serve URL and markdown. It distinguishes itself from siblings like request_attachment_upload and upload_attachment by specifying the exact step in the upload workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it's for 'Editor+' users and guides to use output with update_page/patch_page. It implies the prerequisite of having PUT bytes to the URL from request_attachment_upload, but does not explicitly exclude alternatives or mention when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_pageCreate pageAInspect
Create a page in a space (editor+). Body is markdown; tela://page/{id} links and [[Page Title]] wikilinks (resolved by title within the space) are indexed as backlinks. tela renders a rich block palette beyond plain markdown — to-do list, pull quote, callout, collapsible, tabs, kanban board, stat grid, timeline, calendar, poll, chart, embed, mermaid diagram, image, file attachment, code block, equation, inline math, table, highlight, wikilink, footnote. Prefer these over walls of text; read the tela://authoring-guide resource (or this server's instructions) for exact syntax. When asked for a presentation, slides, a slide deck, or a talk (any phrasing) — not a prose doc — set the page property deck=true (and optionally variant=) and write the body as slides separated by --- using the tahta layouts; call the deck_authoring_guide tool (or read the tela://deck-authoring-guide resource) for the layouts, fields, components, and variants. When asked for a spreadsheet, a table of data with formulas/totals, a budget, a tracker, or any grid that computes — not a prose doc — set the page property sheet=true and write the body as Defter markdown (compact GFM tables + an optional ```defter-style block); call the sheet_authoring_guide tool (or read the tela://sheet-authoring-guide resource) for the format, formulas, and styling.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | markdown body | |
| props | No | optional page properties (frontmatter); free-form keys, reserved keys like id/title/slug/created are ignored | |
| title | Yes | page title | |
| space_id | Yes | id of the space to create the page in | |
| parent_id | No | optional parent page id | |
| idempotency_key | No | optional client-generated key; a retry with the same key returns the original result instead of creating a duplicate page (safe retries after a dropped connection) |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint=false, destructiveHint=false), the description explains creation behavior, markdown support, backlinking, idempotency key for safe retries, and special handling for decks and sheets. No contradictions 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?
The description is quite long but front-loaded with the core action. Every sentence serves a purpose, given the tool's complexity and need to guide special content types. Could be slightly trimmed, but overall well-structured and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (rich content, multiple output formats) and the presence of an output schema, the description is remarkably complete. It covers all major features, references external guides, and handles edge cases (idempotency). No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the description still adds value by explaining the purpose of body (markdown), props (frontmatter, including deck and sheet properties), and idempotency_key (safe retries). It elaborates on how deck=true and sheet=true trigger special formatting, which is not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a page in a space' with specific verb and resource. It distinguishes from sibling tools like update_page, delete_page, and patch_page by detailing how this tool creates new pages. The mention of markdown body, special links, and rich block palette further clarifies its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides extensive guidance on when to use this tool for creating ordinary pages, and when to instead use deck_authoring_guide or sheet_authoring_guide for presentations or spreadsheets. It advises against simple text walls and for using rich blocks. This clearly directs the agent to appropriate alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_spaceCreate spaceAInspect
Create a space. The caller becomes its owner. slug is derived from name when omitted.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | space name (1-200 chars) | |
| slug | No | optional url slug; derived from name when omitted | |
| org_id | No | optional org id to own the space (caller must be a member); omit for a personal space | |
| idempotency_key | No | optional client-generated key; a retry with the same key returns the original result instead of creating a duplicate space (safe retries after a dropped connection) |
Output Schema
| Name | Required | Description |
|---|---|---|
| space | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a mutation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds behavioral context: caller becomes owner, slug is derived from name. It does not mention idempotency behavior or error conditions, which are partially covered by the idempotency_key parameter schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, no fluff, and front-loads the purpose. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 4 parameters, full schema coverage, and the existence of an output schema (not shown), the description is adequate but could be more complete. It lacks details on idempotency behavior and error handling, but for a simple creation tool, it sufficiently covers the essentials.
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 all parameters are described in the schema. The description repeats the slug derivation info from the schema, adding no new meaning. The idempotency_key parameter is not mentioned in the description, so the description adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (create), the resource (space), and adds specific details: the caller becomes owner and slug derivation from name. This effectively distinguishes it from siblings like delete_space or update_space.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives such as create_page or update_space. However, the context of creating a space is clear, and the ownership/slug details offer implicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deck_authoring_guideDeck authoring guideARead-onlyInspect
Return the full tela deck authoring guide as markdown — every tahta layout with its required/optional fields, the components, and the style variants. Read this FIRST when creating or editing a deck (a deck=true page) so you don't guess at layouts/fields. The guide lists optional capability modules (e.g. branding, imagery); when one applies, call again with module="" to fetch that extra guidance.
| Name | Required | Description | Default |
|---|---|---|---|
| module | No | Optional capability module id (e.g. branding, imagery) to fetch instead of the core guide. |
Output Schema
| Name | Required | Description |
|---|---|---|
| guide | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds significant context beyond annotations: it specifies the output format (markdown), the content structure (layouts, fields, components, style variants), and the sub-fetch pattern for optional modules. Annotations already indicate read-only, and description aligns perfectly with no contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both essential. First sentence describes what is returned (the guide content). Second sentence provides critical usage advice and explains the module parameter. No unnecessary words; information is front-loaded and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the availability of an output schema and the straightforward nature of a guide-retrieval tool, the description covers all needed aspects: what it returns, when to use it, and how to use the optional parameter. It is complete for the agent to correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaning beyond schema by explaining that the 'module' parameter fetches extra guidance when applicable, and gives examples like 'branding, imagery'. This enhances the agent's understanding of how to use the parameter effectively.
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 clearly that the tool returns the full deck authoring guide as markdown, covering layouts, fields, components, and style variants. The verb 'Return' and resource 'deck authoring guide' are specific, and the scope is well-defined. Implicitly distinguishes from sibling 'sheet_authoring_guide' by focusing on decks.
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 instructs to read this FIRST when creating or editing a deck to avoid guessing. Also explains when to call again with the module parameter for extra guidance. However, it does not explicitly state when NOT to use the tool or list alternatives, leaving some room for improvement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_attachmentDelete attachmentADestructiveInspect
Detach a file from a page by attachment id (editor+; ids come from list_attachments). Soft-delete. It does NOT edit the page body, so remove any inline embed separately with update_page/patch_page.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | attachment id (from list_attachments) | |
| page_id | Yes | the page the file is attached to |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses soft-delete nature and role requirement, which adds context beyond annotations. Does not contradict annotations; destructiveHint=true matches.
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 fluff, front-loaded with key action and constraints.
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 output schema present, no need to describe returns. Covers action, role, id source, soft-delete, and critical behavioral note about page body. Complete for the 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 already provides 100% coverage with clear descriptions for both parameters. The description reinforces id source but adds minimal extra meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool detaches a file from a page by attachment id, differentiates from editing page body, and mentions role requirement and id source. It effectively distinguishes from siblings like delete_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use (detach by id) and explicitly warns against using it for inline embeds, directing to update_page/patch_page. It could mention more alternatives but is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_pageDelete pageADestructiveInspect
Delete a page (editor+). Backlinks from other pages are preserved with the last-known title.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | page id to delete |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark as destructive. The description adds important context: backlinks are preserved with the last-known title, which is beyond what annotations 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?
Two concise sentences, front-loaded with the main action and permission level. No unnecessary 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 simple destructive tool with one parameter and an output schema, the description covers the essential behavior including backlink preservation, making it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no extra meaning beyond the schema's description of the 'id' parameter. Baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete') and the resource ('page'), specifies the required permission level ('editor+'), and distinguishes from sibling tools like delete_space or delete_attachment.
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 mentions who can use it ('editor+') and what happens to backlinks, but does not provide explicit guidance on when to use this tool versus alternatives like move_page or archive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_spaceDelete spaceADestructiveInspect
Delete a space AND all its pages, comments, revisions and share links. Owner only. Irreversible.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | space id to delete (cascades) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds significant context beyond annotations: cascading deletion of all associated content, owner-only restriction, irreversibility. No contradiction with annotations (destructiveHint=true matches 'Irreversible').
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 sentence with no wasted words. Front-loaded with core action and scope.
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 purpose, effects, and constraints. Output schema exists (from context) so return values are covered there. Could be slightly more complete with a note on authorization, but already mentions 'Owner only'.
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 description 'space id to delete (cascades)'. Description echoes cascading but adds no new parameter-level detail. 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?
Clearly states it deletes a space and all its contents (pages, comments, revisions, share links), distinguishing it from sibling tools like delete_page or delete_attachment.
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?
Mentions 'Owner only' (prerequisite) and 'Irreversible' (warning). Lacks explicit comparison to alternatives like delete_page for partial deletion, but the cascading nature implies when to use this over other delete tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_sheetEdit sheet (structured)AInspect
Make a STRUCTURED edit to a sheet (a sheet=true page), editor+. Prefer this over update_page for sheets: you pass a typed operation and tela rewrites the Defter markdown correctly — inserting a row shifts every formula below it, deleting a column re-references the rest, so you never corrupt the grid by hand-editing text. Pass one op (or a batch via ops, applied atomically). Each op is {kind, ...} where kind is one of: setCells {cells:[{ref:"B2",text:"=A2*1.2"}]} — write literals/formulas by A1 ref; insertRows/deleteRows {at:<1-based row>, count?}; insertCols/deleteCols {at:<col letter or 1-based index>, count?}; setStyle {target:"A1:C1"|"B"|"2", attrs:{...}} — bold/align/fill/number-format a range/col/row; setFreeze {rows?, cols?} — freeze N header rows / M leading cols (0 clears); addSheet {name, after?}; renameSheet {sheet, name}; deleteSheet {sheet}. Ops that target a specific tab take an optional sheet (name or 0-based index; defaults to the first). A bad ref/range/sheet is rejected with a fixable error. Call sheet_authoring_guide for the full op reference, cell/style syntax, and formula functions. Returns the updated sheet with formulas computed.
| Name | Required | Description | Default |
|---|---|---|---|
| op | No | a single SheetOp object with a 'kind' field. Provide this OR ops. | |
| ops | No | an ordered batch of SheetOps applied atomically (all-or-nothing; the sheet is only rewritten if every op succeeds). Provide this OR op. | |
| page_id | Yes | the sheet page id to edit (a page with sheet=true) |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses atomicity of batch operations, error handling (bad ref/range/sheet rejected with fixable error), and return behavior (returns updated sheet with formulas computed). Adds value beyond annotations which only indicate non-readonly, non-destructive, and non-open-world. Also explains that it prevents grid corruption.
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?
Description is dense but well-structured. First sentence states purpose and recommendation. Followed by explanations of operation types and behavior. Could be slightly more concise, but every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (nested objects, 3 params, output schema exists), the description is highly complete: covers all operation types, atomicity, error handling, return value, and references external guide. No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds rich semantic detail: explains the 'op' and 'ops' parameters, lists all operation kinds with syntax examples (setCells, insertRows, etc.), and explains optional 'sheet' parameter within ops. This goes far beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Make a STRUCTURED edit to a sheet (a sheet=true page), editor+.' It specifies the verb (edit), resource (sheet), and scope (structured). It also distinguishes from the sibling tool 'update_page' by explaining why to prefer this for sheets.
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 to prefer this over update_page for sheets, with a rationale. Mentions permission requirement ('editor+') and refers to sheet_authoring_guide for full reference. Could be more specific about when not to use, but provides clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchFetch documentARead-onlyInspect
Fetch a tela page's full text by id (id comes from a search result). The ChatGPT Deep Research 'fetch' tool.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | page id, as returned by search results |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| text | Yes | |
| title | Yes | |
| metadata | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is clear. Description adds that it retrieves 'full text', which is a behavioral trait beyond the schema or annotations. No further disclosure of rate limits or authentication needed given the tool's simplicity.
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: first sentence is clear and concise. The second sentence ('The ChatGPT Deep Research fetch tool.') is somewhat redundant and adds little value, but does not harm clarity. Efficient for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with one parameter, clear annotations, and an output schema (assumed), the description adequately covers what the tool does and where the input comes from. No missing information that would hinder 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%: the single parameter 'id' is already described as 'page id, as returned by search results'. The description repeats this information without adding new meaning. 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?
Clearly states it fetches the full text of a tela page by ID, distinguishing it from siblings like get_page or list_pages. The mention of 'full text' and 'id comes from a search result' specifies the scope and origin of input.
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?
Implies use after search results (id comes from search), but does not explicitly state when to use this tool versus alternatives like get_page or read_chunk. No exclusions or when-not-to-use guidance provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_overlapsFind overlapping pagesARead-onlyInspect
Near-duplicate page PAIRS that share a near-identical passage (real merge/redirect candidates) for wiki hygiene. Optional space_id restricts to one space; threshold (0..1, default 0.92) is the minimum chunk-level similarity to count as a duplicate.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | max pairs (default 50) | |
| space_id | No | optional space id to restrict to overlaps within one space | |
| threshold | No | min chunk-level cosine similarity 0..1 to count as a duplicate (default 0.92) |
Output Schema
| Name | Required | Description |
|---|---|---|
| overlaps | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true and destructiveHint=false, which align with the description's implied non-destructive behavior. The description adds detail: pairs are identified by chunk-level cosine similarity, threshold range, and default value, going beyond annotations to explain the detection mechanism.
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: first defines purpose and result, second explains parameters. No wasted words, front-loaded with key information. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (though not shown), the description need not explain return values. It covers purpose, usage context, and parameter semantics sufficiently for an agent to decide when and how to invoke it. The context signals (high schema coverage, no required params) support completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, so baseline is 3. The description adds value by explaining that 'threshold' controls chunk-level similarity (range 0..1, default 0.92) and 'space_id' restricts to one space. However, 'limit' is not mentioned in the description, though schema provides default (50). Overall, adds meaningful context beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds 'near-duplicate page PAIRS' for wiki hygiene, specifying the result type (pairs) and use case (merge/redirect candidates). It distinguishes from sibling tools like 'related_pages' or 'search' by focusing on near-identical passages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool ('wiki hygiene', 'real merge/redirect candidates') and provides optional parameters to restrict scope (space_id, threshold). However, it does not explicitly state when not to use it or mention alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_deck_imageGenerate deck imageAInspect
Generate an image from a prompt and attach it to a deck page (editor+), ready for a bg:/image: slot. Returns the serve URL + a snippet; reference it by path (don't regenerate on re-render). Read the imagery module first (deck_authoring_guide module="imagery"): most slides need NO image — use it for atmosphere/concept/focal only, reuse ONE background, write rich on-palette prompts, and prefer images raw. May be unavailable (503) if the instance hasn't configured image generation or AI is paused; generation can take from ~20s to a few minutes depending on the model.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | id of the deck page to attach the generated image to | |
| name | No | optional attachment filename (default deck-image-<n>.png) | |
| seed | No | optional seed for reproducibility | |
| size | No | WxH, default 1280x720 (16:9 — the cover/bg/bleed slot aspect) | |
| model | No | optional model override (else the endpoint default) | |
| steps | No | sampling steps; ~10 for hero/cover, ~4 for incidental texture (more ≈ linearly slower). Omit for the model default | |
| prompt | Yes | the image prompt — rich and specific (scene, light, texture, on-variant colours). For FLUX models append 'no text, no letters, no words' or it invents garbled type; OMIT that only when you deliberately want legible in-image text |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| note | Yes | |
| markdown | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important behavioral traits beyond annotations: potential 503 errors if image generation is not configured, long generation times (20s to minutes), and the instruction to reference the image by path to avoid regeneration. Annotations show readOnlyHint=false, so this is consistent with a generative tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly long but every sentence adds value. It is front-loaded with the main action and includes important caveats. Minor redundancy could be trimmed, but overall it is well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (7 parameters, output schema exists), the description is complete. It explains return values (serve URL + snippet), gives usage instructions, and addresses potential issues. It complements the output schema well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Even though schema coverage is 100%, the description adds significant meaning: for the 'steps' parameter it gives guidance on typical values ('~10 for hero/cover, ~4 for incidental texture'), and for 'prompt' it advises to append 'no text, no letters, no words' for FLUX models. This goes beyond the basic schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: generate an image from a prompt and attach it to a deck page. It specifies the resource (image), the action (generate and attach), and the context (deck page). This distinguishes it from siblings like 'treat_deck_image' which likely modifes an existing image.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Read the imagery module first... most slides need NO image — use it for atmosphere/concept/focal only, reuse ONE background...' It also warns about potential unavailability (503). It does not explicitly list alternatives but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pageGet pageARead-onlyInspect
Full markdown body + metadata for a numeric page id. Includes an epistemic block — trust signals computed from the wiki's own state: freshness (age, stale, review_overdue), provenance (human / agent / sync), and corroboration vs. dispute against same-space pages. Weigh it: prefer fresh, corroborated, human-reviewed pages; treat a stale or disputed page as lower-confidence and check its listed disputes before relying on it.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | numeric page id | |
| format | No | 'full' (default) returns the markdown body; 'map' returns just the heading outline (section levels + paths) and no body — cheap to read, and each path is a target for patch_page; 'values' — for a SHEET page (sheet=true), returns the computed spreadsheet as self-describing prose (formulas materialized to their numbers, styling stripped) so you read the answers, not the raw =formulas (no effect on non-sheet pages) |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the readOnlyHint annotation by detailing the epistemic block with trust signals (freshness, provenance, corroboration). It advises on how to weigh pages (prefer fresh, corroborated, human-reviewed; treat stale/disputed as lower-confidence). 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?
The description is a single, well-structured paragraph that front-loads the main purpose and then adds key behavioral and parameter details. Every sentence provides value; no redundancy or wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema, the description adequately covers the return content (markdown body, metadata, epistemic block) and parameter details. It could mention that the page ID must exist, but overall it's complete for a read 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?
With 100% schema coverage, the description adds significant meaning beyond the schema: explains that 'full' returns markdown body, 'map' returns heading outline (cheap, with paths for patch_page), and 'values' returns computed spreadsheet for sheet pages. This clarifies usage context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the full markdown body and metadata for a numeric page ID. It specifies the resource (page by ID) and the action (get), distinguishing it from sibling tools like list_pages or get_space.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides guidance on when to use each format parameter (full, map, values) and notes that map is cheap and that values is for sheet pages. However, it does not explicitly compare this tool to siblings or state when to use get_page over other read tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_spaceGet spaceARead-onlyInspect
Fetch a single space's metadata (id, name, slug) by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | space id |
Output Schema
| Name | Required | Description |
|---|---|---|
| space | Yes | |
| owner_org | No | |
| page_count | Yes | |
| member_count | Yes | |
| owner_handle | No |
Tool Definition Quality
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 clear. The description adds value by specifying exactly which fields are returned (id, name, slug), going beyond the annotation alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with no wasted words. It front-loads the key purpose and includes all necessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, full schema documentation, annotations, and output schema, the description is complete. It covers purpose, scope, and return value without needing more detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the only parameter 'id' is well-described in the schema as 'space id'. The description does not add further meaning beyond the schema, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Fetch a single space's metadata (id, name, slug) by id.' It specifies the verb (fetch), resource (space), scope (single by id), and what fields are returned. This distinguishes it from list_spaces and other sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'by id', making it clear the tool should only be used when you have a specific space ID. It implicitly excludes listing multiple spaces or fetching by other criteria, which is sufficient for a simple lookup tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_gapsKnowledge gapsARead-onlyInspect
The most-asked "ask your docs" questions the corpus could NOT answer — a content roadmap. Instance-admin only (exposes users' questions). Optional since_days window.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | max gaps (default 50) | |
| since_days | No | only count asks in the last N days (0 = all time) |
Output Schema
| Name | Required | Description |
|---|---|---|
| gaps | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, destructiveHint=false. The description adds that it exposes user questions (privacy concern) and is admin-only, which is useful behavioral context beyond annotations. No contradiction.
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: first defines the tool's core value, second adds access and parameter context. No wasted words. Front-loaded with the most important 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?
With an output schema present, the description need not detail return values. It explains purpose, access restrictions, and parameter behavior adequately. It doesn't explicitly mention sorting (most-asked implies decreasing frequency) but that is reasonable.
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 reinforces the meaning of since_days as a time window and implies that limit caps results. This adds value by framing the parameters in the tool's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the most-asked unanswered questions from the 'ask your docs' feature, framing it as a content roadmap. It distinguishes from sibling tools like 'search' or 'research' by focusing on gaps. The 'Instance-admin only' and 'since_days' details add clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies that the tool is for admins only and that it exposes users' questions, implying usage for identifying content gaps. It mentions the optional since_days parameter but does not explicitly compare to siblings or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_deckLint slide deckARead-onlyInspect
Validate a deck page's slides against the tahta theme contract — unknown layouts, missing required fields, type/format mistakes. Run after authoring/editing a deck to catch problems before presenting. Returns structured issues per slide. For the full list of valid layouts and each layout's fields, call deck_authoring_guide.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | id of the deck page to validate |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| hint | No | |
| errors | Yes | |
| issues | Yes | |
| warnings | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, confirming safety. The description adds that it returns 'structured issues per slide', providing useful behavioral context 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, no filler, with essential information front-loaded. Every sentence contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (1 param, output schema present), the description covers purpose, timing, and links to related tool. It is complete without over-explaining.
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 the single 'id' parameter already described in the schema. The description does not add extra meaning beyond the schema, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Validate') and resource ('deck page's slides against the tahta theme contract'), clearly distinguishing from sibling tools like preview_deck and generate_deck_image.
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 ('Run after authoring/editing a deck to catch problems before presenting') and suggests an alternative tool (deck_authoring_guide) for more detailed schema information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_attachmentsList attachmentsARead-onlyInspect
List the files attached to a page (uploads AND rclone-synced files): name, mime, byte size, a stable serve URL, an absolute download_url, and a ready-to-embed markdown snippet. embedded tells you the page body already references the file.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | page whose attachments to list |
Output Schema
| Name | Required | Description |
|---|---|---|
| attachments | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false. The description adds that it lists both uploads and rclone-synced files, and explains the 'embedded' field meaning. This adds value beyond annotations without contradiction.
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-sentence description is concise, front-loaded with the core action, and includes all essential details without verbosity. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists (not shown), description covers key aspects: file types listed and returned fields. No mention of pagination, but overall sufficient for a listing tool with good annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with page_id described as 'page whose attachments to list'. Description does not add further semantics beyond what the schema provides, so baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists files attached to a page, specifying both uploads and rclone-synced files, and enumerates the returned fields (name, mime, size, URLs, markdown snippet, embedded flag). This distinguishes it from sibling tools like upload_attachment, delete_attachment, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for reading attachment info but does not explicitly state when to use this tool versus alternatives like upload_attachment or delete_attachment. No exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_backlinksList backlinksARead-onlyInspect
Pages that link to the given page via [[wikilink]] / tela://page/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | page whose incoming links to list |
Output Schema
| Name | Required | Description |
|---|---|---|
| backlinks | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false; description adds constraint on link types but no further behavioral traits 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?
Single, front-loaded sentence with no wasted words; appropriately concise for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple tool with one parameter and existing output schema, description is sufficient; no need to detail return values as output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and schema already describes page_id; description does not add additional meaning beyond what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it lists pages linking to a given page via specific link formats (wikilink and tela://page/{id}), distinguishing it from sibling tools like list_pages or related_pages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like search or related_pages; no exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pagesList pagesARead-onlyInspect
Flat page listing in a space. Optional parent_id for direct children (omit for top-level pages).
| Name | Required | Description | Default |
|---|---|---|---|
| space_id | Yes | id of the space to list pages in | |
| parent_id | No | optional parent page id; omit for top-level pages |
Output Schema
| Name | Required | Description |
|---|---|---|
| pages | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds behavioral context about flat listing and hierarchical filtering via parent_id, which is useful 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 purpose, no wasted words. Each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two parameters, output schema exists, and annotations present, the description covers the essential behavior. Minor gap: doesn't explain the return format, but output schema handles that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description covers both parameters (100% coverage). Description adds meaning for parent_id: 'direct children' vs 'top-level pages', which clarifies optional behavior beyond schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Flat page listing in a space' with specific verb and resource. Distinguishes from siblings like get_page (single page) and list_spaces (spaces).
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 usage for parent_id ('for direct children, omit for top-level') but lacks explicit guidance on when to use this tool vs other list tools like list_attachments or list_backlinks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_spacesList spacesARead-onlyInspect
List every space the API key can access (id, name, slug).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| spaces | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that the listing is scoped to the API key's access (authorization context). It does not mention pagination, limits, or sort order, but the output schema likely handles return structure. The description adds minimal behavioral context 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?
The description is a single sentence with no unnecessary words. It is front-loaded with the action and resource, and additional details are given in parentheses. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, rich annotations, and an output schema, the description is complete. It succinctly states the purpose and the data returned. No gaps are apparent for an agent to understand and invoke the 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?
There are no parameters (0 params, 100% schema coverage). Per guidelines, 0 params baseline is 4. The description adds value by specifying that the tool returns id, name, slug, which is not required but helpful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'List every space the API key can access (id, name, slug).' It clearly identifies the verb (List), resource (spaces), and scope (accessible to API key). The sibling tools include get_space (single), create_space, update_space, delete_space, so this tool is well-distinguished as a list operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates when to use: when you need a list of accessible spaces. It does not explicitly state when not to use, but the context of sibling tools (e.g., get_space for a specific space) provides implicit guidance. No alternative tools are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_pageMove pageAIdempotentInspect
Move a page: reparent (parent_id), detach to top-level (make_root), reorder (position), and/or relocate to another space (space_id). Editor+ in both source and target space. Provide at least one of space_id / parent_id / make_root / position.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | page to move | |
| position | No | new 0-based position among siblings (omit to keep) | |
| space_id | No | relocate to this space (omit to keep) | |
| make_root | No | detach to top-level (mutually exclusive with parent_id) | |
| parent_id | No | new parent page id (omit to keep; mutually exclusive with make_root) |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true, description adds permission requirement and parameter constraints. There is no contradiction with annotations. Description adds value 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, each packed with essential information. Front-loaded with action and parameters, followed by permission and requirement. 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?
Covers operations, permissions, parameter requirements, and mutual exclusivity. Does not detail return value or errors, but output schema is present. Adequate for a tool with moderate 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 100%. Description explains each parameter's role (e.g., 'reparent (parent_id)') and notes mutual exclusivity between make_root and parent_id, adding meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'move' and the resource 'page'. It lists specific operations: reparent, detach, reorder, relocate. This distinguishes it from sibling tools like create_page, update_page, and delete_page.
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 clear context: requires Editor+ permission in both source and target space, and states minimal parameter requirements. Does not explicitly list when to avoid or mention alternatives, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
patch_pagePatch page sectionAInspect
Surgically edit ONE section of a page instead of rewriting the whole body (editor+). First call get_page format:"map" to see the section paths, then patch the target. Cheaper and safer than update_page on a long page — it never touches the rest of the document. Snapshots a revision like any edit.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | page id to patch | |
| target | Yes | the section to edit, by its heading path from get_page format:"map" (e.g. 'Setup' or 'Deploy > Production'); the bare heading text also resolves | |
| content | No | markdown to insert; omit for delete | |
| operation | Yes | append (add to the end of the section's body), prepend (add right under the heading), replace (swap the section's body, heading kept), or delete (remove the heading and its body) | |
| idempotency_key | No | optional client-generated key; a retry with the same key returns the original result instead of re-applying the patch |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it 'never touches the rest of the document' and 'Snapshots a revision like any edit'. Annotations are minimal but description adds safety and revision context. Could mention idempotency more but schema covers 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, front-loaded with action and benefit. No wasted words. Jargon 'editor+' is acceptable in context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, prereqs, comparison to update_page, and behavioral guarantees. Output schema exists, so return info not needed. Sufficient for a well-described tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and description adds workflow context for 'target' (using get_page format:map). Clarifies 'content' can be omitted for delete. Lists operation options with effects.
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?
Explicitly states it 'surgically edit ONE section of a page instead of rewriting the whole body', clearly distinguishing from update_page. Verb 'patch' and resource 'page section' are precise.
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: 'Cheaper and safer than update_page on a long page'. Also gives prerequisite: 'First call get_page format:"map" to see the section paths'. No overlap with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_deckPreview slide deckARead-onlyInspect
Render a deck page to slide images and return them, so you can SEE how the deck looks (don't author blind). Pass slides to preview specific 1-based frames; omit for the first few. Renders are cached.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | id of the deck page to render and preview | |
| slides | No | optional 1-based frame numbers to preview; omit for the first few |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that renders are cached, a behavioral trait beyond the readOnlyHint annotation. It aligns with the annotations (readOnlyHint=true, destructiveHint=false), and adds context about the tool's non-destructive nature. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, comprising two sentences with no wasted words. The most critical information (purpose and usage) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only preview tool, the description covers key aspects: purpose, parameter usage, and caching behavior. However, it does not specify the return format of the slide images (e.g., URLs or data URIs), which could be helpful for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description clarifies that slides are 1-based and that omitting them previews the first few frames, but this information is already present in the input schema's parameter description. No additional meaning is provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool renders a deck page to slide images for visual preview, distinguishing it from authoring blindly. It also differentiates from sibling tools like 'generate_deck_image' or 'lint_deck' by emphasizing the preview aspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (to see how the deck looks) and how to use it (pass specific slides or omit for first few). However, it does not explicitly state when not to use it or suggest alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_chunkRead chunkARead-onlyInspect
Fetch one chunk's full section text by chunk_id (from a research source), for a page OR a file chunk. Middle granularity between a research excerpt and get_page; a file chunk cites the file (file_name + parent page_id + download_url).
| Name | Required | Description | Default |
|---|---|---|---|
| chunk_id | Yes | chunk id from a research result |
Output Schema
| Name | Required | Description |
|---|---|---|
| chunk | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds the return behavior (full section text, file chunk info with file_name, parent_page_id, download_url), which is transparent about what the tool returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the action and resource, no redundant information. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple parameter set and presence of an output schema, the description fully explains the purpose, return content, and context relative to sibling tools. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with chunk_id described as 'chunk id from a research result'. Description adds meaning by specifying the source ('research' source) and the two use cases (page or file chunk), going 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?
Clearly states the tool fetches a chunk's full section text by chunk_id from a research source. Distinguishes its granularity (between research excerpt and get_page) and notes file chunk specifics, differentiating it from 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?
Provides context on when to use it by describing its granularity relative to other tools (research excerpt, get_page). Does not explicitly state when not to use, but the positioning is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_attachment_uploadRequest a direct upload URLAInspect
Get a short-lived signed PUT URL to upload a file WITHOUT sending its bytes through the model context — for files over upload_attachment's 5 MB inline cap, or to avoid context bloat. Flow: call this → the host PUTs the raw bytes to the returned put_url over HTTP → then either read that PUT response or call confirm_attachment_upload to get the embed snippet, and place it with update_page/patch_page. Editor+. Only works on hosts that can make an outbound HTTP PUT; otherwise use upload_attachment.
| Name | Required | Description | Default |
|---|---|---|---|
| mime | No | optional content-type hint; for images the server still trusts magic bytes | |
| name | Yes | file name including extension, e.g. deck.pdf or photo.png | |
| page_id | Yes | page to attach the file to |
Output Schema
| Name | Required | Description |
|---|---|---|
| upload | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-read-only and non-destructive behavior. The description adds that the URL is short-lived, the host must perform an outbound HTTP PUT, and the file bytes do not pass through the model context. 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?
The description is a single paragraph that efficiently conveys purpose, flow, conditions, and alternatives. It front-loads the key information. Could be slightly improved with clearer separation of steps, but it is concise overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, the description covers the full workflow, prerequisites, alternatives, and integration with sibling tools (confirm_attachment_upload, update_page/patch_page). The existence of an output schema means return values need not be explained. Complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add significant additional parameter meaning beyond what the schema already provides. The schema descriptions are already clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a short-lived signed PUT URL for uploading files without sending bytes through the model context. It specifies the use case (files over 5 MB or to avoid context bloat) and distinguishes it from the sibling tool upload_attachment.
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 this tool (large files, context bloat avoidance) and when to use upload_attachment instead (if host cannot make outbound HTTP PUT). It also outlines the entire flow, including post-steps like calling confirm_attachment_upload or reading the PUT response.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
researchResearch the wikiARead-onlyInspect
Answer a question — or gather everything relevant on a topic — from the wiki by MEANING. One call assembles answer-ready grounding: the full bodies of the pages that matter (not isolated fragments), pulled from pages AND attached files (PDFs, docs), plus any flagged disagreements among the sources and a low_confidence signal. Returns context (a numbered [n] excerpt block to ground your answer), sources (the cited hits aligned to [n], each with page_id/chunk_id for drill-in and a download_url for file sources), disagreements (conflicts to surface, [n]-keyed), and low_confidence. YOU write the answer from context and cite sources by their [n]. To read one section deeper use read_chunk (chunk_id from a source) or get_page (full page). For exact-name/term lookup use search. Requires a configured embedder (503 otherwise).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | optional retrieval depth override (default service-defined) | |
| question | Yes | the question to answer, or topic to gather context on | |
| space_id | No | optional space id to restrict retrieval to |
Output Schema
| Name | Required | Description |
|---|---|---|
| context | Yes | |
| sources | Yes | |
| disagreements | No | |
| low_confidence | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses output structure (context, sources, disagreements, low_confidence), that it pulls from pages and attached files, and that a configured embedder is required. No contradiction with readOnlyHint and destructiveHint 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?
Well-structured: front-loads purpose, explains returns, guides agent on use, and lists alternatives. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (multiple output fields) and presence of output schema, the description fully explains what the tool returns and how to use it, including edge cases like embedder requirement.
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 adequate descriptions. The tool description adds behavioral context but does not significantly enhance parameter-specific meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool answers a question or gathers context by meaning from the wiki, distinguishing it from siblings like 'search' (exact lookup) and 'read_chunk'/'get_page' (deeper reading).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use (answer by meaning) and when not (exact lookup use 'search', deeper reading use 'read_chunk'/'get_page'), plus notes the embedder requirement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearchARead-onlyInspect
Keyword (full-text) lookup over title + body, ranked + snippet-highlighted. Use to find a page you can name or that contains an exact term/identifier/error string. Works WITHOUT an embedder (always available). Optional space_id narrows to one space. To answer a question or gather material on a topic by meaning, use research instead.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | max results (default 25) | |
| query | Yes | search terms | |
| space_id | No | optional space id to restrict results to |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
Tool Definition Quality
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. Description adds behavioral context: full-text search, always available, ranking and snippets. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, no wasted words. Every sentence adds essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with 3 params and an output schema, the description covers purpose, usage, behavioral traits, and parameter semantics fully. Agent can confidently invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and schema descriptions are clear. Description enriches query parameter by specifying it can be an exact term/identifier/error string, adding value beyond 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?
Clearly states it performs keyword full-text lookup over title and body, returning ranked results with snippets. Distinguishes from sibling 'research' by noting it is for exact terms vs semantic meaning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use (find a page by name or exact term/error string) and when not to (use 'research' for topic meaning). Also notes it works without an embedder, setting availability expectations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sheet_authoring_guideSheet authoring guideARead-onlyInspect
Return the full tela spreadsheet (sheet) authoring guide as markdown — the Defter text format, coordinates, the formula functions, and the ```defter-style styling/format/chart syntax. Read this FIRST when creating or editing a sheet (a sheet=true page) so you write valid, well-formatted Defter markdown instead of guessing.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| guide | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, consistent with a read-only guide. Description adds that it returns markdown and covers specific syntax, which is useful context. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, with the first clearly stating the purpose and content, and the second providing usage guidance. 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 simple guide tool with an output schema, the description fully explains what is returned and when to use it. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist. Schema coverage is 100% trivial. Description does not need to add param info, meeting the baseline for a parameterless 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?
The description clearly states it returns the full spreadsheet authoring guide in markdown format, listing specific content areas. It also tells when to use it ('Read this FIRST when creating or editing a sheet'), effectively distinguishing it from sibling tools like 'edit_sheet' or 'create_page'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Read this FIRST when creating or editing a sheet', providing strong usage guidance. Does not explicitly mention alternatives or when not to use it, but the context of siblings (e.g., deck_authoring_guide) implies this is for sheets only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_feedbackSubmit feedbackAInspect
Submit free-text feedback about tela / tela-mcp itself (friction, bugs, missing capabilities). NOT for page content — use add_comment for that.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | feedback body (1-8000 chars) | |
| kind | No | optional type: idea | bug | other | |
| subject | Yes | short subject (1-200 chars) |
Output Schema
| Name | Required | Description |
|---|---|---|
| feedback | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, destructiveHint=false, and the description adds useful context (scope of feedback). No contradictions, though it doesn't detail where feedback goes or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and then an exclusion—no wasted words, highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple feedback submission tool, the description is complete: it explains purpose, usage boundaries, and parameters are in the schema. Output schema exists, so return value explanation is not needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add extra meaning beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Submit free-text feedback about tela / tela-mcp itself'—a specific verb and resource—and distinguishes it from the sibling 'add_comment' by noting it is NOT for page content.
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 (feedback about the tool itself) and when not to use (use add_comment for page content), with the alternative tool named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_linksSuggest linksARead-onlyInspect
Given draft text (a page you're writing), return existing pages it should link to, by semantic similarity. Use while authoring to wire a new page into the knowledge base instead of leaving it an orphan. Requires a configured embedder.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | draft text to find link targets for | |
| limit | No | max suggestions (default 10) | |
| space_id | No | optional space id to restrict suggestions to |
Output Schema
| Name | Required | Description |
|---|---|---|
| suggestions | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds semantic similarity mechanism and embedder requirement beyond annotations (readOnlyHint=true). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that convey purpose, usage context, and prerequisite. Front-loaded and 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?
With output schema present, parameters fully described, and description covering use case and prerequisite, the tool description is complete for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage, so baseline is 3. Description adds minor context for 'text' parameter but does not provide significant additional meaning beyond 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?
Clearly states it returns existing pages for linking given draft text, using semantic similarity. Distinguishes from siblings like search and related_pages by specifying authoring context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use while authoring to wire a new page and avoid orphans. Mentions prerequisite (configured embedder). Does not explicitly state when not to use, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
treat_deck_imageTreat deck imageAInspect
Make an image tahta-grade for a deck's variant (editor+): crop to 16:9, apply a scheme-aware duotone (palette-lock), grain, and an optional contrast scrim. Upload the source with upload_attachment first, then pass its attachment_id; the treated JPEG is saved as a new attachment and returned with a ready-to-place snippet for a bg:/image: slot. This is the tahta-imagine treat step — a FALLBACK for off-palette or reused images; prefer rich on-palette images raw, and never duotone (mode=duotone) a real-colour focal subject — use mode=none for those. See the imagery capability module (deck_authoring_guide module="imagery").
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | id of the deck page the source image is attached to (the treated result is attached here too) | |
| mode | No | duotone (palette-lock to the variant, default) or none (crop+grain only, keep the image raw) | |
| scrim | No | optional contrast scrim: left or bottom (for text over the image); omit for none | |
| variant | No | tahta variant to treat for; omit to use the deck's own variant | |
| attachment_id | Yes | id of an existing attachment ON THIS PAGE to treat (upload the source first with upload_attachment) |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| note | Yes | |
| variant | Yes | |
| markdown | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description details the treatment process (crop, duotone, grain, scrim), the prerequisite (upload attachment), and the output (new attachment with snippet). Annotations already declare readOnlyHint=false, but the description adds behavior context like non-destructive saving and return format.
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?
Concse two paragraphs: first states purpose and process, second gives usage rules and reference. Every sentence adds value, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 params, output schema exists, and description covers workflow, return format, and usage pitfalls. References additional module. Complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good descriptions, so baseline is 3. The description adds extra context: explains mode as 'duotone or none', scrim options, and variant fallback. It provides a higher-level understanding of parameter interactions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Make an image tahta-grade for a deck's variant' with specific actions (crop, duotone, grain, scrim). It distinguishes from siblings like 'generate_deck_image' by explaining this is a fallback step.
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 guidance is provided: 'FALLBACK for off-palette or reused images; prefer rich on-palette images raw, and never duotone a real-colour focal subject — use mode=none.' Also references the imagery capability module for more context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_pageUpdate pageAIdempotentInspect
Patch a page's title and/or body (editor+). A body change auto-snapshots a revision. tela renders a rich block palette beyond plain markdown — to-do list, pull quote, callout, collapsible, tabs, kanban board, stat grid, timeline, calendar, poll, chart, embed, mermaid diagram, image, file attachment, code block, equation, inline math, table, highlight, wikilink, footnote. Prefer these over walls of text; read the tela://authoring-guide resource (or this server's instructions) for exact syntax. When asked for a presentation, slides, a slide deck, or a talk (any phrasing) — not a prose doc — set the page property deck=true (and optionally variant=) and write the body as slides separated by --- using the tahta layouts; call the deck_authoring_guide tool (or read the tela://deck-authoring-guide resource) for the layouts, fields, components, and variants. When asked for a spreadsheet, a table of data with formulas/totals, a budget, a tracker, or any grid that computes — not a prose doc — set the page property sheet=true and write the body as Defter markdown (compact GFM tables + an optional ```defter-style block); call the sheet_authoring_guide tool (or read the tela://sheet-authoring-guide resource) for the format, formulas, and styling.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | page id to patch | |
| body | No | new markdown body (omit to leave unchanged) | |
| props | No | replace the whole properties bag (omit to leave unchanged); reserved keys are ignored | |
| title | No | new title (omit to leave unchanged) |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond annotations: body changes auto-snapshot a revision, and it details the rich block palette and deck/sheet modes. However, it may contradict idempotentHint=true because auto-snapshots imply each call creates a new revision, which is not strictly idempotent.
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 front-loaded with the core action and then provides extensive, well-structured guidance. While lengthy, each sentence adds value and covers essential use cases without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, nested objects, and an output schema, the description covers all parameters, explains behavioral side effects (auto-snapshot), and gives complete usage guidance for special modes. It fully equips an agent to use the 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?
With 100% schema coverage, the baseline is 3. The description adds meaning beyond the schema by explaining that body supports a rich block palette, props replaces the whole bag with reserved keys ignored, and provides special case guidance for deck and sheet modes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool patches a page's title and/or body, with the specific verb 'patch' and the resource 'page'. It distinguishes itself from siblings like create_page, delete_page, and get_page by explicitly covering update scenarios.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance, including special cases for presentations (set deck=true) and spreadsheets (set sheet=true), and directs to alternative tools like deck_authoring_guide and sheet_authoring_guide. It also mentions resources like tela://authoring-guide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_spaceUpdate spaceAIdempotentInspect
Patch a space's name and/or slug (editor+).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | space id to patch | |
| name | No | new name (omit to leave unchanged) | |
| slug | No | new slug (omit to leave unchanged) |
Output Schema
| Name | Required | Description |
|---|---|---|
| space | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true and destructiveHint=false, so the description need not restate those. The description adds the permission note ('editor+') which provides useful context beyond annotations, but does not disclose additional behavioral traits such as side effects or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. Every element earns its place: verb, resource, fields, permission.
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 patch tool with 3 parameters and an existing output schema, the description is mostly complete. It mentions the fields and permission. However, it could briefly note what the response looks like or any constraints (e.g., slug format). Without the output schema shown, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for all parameters. The description adds no new meaning beyond the schema, which already explains 'omit to leave unchanged'. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Patch' and the resource 'space', specifying the fields 'name and/or slug' and the permission requirement 'editor+'. This distinguishes it clearly from sibling tools like create_space and delete_space.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for updating space name/slug but does not explicitly state when to use or when not to use, nor does it mention alternatives. No guidance on prerequisites beyond 'editor+' permission.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_attachmentUpload attachmentAInspect
Upload a file (base64) and attach it to a page (editor+) — an image, PDF, dataset, etc. Returns the serve URL plus a ready-to-paste markdown snippet; then call update_page or patch_page to place it in the body (images render inline as , other files as a download card). The payload is inline base64 and rides through the model's context, so it is capped at 5 MB — keep it to small files (screenshots, charts, short PDFs). For larger files use request_attachment_upload (a direct PUT URL, bytes off-context), or the tela editor (drag-drop).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | file name including extension, e.g. report.pdf or chart.png (drives the displayed name + type detection) | |
| page_id | Yes | page to attach the file to | |
| data_base64 | Yes | the file bytes, base64-encoded; a leading data:<mime>;base64,… URL prefix is also accepted |
Output Schema
| Name | Required | Description |
|---|---|---|
| attachment | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses inline base64 mechanism, 5 MB cap, return of serve URL and markdown snippet, and required follow-up. Annotations already signal mutability; description adds useful constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with action and resource, no wasted words. Structure clearly presents purpose, behavior, alternatives, and limitations.
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 schema richness, annotations, and output schema presence, description covers all needed context: when to use, limitations, return value format, and required subsequent step.
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?
Parameters fully described in schema (100% coverage). Description adds operational context like file name extension driving type detection and base64 encoding with URL prefix acceptance. Slightly above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it uploads a file (base64) and attaches to a page. Specifies file types and return value. Distinguishes from siblings by mentioning alternatives for larger files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use for small files (screenshots, charts, short PDFs) and for larger files use request_attachment_upload or tela editor. Also notes need for subsequent call to update_page/patch_page.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!