mcp-lindoai
OfficialThis server provides tools to create and manage AI-generated websites, pages, and blog posts on the Lindo AI platform, along with workspace, client, and credits management.
Website Management
Create AI-generated websites from text prompts (async workflow with status polling)
List, get, update, and delete websites
Manage custom domains (add/remove), website settings, analytics, and team members
Batch create up to 25 websites in a single request
Page Management
Create AI-generated pages or publish static HTML pages
List, get, update, update content, unpublish, and delete pages
Retrieve page HTML; batch create up to 25 pages at once
Blog Management
Create AI-generated blog posts or publish static Markdown blog posts
List, get, update, update content, unpublish, and delete blog posts
Retrieve blog HTML; batch create up to 25 blog posts at once
Client Management
Create, list, update, and delete clients
Assign websites to clients and generate magic login links
Workspace Management
Get and update workspace details (name, language, currency)
View workspace analytics and manage team members (add/remove)
Credits
View workspace and client credit balances
Allocate credits (monthly, purchased, or daily) to clients
Batch & Async Operations
Check the status of individual or up to 25 website, page, or blog creation workflows simultaneously
Schedule AI creation workflows for a future time using an ISO 8601
schedule_atparameter
@lindoai/mcp-server
MCP (Model Context Protocol) server for Lindo AI — create websites, pages, and blog posts with AI directly from Claude, Cursor, Kiro, Windsurf, and other MCP-compatible tools.
Listed in the official MCP Registry as io.github.lindoai/mcp-server.
Setup
Add to your MCP client configuration:
{
"mcpServers": {
"lindo": {
"command": "npx",
"args": ["-y", "@lindoai/mcp-server"],
"env": {
"LINDO_API_KEY": "your_api_key_here"
}
}
}
}Where to add this config
Client | Config file |
Claude Desktop |
|
Claude Code |
|
Cursor |
|
Kiro |
|
Windsurf | MCP settings in IDE |
Getting your API key
Go to app.lindo.ai
Navigate to Workspace Settings → API Keys
Create a new API key
Copy the key and paste it as
LINDO_API_KEY
Requires a Business or Whitelabel plan.
Related MCP server: web2md-mcp
Available Tools
Websites
create_website — Create a new website using AI from a text prompt
list_websites — List all websites in your workspace
Pages
edit_website — Edit an existing website (across its pages) using AI
publish_blog — Publish a static blog post with markdown content
Blog
create_blog — Generate a blog post on a website using AI
Clients
create_client — Create a new client
list_clients — List all clients
assign_website — Assign a website to a client
generate_magic_link — Generate a client login link
Credits
allocate_credits — Allocate credits to a client
Scheduling
The create_website, edit_website, and create_blog tools support an optional schedule_at parameter (ISO 8601 datetime) to schedule the workflow for a future time.
Remote MCP Server
You can also connect via the remote MCP endpoint without installing anything:
https://mcp.lindo.ai/mcpLinks
Available Tools
50 toolsadd_custom_domainAdd Custom DomainCInspect
Add a custom domain to a website.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Custom domain to add | |
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a write operation (readOnlyHint=false), but the description adds no behavioral context beyond that. It does not mention potential side effects, duration, or success/failure conditions, which would be useful for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is appropriately concise for a simple tool, though it could incorporate slightly more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (2 params, no output schema), the description is too minimal. It lacks behavioral details such as idempotency, verification steps, or error scenarios, which are important for 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?
Schema coverage is 100% with descriptions for both parameters. The tool description adds no additional meaning beyond what the schema already provides, so it meets the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'add' and the resource 'custom domain' to 'a website', making the purpose explicit. However, it does not differentiate from sibling tools like assign_website or remove_custom_domain, so it lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., prerequisites like domain ownership verification). The description does not mention any context for usage, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_workspace_team_memberAdd Team MemberCInspect
Add a team member to the workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | Team member role | |
| Yes | Team member email |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it is not read-only (readOnlyHint=false) and not destructive (destructiveHint=false). The description does not add any behavioral detail beyond that, such as idempotency, side effects, or error conditions. For a mutation tool, more transparency is expected.
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 (one sentence, 8 words). It is front-loaded and clear. However, it sacrifices substance for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple parameters and no output schema, the description is insufficiently complete. It does not explain how the workspace is identified (no workspace parameter), whether an invitation is sent, or if duplicates are prevented. An agent would need more context for reliable 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?
The schema description coverage is 100% (both 'email' and 'role' have descriptions). The tool description adds no extra meaning beyond the schema. The baseline of 3 is appropriate since the schema is self-sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add a team member') and the resource ('to the workspace'). It distinguishes from sibling tools like 'remove_workspace_team_member' and 'get_workspace_team'. However, it lacks specificity about the manner of addition (by email and role), which the schema provides but the description could hint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, nor are any prerequisites or context provided (e.g., admin permissions, workspace existence). The description is too sparse to help an agent decide appropriateness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
allocate_creditsAllocate CreditsBInspect
Allocate credits to a client.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Notes | |
| amount | Yes | Number of credits | |
| source | No | Source (e.g. bonus) | |
| client_id | Yes | Client ID | |
| credit_type | Yes | Credit type |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a non-destructive write operation, but the description adds no additional behavioral traits (e.g., whether amounts can be negative, limits, or effects on existing credits). Minimal added value.
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 extraneous words. Perfectly concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple parameter set (5 params, one enum) and no output schema, the description is nearly complete. Could mention constraints like positive amount, but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to elaborate on parameters. It adds no new meaning beyond the schema, achieving 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?
Description clearly states the verb 'allocate' and resource 'credits to a client', making it distinct from sibling tools like get_credits or get_client_credits. It is concise and avoids tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., when to allocate vs. check credits). Lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assign_websiteAssign Website to ClientCInspect
Assign a website to a client.
| Name | Required | Description | Default |
|---|---|---|---|
| client_id | Yes | Client ID | |
| website_id | Yes | Website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false, consistent with a mutation that is not destructive. The description adds no further behavioral context, such as whether the assignment replaces an existing one or what side effects occur.
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 that is front-loaded and clear. While minimally informative, it avoids unnecessary words and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple 2-parameter tool with no output schema. The description is minimal but sufficient for a basic assignment operation. Missing info on idempotency or error states, but within acceptable bounds for a straightforward action.
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% coverage with descriptions 'Website ID' and 'Client ID'. The description adds no additional meaning beyond these labels. According to guidelines, baseline 3 is appropriate here.
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 ('assign') and the resources ('website to a client'). It distinguishes from sibling tools that create or update websites and clients. However, it does not specify the nature of the assignment (e.g., ownership or linking), slightly reducing precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like update_website or create_client. There is no mention of prerequisites (e.g., website and client must exist) or conditions for assignment (e.g., preventing duplicates).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_check_blog_statusCheck Multiple Blog Workflow StatusesARead-onlyInspect
Poll up to 25 blog-creation workflows at once. Returns a rollup status plus a per-item array with the same shape as check_blog_status.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_ids | Yes | Up to 25 blog workflow_ids to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and destructiveHint. The description adds that it polls, provides a rollup status, and returns per-item results identical to check_blog_status. This goes beyond annotations with useful 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?
Two sentences: first states core function and limit, second describes return structure. No fluff, front-loaded, 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 batch polling tool with full schema coverage, annotations, and a clear output description, the description covers all necessary context. Output schema is omitted but the description explains the return shape adequately.
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 workflow_ids described as 'Up to 25 blog workflow_ids to check'. The description repeats 'up to 25 blog-creation workflows' without adding new parameter details. 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 'Poll' and the resource 'blog-creation workflows' and specifies the batch size limit. It distinguishes from siblings like check_blog_status and other batch_* tools by indicating a rollup and per-item array.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for multiple workflows but does not explicitly state when not to use or provide alternatives. It references check_blog_status for shape but lacks direct comparison to other batch tools like batch_check_page_status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_check_website_statusCheck Multiple Website Workflow StatusesARead-onlyInspect
Poll up to 25 website-creation workflows at once. Returns a rollup status (scheduled/running/complete/partial/errored) plus a per-item array with the same shape as check_website_status.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_ids | Yes | Up to 25 website workflow_ids to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds that it is a 'poll' operation and specifies the return shape, but does not disclose additional traits like idempotency 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?
Two sentences with no filler. Front-loaded with the verb 'Poll' and immediately specifies limits and return structure. 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 single parameter and no output schema, the description adequately covers the input and output shape. It lists possible status values. However, it lacks details on error handling or partial failures, but overall is sufficient 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% with a clear description for workflow_ids. The description adds that these are 'website-creation workflows' and repeats the max 25 limit, providing marginal additional context 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 polls up to 25 website-creation workflows and returns a rollup status plus per-item array. It uses specific verb+resource ('poll workflows') and distinguishes itself from the sibling tool check_website_status by addressing batch 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?
While the description implies use for checking multiple workflow statuses, it does not explicitly state when to use this tool over its single counterpart. However, the context makes it clear, and the batch size limit is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_create_blogsCreate Multiple Blog Posts (Batch)AInspect
Start up to 25 blog-creation workflows on a single website in one request. Returns one workflow_id per item. Poll with batch_check_blog_status or check_blog_status.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Between 1 and 25 blog post creation requests | |
| website_id | Yes | Website the blog posts will be added to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate mutable (readOnlyHint=false), non-destructive (destructiveHint=false), and potential side effects (openWorldHint=true). The description adds critical behavioral details: starts workflows (async), returns workflow_ids, max 25, and polling mechanism, exceeding annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action and constraints, every word earns its place. No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists; description compensates by mentioning return of workflow_id per item and polling follow-up. Missing details on error handling, async behavior, or scheduling specifics, but adequate for a batch initiation 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?
With 100% schema description coverage, baseline is 3. The description adds value by stating returns one workflow_id per item, which is not in schema, and implies the batch nature. This pushes it above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool starts up to 25 blog-creation workflows on a single website, returns a workflow_id per item, and directs to polling endpoints. It effectively distinguishes from siblings like create_blog (single) and batch_create_pages (different resource).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for batch creation and suggests polling for status. It indirectly indicates alternative single creation via create_blog sibling, but lacks explicit 'use when multiple blogs are needed' or 'avoid for single blog'. Still clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_create_websitesCreate Multiple Websites (Batch)AInspect
Start up to 25 website-creation workflows in one request. Returns one workflow_id per item. Poll the combined status with batch_check_website_status, or the individual ones with check_website_status.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Between 1 and 25 website creation requests |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are present (non-readonly, not destructive, open world). Description adds that it returns workflow_ids and suggests polling, but doesn't detail failure handling or concurrency 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?
Two sentences, no fluff, front-loaded with limit and 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?
Covers limit, workflow_id return, and polling guidance. Lacks error handling details for individual items, but adequate for a batch tool with output schema absent.
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 description adds limited parameter insight beyond 'one workflow_id per item' (output-focused). 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?
Description clearly states it starts up to 25 website-creation workflows, returns workflow_ids, and distinguishes from singular tools like create_website by emphasizing batch capability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States when to use (batch creation) and provides polling alternatives (batch_check_website_status vs check_website_status). Lacks explicit exclusions but implies for single creation use create_website.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_blog_statusCheck Blog Creation StatusARead-onlyInspect
Poll the status of a blog-creation workflow started by create_blog. Pass the workflow_id you received from that tool. While running, call this again after poll_after_ms ms. Once done is true, status is complete or errored; when complete, result holds the published blog info.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes | Workflow id returned by create_blog |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare `readOnlyHint: true` and `destructiveHint: false`, so the description adds value by detailing the polling behavior and expected response fields (`done`, `status`, `result`). 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?
Two sentences, no wasted words. The purpose is front-loaded, and the polling mechanics are explained efficiently. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple polling tool with one parameter and no output schema, the description adequately covers usage, polling intervals, and result states. It could specify the exact response structure more, but the mention of key fields suffices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a description for `workflow_id`. The description reiterates the parameter's origin from `create_blog` but does not add significant new meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool polls the status of a blog-creation workflow, explicitly referencing the triggering tool `create_blog` and the `workflow_id` parameter. It distinguishes itself from sibling tools like `check_page_status` by specifying the workflow context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear polling instructions: when to call after `create_blog`, the interval to wait (`poll_after_ms`), and stopping conditions (`done` true). It could be more explicit about when not to use it (e.g., versus batch variants), but the guidance is otherwise solid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_edit_statusCheck Website Edit StatusARead-onlyInspect
Poll the status of a website-edit workflow started by edit_website. Pass the workflow_id you received from that tool. While running, call this again after poll_after_ms ms. Once done is true, status is complete or errored; when complete, result holds the changed pages.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes | Workflow id returned by edit_website |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes the polling behavior, expected return fields (done, status, result), and termination conditions. Adds value beyond annotations which only indicate read-only and non-destructive nature.
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 no filler, front-loading the purpose and providing actionable steps. 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 no output schema, the description explains the return contract (done, status, result) and polling logic. Missing details on error states or invalid workflow_id, but sufficient for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear parameter description. The description reiterates the origin of workflow_id but does not add new semantic details 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 polls the status of a website-edit workflow, specifies the parent tool (edit_website), and distinguishes from sibling tools like check_website_status by referencing the workflow 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 tells when to call again (after poll_after_ms ms) and which parameter to pass (workflow_id from edit_website). Does not describe when not to use, but the context is clear for a polling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_website_statusCheck Website Creation StatusARead-onlyInspect
Poll the status of a website-creation workflow started by create_website. Pass the workflow_id you received from that tool. While the workflow is running, call this again after poll_after_ms ms. Once done is true, status is complete (all pages generated), partial (some failed), or errored. result.pages lists every page (home + additional) with its individual status.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes | Workflow id returned by create_website |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond the annotations: it explains the polling nature, the conditions for re-calling, the possible values of 'status' (complete, partial, errored), and the structure of 'result.pages'. Annotations already declare readOnlyHint and destructiveHint, and the description enriches them with detailed runtime behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences long, each serving a distinct purpose: stating the tool's function, explaining how to use it, guiding polling behavior, and describing the output. It is well-structured and contains no redundant 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 (one parameter, no output schema), the description adequately covers the response fields (done, status, result.pages) and the polling logic. However, it does not specify where 'poll_after_ms' comes from (presumably from the 'create_website' response), which could be clarified. Overall, it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single required parameter 'workflow_id' with a clear description. The description reinforces that it comes from 'create_website', which adds minimal extra value. Schema coverage is 100%, so a baseline of 3 is appropriate; no additional parameter-level details are 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 it polls the status of a website-creation workflow started by 'create_website', using the 'workflow_id' from that tool. This distinguishes it from sibling tools like 'check_blog_status' or 'batch_check_website_status' by specifying the exact workflow and origin.
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 explicitly instructs to call this after 'create_website' and to poll repeatedly after 'poll_after_ms' ms while the workflow is running. It does not mention alternatives or when not to use, but the context is clear and sufficient for correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_blogCreate Blog PostAInspect
Create an AI-generated blog post on a website. Starts an asynchronous workflow and returns a workflow_id immediately — poll check_blog_status with that id to track progress and get the final result.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Describe the blog post to create | |
| website_id | Yes | The website ID | |
| schedule_at | No | Optional ISO 8601 datetime to schedule for later |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it is not read-only, not destructive, and open-world. The description adds the crucial async workflow detail and return of workflow_id, which is not in annotations. This aids agent behavior understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the purpose and includes essential workflow information. No extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains the return value and follow-up action (polling check_blog_status). It lacks error handling or limit details, but is comprehensive for a creation tool with async behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already well-documented. The description adds 'AI-generated' context but does not elaborate on parameter usage or constraints 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 it creates an AI-generated blog post, distinguishing it from siblings like update_blog or check_blog_status. The verb 'create' and resource 'blog post' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear guidance on post-invocation steps: poll check_blog_status with the returned workflow_id. However, it does not explicitly mention when to avoid this tool (e.g., if synchronous creation is needed) or alternatives like batch_create_blogs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_clientCreate ClientCInspect
Create a new client in the workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Client name | |
| Yes | Client email | ||
| phone | No | Phone number | |
| send_invitation | No | Send invitation email to client. Defaults to false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutation (readOnlyHint=false) but description does not elaborate on side effects like sending invitation (implied by send_invitation param). No mention of auth, rate limits, or return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loads the action. Could include more detail without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing return value description (no output schema), no mention of workspace context or invitation behavior. For a creation tool, these are important.
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. Description adds no value beyond schema; it does not explain parameter usage or constraints.
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 verb 'Create' and resource 'client', distinguishing it from other create tools like create_blog. However, lacks additional context about the workspace scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like update_client or other creation tools. No prerequisites or conditions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_websiteCreate WebsiteAInspect
Create a new website using AI. Starts an asynchronous workflow and returns a workflow_id immediately — poll check_website_status with that id to track progress and get the final result. Optionally assign to a client by providing client_id (existing) or client_email (lookup or create new).
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Describe the website to create | |
| client_id | No | Existing client ID to assign the website to | |
| client_name | No | Client name, used when creating a new client with client_email. | |
| schedule_at | No | Optional ISO 8601 datetime to schedule for later | |
| client_email | No | Client email. Looks up existing client or creates a new one. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, openWorldHint=true) indicate mutation and side effects. The description adds important behavioral traits: it starts an async workflow and returns a workflow_id. This is beyond what annotations provide, making behavior clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: first states purpose, second details async workflow and optional client assignment. No redundant words, front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description fully explains the return (workflow_id) and how to get the final result (poll check_website_status). The optional client assignment is covered. No missing critical information for an async creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters are documented in the schema (100% coverage). The description clarifies the relationship between client_id, client_email, and client_name, adding meaning beyond the schema, e.g., that client_name is used when creating a new client with client_email.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Create' and resource 'website', clearly distinguishing it from siblings like create_blog or batch_create_websites. The purpose is immediately clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the asynchronous workflow and directs the agent to poll check_website_status for progress, providing usage context. It doesn't explicitly exclude alternatives like batch_create_websites, but the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_blogDelete Blog PostADestructiveInspect
Delete a blog post from a website.
| Name | Required | Description | Default |
|---|---|---|---|
| blog_id | Yes | The blog post ID to delete | |
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, so the description does not need to repeat that. However, it adds no further context about permanence, cascading effects, or permissions. With annotations covering the core safety signal, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, no extraneous words. Highly concise and front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the operation and that the schema fully documents parameters, the description is adequate. However, adding 'permanently' or a note about irreversibility would improve completeness for agents dealing with destructive operations.
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 description does not add any meaning beyond what the schema provides for website_id and blog_id. Thus baseline 3 is suitable.
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 'Delete a blog post from a website', which is a clear verb+resource combination that distinguishes it from sibling tools like create_blog, update_blog, unpublish_blog, 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?
No guidance on when to use this tool versus alternatives such as unpublish_blog (which might temporarily hide) or when deletion is irreversible. The description omits context about prerequisites or consequences.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_clientDelete ClientADestructiveInspect
Delete a client from the workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| record_id | Yes | Client record ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal destructiveHint=true and readOnlyHint=false, so the agent knows this is a mutation. The description confirms it is a delete operation but adds no extra context about side effects, irreversibility, or permissions. Given annotation coverage, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence (6 words) that immediately conveys the action and resource, with no extraneous 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 simple delete operation with one parameter, annotations present, and no output schema, the description sufficiently covers the basic purpose. It could mention potential consequences (e.g., permanent deletion) but is not incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has full coverage (100%) on the single parameter record_id with a description. The tool description does not add any additional meaning or context beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Delete' and the resource 'client from the workspace', which is specific and distinguishable from sibling tools like delete_blog or delete_website.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as whether the client must first be removed from associated resources, or mention of prerequisites. The description is purely declarative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_pageDelete PageBDestructiveInspect
Delete a page from a website.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | The page ID to delete | |
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already specify destructiveHint=true and readOnlyHint=false, so the description adds no new behavioral information. It is consistent but doesn't provide additional context like permission requirements or cascading effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. It is front-loaded but could be slightly more informative without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the tool and the presence of annotations and schema, the description is minimally complete. However, it lacks information about the response, error handling, or relationship to other tools like unpublish_page.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description does not add meaning beyond what the schema already provides for the two parameters (website_id, page_id). Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a page from a website' uses a specific verb ('delete') and resource ('page from a website'), clearly distinguishing it from sibling tools like create_page, update_page, and unpublish_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?
No guidance on when to use this tool versus alternatives such as unpublish_page for non-destructive removal. No prerequisites or context for use are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_websiteDelete WebsiteBDestructiveInspect
Delete a website from the workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| record_id | Yes | Website record ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive=true, readOnly=false. Description adds no additional behavioral context (e.g., irreversibility, permission requirements) beyond the annotation data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, concise sentence with no unnecessary words. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple destructive action with one parameter and annotations covering safety profile, description is adequate but lacks detail about consequences or permissions. Could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter has full schema coverage with a clear description. Tool description does not add extra meaning beyond what schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb+resource: 'Delete a website'. Distinguishes easily from siblings due to tool name, but description could explicitly differentiate from other delete tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use or not, no mention of prerequisites or alternatives. Sibling delete tools (delete_blog, delete_page) exist without differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_websiteEdit WebsiteAInspect
Edit an existing website (across its pages) using AI. Starts an asynchronous workflow and returns a workflow_id immediately — poll check_edit_status with that id to track progress and get the final result.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Describe the change to make to the website | |
| publish | No | When true, publish the edited page(s) to the live website. When false/omitted, save the changes as drafts to review + publish from the editor. | |
| website_id | Yes | The website ID | |
| schedule_at | No | Optional ISO 8601 datetime to schedule for later |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description fully discloses the asynchronous nature, returning a workflow_id immediately and requiring polling for completion. This goes beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true) by specifying the exact behavioral pattern. 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 two sentences long, front-loading the core action ('Edit an existing website using AI') before explaining the async workflow. Every word is necessary and concise, with no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 well-documented parameters, no output schema, and no nested objects, the description adequately covers the return value by pointing to 'check_edit_status' for results. The async workflow is fully explained, making the tool complete for its 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?
The input schema has 100% description coverage for all 4 parameters, so the description does not need to add extra meaning. The description does not elaborate on parameter usage beyond what the schema already provides. Score at baseline as per guidelines.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it edits an existing website using AI, emphasizing the asynchronous workflow across pages. This distinguishes it from siblings like update_website and update_website_settings, which likely involve simpler or non-AI updates. The verb 'edit' combined with 'across its pages' and 'using AI' provides specific purpose and scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that the tool starts an asynchronous workflow and instructs the user to poll 'check_edit_status' for results, which provides clear usage context. However, it does not explicitly state when to prefer this over sibling tools like update_website or when not to use it, missing some comparative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_magic_linkGenerate Magic LinkCInspect
Generate a magic login link for a client.
| Name | Required | Description | Default |
|---|---|---|---|
| client_id | Yes | Client ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=false and destructiveHint=false, annotations indicate a non-read, non-destructive operation. The description merely restates the purpose without adding behavioral context like side effects, link expiration, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the key action. However, it could be slightly expanded to include return value or usage hints without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool with one parameter and no output schema, the description is too minimal. It fails to explain the tool's output (e.g., whether it returns a URL), which limits the agent's ability to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter described as 'Client ID'. The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a magic login link for a client, specifying the verb and resource. It distinguishes from siblings like create_client that create clients, but lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, such as other authentication methods. No prerequisites or contextual use cases are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_blogGet Blog DetailsARead-onlyInspect
Get blog post details.
| Name | Required | Description | Default |
|---|---|---|---|
| blog_id | Yes | The blog post ID | |
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive behavior. Description adds no extra behavioral context beyond 'get details', missing potential limitations or prerequisites.
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, front-loaded, no wasted words. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with full schema coverage and annotations, the description is mostly complete. Minor gap: no indication of return value format, but acceptable given the context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with clear descriptions for both parameters. Description does not add additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it retrieves blog post details with specific verb and resource. Distinct from sibling tools like create_blog or list_blogs.
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 versus alternatives like list_blogs or check_blog_status. Usage is implied by the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_blog_htmlGet Blog HTMLARead-onlyInspect
Get the HTML content of a blog post.
| Name | Required | Description | Default |
|---|---|---|---|
| blog_id | Yes | The blog post ID | |
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false, so safety is clear. The description does not add any additional behavioral context such as authentication needs or response size. Adequate given annotations but no extra value.
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 that is efficient and front-loaded, with 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?
Basic tool with two well-described parameters. However, no output schema exists and the description does not clarify what the returned HTML contains (e.g., full page or excerpt). Additional context would improve usability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already documented. The description adds no further meaning to either parameter. Baseline score 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 'Get' and the resource 'HTML content of a blog post'. The name and title align, and it distinguishes from siblings like 'get_blog' (likely metadata) and 'get_page_html' (different resource type).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this tool over siblings such as 'get_blog' or 'get_page_html'. Does not specify context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_client_creditsGet Client CreditsBRead-onlyInspect
Get client credit balance.
| Name | Required | Description | Default |
|---|---|---|---|
| client_id | Yes | The client ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds no new behavioral context. It could mention that it returns a numeric balance, but it does not contradict 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 short, clear phrase that communicates the purpose immediately. It earns its place but could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should indicate the return type (e.g., 'returns a numeric balance'). It is minimal and does not fully inform the agent about what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100% and describes the single parameter 'client_id' simply. The description adds no extra meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get client credit balance' uses a specific verb 'Get' and resource 'client credit balance', clearly distinguishing it from sibling tools like 'get_credits' (workspace-level) and 'allocate_credits'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs. alternatives (e.g., get_credits) or when not to use it. The description lacks context for optimal selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creditsGet Workspace CreditsARead-onlyInspect
Get workspace credit balance.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds no additional behavioral context, but the annotations suffice for this simple read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no unnecessary words; efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and protective annotations, the description is mostly complete. However, it does not specify which workspace's credits are returned, which could be ambiguous without context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no parameters, and schema description coverage is 100% (trivially). The description does not elaborate on the response format, but the purpose is 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 verb 'Get' and the resource 'workspace credit balance', distinguishing it from sibling tools like 'get_client_credits'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives; it simply describes the action without context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pageGet Page DetailsBRead-onlyInspect
Get page details.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | The page ID | |
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey that the tool is read-only and non-destructive. The description adds no extra behavioral context (e.g., return format, permissions). It does not contradict 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 extremely concise, consisting of a single sentence. It is front-loaded with the key purpose, but could benefit from a bit more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should indicate what details are returned (e.g., metadata, fields). It fails to do so, leaving the output ambiguous.
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%; each parameter has a clear description in the schema. The tool description does not add additional meaning beyond what the schema provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the purpose: 'Get page details.' It uses a specific verb and resource, but does not differentiate from sibling tools like 'get_page_html' or 'check_page_status', which have overlapping names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. For example, it doesn't explain when to use 'get_page' instead of 'get_page_html' or 'check_page_status', or mention any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_page_htmlGet Page HTMLARead-onlyInspect
Get the HTML content of a page.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | The page ID | |
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a safe read operation (readOnlyHint=true). Description adds no further behavioral details beyond the obvious, but does not contradict 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 sentence, 9 words, front-loaded with purpose, no unnecessary text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, and description does not specify what the returned HTML includes (e.g., full page, just body, encoding). Adequate for a simple read tool but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-described in schema. Description adds no additional meaning or format details for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('HTML content of a page'), distinguishing it from sibling tools like 'get_page' (metadata) or 'get_blog_html'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, no prerequisites mentioned, no when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_websiteGet Website DetailsCRead-onlyInspect
Get website details.
| Name | Required | Description | Default |
|---|---|---|---|
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds no behavioral context beyond that. It does not mention permissions, rate limits, or what the response contains, which would be helpful for agent decision-making.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence) but lacks important context such as what details are returned. While conciseness is valued, it sacrifices informational completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not specify what the tool returns. The agent is left to infer the return value from the name alone, which is insufficient for a complete understanding.
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 parameter description in the schema is adequate ('The website ID'). The tool description does not add any further meaning or constraints beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and description clearly indicate it retrieves website details. However, it lacks specificity about what 'details' includes, and while it is distinct from sibling getters like get_blog, it does not explicitly differentiate itself from get_website_analytics or get_website_team.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_website_analytics or list_websites. The description does not mention any prerequisites, context, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_website_analyticsGet Website AnalyticsCRead-onlyInspect
Get website analytics.
| Name | Required | Description | Default |
|---|---|---|---|
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with the annotations (readOnlyHint=true, destructiveHint=false). However, it adds no behavioral context beyond what the annotations already disclose. While no contradiction exists, the description does not explain implications like invalid website_id or response structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it is under-specified. It lacks any front-loaded key details about the function. Every sentence should earn its place; this one barely does.
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 output schema and simple parameters, the description should at least indicate what data is returned (e.g., page views, sessions). It fails to provide this essential context, making it incomplete for an agent to understand the tool's utility.
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 one parameter 'website_id' described adequately. The description adds no additional meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get website analytics' is vague and does not specify what analytics are retrieved (e.g., views, visitors). It essentially repeats the tool name without adding detail, and does not distinguish from the sibling tool 'get_workspace_analytics'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not state when to use this tool versus alternatives like 'get_workspace_analytics', nor does it mention any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_website_teamGet Website TeamCRead-onlyInspect
Get website team members.
| Name | Required | Description | Default |
|---|---|---|---|
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description merely restates the action without adding behavioral context beyond what the 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?
The description is very concise with one sentence, front-loaded with the key action. No unnecessary words, though it could be expanded slightly without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and no output schema, the description is minimally adequate but could hint at the return type (e.g., list of team members) to improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'website_id' is fully described in the input schema (100% coverage). The description adds no additional meaning or constraints beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Get' and resource 'website team members', clearly indicating the tool's purpose. However, it does not differentiate from the sibling tool 'get_workspace_team', which has a similar purpose but different scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'get_workspace_team'. The description lacks context on prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workspaceGet Workspace DetailsCRead-onlyInspect
Get workspace details.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description does not need to reiterate safety. However, the description adds no additional behavioral context beyond the annotations, such as what data is returned or any access requirements. Score 3 is baseline given that annotations cover the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at three words, but it is under-specified. It does not provide enough information to be useful. Conciseness requires providing necessary information in few words, which this fails to do. The description is essentially a repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description should describe the return value. It only says 'workspace details' without explaining what those details are. For a tool with zero parameters and no output schema, the description is incomplete and does not empower the agent to understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so schema coverage is 100%. There is no need for the description to explain parameters. The description is adequate in this regard, earning a baseline score of 4 for no-parameter tools.
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 'Get workspace details' is essentially a tautology of the title 'Get Workspace Details' and does not specify what specific details are retrieved. It fails to distinguish from sibling tools like get_workspace_analytics or get_workspace_team, which also retrieve workspace-related information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not indicate when to use this tool over alternatives such as get_workspace_analytics or list_websites. An agent would have no context to decide which tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workspace_analyticsGet Workspace AnalyticsDRead-onlyInspect
Get workspace analytics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description adds no behavioral insight. Without any output schema or further details, the agent cannot infer what data is returned or if there are any side effects beyond being read-only. The description fails to disclose the scope or granularity of analytics (e.g., workspace-level vs per-site).
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, incomplete sentence. While concise, it provides no substantive information, making it under-specified rather than efficient. Every word should add value, but 'Get workspace analytics' adds none beyond the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and the presence of sibling tools like get_website_analytics, the description is insufficient. It does not explain what analytics are included, whether there are authentication requirements, or how it differs from similar tools. The tool is simple but the description still fails to provide a complete picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is trivially covered at 100%. According to guidelines, baseline is 4 for 0 parameters. The description adds no meaning beyond the schema, but no additional semantic clarification is needed since there are no parameters to describe.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is 'Get workspace analytics,' which is a tautology that merely restates the tool name and title. It does not specify what 'workspace analytics' entails, such as the type of metrics or data returned, nor does it distinguish this tool from other analytics tools like get_website_analytics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are sibling tools like get_website_analytics and get_workspace that could overlap, but no contextual hints or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workspace_teamGet Workspace TeamARead-onlyInspect
Get workspace team members.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description adds limited behavioral context. It clarifies the output is team members, but does not reveal pagination, authorization needs, or other 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 sentence, front-loaded with key action and resource, 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 getter with no parameters and no output schema, the description is sufficient. It clearly states what the tool returns, and the context signals (no parameters) imply no further input is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage, the baseline is 4. The description adds no parameter info, which is acceptable as there are none to document.
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 'Get workspace team members' clearly states the action (get) and the resource (workspace team members). It distinguishes from siblings like add_workspace_team_member, remove_workspace_team_member, and get_workspace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives such as get_website_team or list tools. Usage is implied for retrieving team members, but no when-not or alternative context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_blogsList Blog PostsARead-onlyInspect
List all blog posts on a website.
| Name | Required | Description | Default |
|---|---|---|---|
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows the operation is safe. The description adds that it lists 'all' blog posts but does not mention pagination, ordering, or rate limits, which are beyond annotations but relevant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence. No unnecessary words or repetition. Well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no output schema, the description adequately conveys purpose and scope. It could mention the return format (e.g., an array of blog objects), but the lack is not critical given the simplicity and sibling context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'website_id', so the description doesn't need to add meaning. The tool description does not elaborate further, but given full schema coverage, the baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all blog posts on a website.' uses a specific verb 'list' and resource 'blog posts', clearly distinguishing it from siblings like 'get_blog' (single) and 'list_pages' (different resource).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided. While the purpose is clear, the description lacks alternatives or exclusions, which would be helpful for an AI agent deciding between similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_clientsList ClientsARead-onlyInspect
List all clients in the workspace.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false. The description adds no additional behavioral traits (e.g., rate limits, data freshness). It does not contradict 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, clear sentence with no wasted words. It efficiently communicates the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list tool with annotations, the description is mostly complete. However, it lacks information about return format or pagination, which would be useful for 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?
No parameters are present, and schema coverage is 100%. The description does not add parameter meaning because there is nothing to add, earning baseline 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 explicitly states 'List all clients in the workspace,' using a specific verb and resource, and clearly differentiates from sibling list tools (e.g., list_blogs, list_websites).
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, such as when to prefer it over other list tools or filtering mechanisms. The implied usage is clear but lacks exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pagesList PagesBRead-onlyInspect
List all pages on a website.
| Name | Required | Description | Default |
|---|---|---|---|
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, so the description adds no additional behavioral context beyond the simple listing action. No extra details about pagination or empty results are provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that succinctly states the tool's purpose without any 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?
Given the lack of an output schema, the description should explain what information is returned (e.g., list of page objects), but it does not. The tool's behavior for large lists or zero results is also missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a clear description for the single parameter, and the description does not add any further meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('list') and resource ('pages') with a clear scope ('on a website'), distinguishing it from sibling tools like 'list_blogs' or 'list_websites'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'get_page' or 'create_page'. It does not mention when to avoid using it or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_websitesList WebsitesARead-onlyInspect
List all websites in the workspace.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. Description adds no further behavioral traits, just restates scope. 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?
Single sentence, front-loaded with verb and resource, efficiently conveying purpose without extraneous 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 0 parameters, no output schema, and clear annotations, the description provides adequate completeness for a simple list-all operation, though it could mention typical output traits.
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 0 parameters with 100% coverage; description confirms scope ('all websites in the workspace') adding minimal but sufficient 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?
Description clearly states the verb 'List' and resource 'websites', and distinguishes it from sibling list tools like list_blogs, list_pages, and other website operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides basic context ('in the workspace') but no guidance on when to use this tool versus alternatives like list_blogs or list_pages, nor any prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_blogPublish Blog PostCInspect
Publish a static blog post with markdown content.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | URL path (e.g. /blog/my-post) | |
| author | No | Author name | |
| excerpt | No | Brief summary | |
| category | No | Category | |
| page_title | Yes | Blog title | |
| website_id | Yes | The website ID | |
| blog_content | Yes | Markdown content | |
| publish_date | No | Display date |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it is not read-only and not destructive, but the description adds no behavioral details such as whether it overwrites existing published posts, permissions required, or side effects like triggers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, using a single sentence that is easy to parse. However, it could include a bit more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters and no output schema, the description is too brief. It does not explain return values, error scenarios, or how publishing differs from creating or updating, making it insufficient for correct selection.
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?
All 8 parameters are described in the input schema (100% coverage), so the description adds no additional meaning. It provides a baseline score without 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 publishes a blog post with markdown content. However, it does not distinguish itself from sibling tools like create_blog or publish_page, leaving ambiguity about the exact operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., create_blog for drafting, update_blog for editing). The description does not provide context for when publishing is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_pagePublish PageBInspect
Publish a static page with HTML content.
| Name | Required | Description | Default |
|---|---|---|---|
| html | Yes | Page content in HTML | |
| path | Yes | URL path (e.g. /about) | |
| page_title | Yes | Page title for SEO | |
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a write operation (readOnlyHint=false) and no destruction (destructiveHint=false). The description adds only 'HTML content' but does not clarify key behaviors such as whether it creates or overwrites pages, what happens on conflict, or any side effects of the openWorldHint=true annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded and easy to read. However, it is somewhat terse and could include more detail without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and the tool has four required parameters, the description is insufficient. It does not explain return values, error conditions, or the overall effect of publishing a page. The minimal description leaves significant gaps for an agent to safely 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?
All four parameters have descriptions in the input schema (100% coverage). The description does not add any additional meaning or context to the parameters, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Publish a static page with HTML content' uses a specific verb ('publish') and resource ('static page'), clearly distinguishing it from sibling tools like unpublish_page, update_page, and delete_page. It also specifies the content type, which differentiates it from publish_blog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use it, or references to sibling tools like update_page or create_page. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_custom_domainRemove Custom DomainBDestructiveInspect
Remove a custom domain from a website.
| Name | Required | Description | Default |
|---|---|---|---|
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveness; the description simply restates 'Remove' without adding new behavioral context such as irreversibility or effects on the website.
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, no wasted words. Could be considered too brief, but it is 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?
For a tool with one required parameter, annotations, and no output schema, the description is complete enough. It covers the essential action and parameter context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear parameter description, so the description adds no extra meaning beyond what the schema provides. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Remove' and the resource 'custom domain from a website', distinguishing it from the sibling tool 'add_custom_domain'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., add_custom_domain) or any prerequisites. The agent is left to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_workspace_team_memberRemove Team MemberADestructiveInspect
Remove a team member from the workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| member_id | Yes | Team member ID to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false. The description confirms the destructive action but adds no behavioral details beyond what annotations provide, such as reversibility or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence. It is front-loaded and contains no extraneous words, perfectly sized for the tool's simplicity.
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 a simple single-parameter tool and annotations covering destructiveness, the description is minimally complete. However, it lacks context like whether the action is reversible or if special permissions are 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 coverage is 100% with a clear description for member_id. The description does not add further meaning beyond the schema, achieving baseline adequacy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Remove a team member from the workspace' clearly states the action (remove) and the target (team member from workspace), distinguishing it from sibling tools like add_workspace_team_member.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool or when to avoid it; no mention of prerequisites or alternatives. The description is a bare statement with no contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unpublish_blogUnpublish Blog PostBDestructiveInspect
Unpublish a blog post from a website.
| Name | Required | Description | Default |
|---|---|---|---|
| blog_id | Yes | The blog post ID to unpublish | |
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds no behavioral context beyond annotations. Annotations already indicate destructiveHint=true, but description does not explain what unpublishing entails (e.g., reversible, effects on visibility, permissions required).
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 a single sentence with no wasted words. Could include more detail without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has simple schema and no output schema. Description lacks details on return value or side effects, but annotations cover destructive nature. Missing context on post-publish state.
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 covers 100% of parameters with descriptions. Description adds no extra semantic meaning beyond what schema provides, so baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Unpublish a blog post from a website.' with specific verb (unpublish) and resource (blog post), distinguishing it from siblings like publish_blog or delete_blog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., archive, delete, or simply unpublish). Does not mention prerequisites or 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.
unpublish_pageUnpublish PageBDestructiveInspect
Unpublish a page from a website.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | The page ID to unpublish | |
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (destructiveHint=true) already indicate destructive nature. Description adds 'Unpublish' which implies state change but doesn't elaborate on reversibility or side effects. 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?
Single sentence, no fluff. Could be slightly more informative, but acceptable 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?
Minimally adequate given annotations and simple schema. Lacks behavioral details like impact on visibility or reversibility.
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 description does not need to add parameter details. It adds no additional meaning beyond what schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (unpublish) and resource (page), adding context ('from a website') that distinguishes it from sibling tools like publish_page or 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?
No guidance on when to unpublish versus delete or other alternatives. Lacks prerequisites (e.g., page must be published) and context for appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_blogUpdate BlogCInspect
Update blog post metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| seo | No | SEO settings object | |
| name | No | Blog name | |
| path | No | URL path | |
| blog_id | Yes | The blog post ID | |
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutability but not destructiveness; description only says 'update' without explaining whether it merges or replaces metadata, or any side effects. No additional behavioral context beyond the verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, no fluff. But it lacks substance; could include more context without being verbose. Adequate but not optimal.
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?
Missing key details: effect of update (partial vs full), no expected return value, no mention of required identifiers (website_id and blog_id) or constraints. Incomplete for an agent to use correctly without assumptions.
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% description coverage, so baseline is 3. Description adds no value beyond the schema; does not clarify semantics of nested 'seo' object or relationship between parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (update) and resource (blog post metadata), distinguishing it from sibling 'update_blog_content' which updates the body. However, it does not explicitly list the metadata fields (name, path, seo) which are in the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'update_blog_content', 'create_blog', or other update tools. Does not mention prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_blog_contentUpdate Blog ContentBInspect
Update the content of an existing blog post.
| Name | Required | Description | Default |
|---|---|---|---|
| seo | No | SEO settings object | |
| blog_id | Yes | The blog post ID | |
| website_id | Yes | The website ID | |
| blog_content | Yes | Updated blog content in Markdown | |
| blog_settings | No | Blog settings object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations indicate this is a write operation (readOnlyHint=false) but not destructive, and openWorldHint=true. The description adds no further behavioral details, such as what fields are updated, side effects, or permissions required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is clear and to the point, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is moderately complex with 5 parameters and nested objects, but no output schema. The description fails to explain the return value, error states, or any post-update behavior, making it incomplete for an 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 input schema has 100% description coverage for all parameters. The description does not add additional meaning or clarify the nested objects (seo, blog_settings) beyond what is 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 the action ('Update') and the resource ('content of an existing blog post'). It is specific and distinguishable from sibling tools like 'update_blog' and 'create_blog'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, typical scenarios, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_clientUpdate ClientBInspect
Update an existing client.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Client name | |
| No | Client email | ||
| phone | No | Client phone number | |
| record_id | Yes | Client record ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false, so the description does not need to reiterate safety. It adds minimal context by stating the action ('update'), but does not disclose side effects, permissions, or response behavior. This is adequate given the annotations, but no extra value is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. Every word ('Update', 'an', 'existing', 'client') earns its place, providing clear and direct purpose 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 tool has four parameters with complete schema descriptions and no output schema, the description should mention the return value (e.g., the updated client object) or behavior on partial updates. Omitting this leaves the agent without information on what to expect after 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?
The input schema has 100% description coverage for all four parameters, so the schema already documents their meaning. The description adds no additional semantic context beyond 'update an existing client.' Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update an existing client' uses a specific verb (update) and resource (client), clearly distinguishing it from sibling tools like create_client, delete_client, or list_clients. The word 'existing' further clarifies that it modifies an already created client.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as create_client (for new clients) or update_website (for other resources). There is no mention of prerequisites, context, or scenarios that are appropriate or inappropriate for invoking this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_pageUpdate PageBInspect
Update page metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| seo | No | SEO settings object | |
| name | No | Page name | |
| path | No | URL path | |
| page_id | Yes | The page ID | |
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false, confirming mutation but not destruction. The description adds no further behavioral context, such as partial update behavior, authentication requirements, or side effects. This is adequate but not enhanced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no extraneous information. It is front-loaded and efficient, earning a perfect score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of sibling tools, a nested 'seo' parameter, and no output schema, the description is too minimal. It does not explain that only provided fields are updated (partial update) or what the tool returns. For a mutation tool with multiple related operations, more completeness is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage for all 5 parameters. The description does not add any additional meaning beyond what the schema already provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update page metadata' clearly states the verb (update) and resource (page) with a specific scope (metadata). It distinguishes from sibling 'update_page_content' by implying metadata vs content, but does not explicitly differentiate from other update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'update_page_content' or 'update_blog'. There are no exclusions or context cues, leaving the agent to infer usage from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_page_contentUpdate Page ContentCInspect
Update the content of an existing page.
| Name | Required | Description | Default |
|---|---|---|---|
| seo | No | SEO settings object | |
| html | Yes | Updated page content in HTML | |
| page_id | Yes | The page ID | |
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate write operation (non-destructive), but description adds no further behavioral context. No mention of replace vs append behavior, required permissions, or 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?
Single sentence, front-loaded, no unnecessary words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool involves 4 parameters, including a complex nested object ('seo'), and no output schema. Description is too brief to cover update behavior, SEO parameter structure, or return values. Incomplete for agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions (100% coverage). Description does not add meaning beyond schema, especially for the 'seo' nested object which remains ambiguous. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb (Update) and resource (content of existing page), making purpose clear. However, it does not distinguish from sibling 'update_page' which likely updates other page settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over alternatives like 'update_page' or 'update_blog_content'. No prerequisites or when-not conditions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_websiteUpdate WebsiteCInspect
Update website details.
| Name | Required | Description | Default |
|---|---|---|---|
| record_id | Yes | Website record ID | |
| business_name | No | Business name | |
| business_description | No | Business description |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a mutation (readOnlyHint=false) and non-destructive nature. The description adds no extra behavioral context, such as side effects, required permissions, or limitations on what can be updated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no extraneous words. While adequate, it could be slightly expanded to provide more context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool with three parameters and many sibling tools, the description is too brief. It lacks information about prerequisites, typical use cases, or how this update differs from other update tools like 'update_website_settings'.
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% coverage with descriptions for all parameters (record_id, business_name, business_description). The description does not add additional meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update website details' clearly states the action and resource, but it is generic and does not differentiate from sibling tools like 'update_website_settings'. It lacks specificity about which details are updated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'update_website_settings' or 'create_website'. There are no usage contexts or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_website_settingsUpdate Website SettingsCInspect
Update website settings.
| Name | Required | Description | Default |
|---|---|---|---|
| settings | Yes | Settings object | |
| website_id | Yes | The website ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a write operation (readOnlyHint false) and non-destructive nature, but the description adds no new behavioral details. It does not disclose permissions, side effects, or constraints on the settings object.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (5 words), which is concise but lacks structure. It provides no context or breakdown, making it minimally 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?
For a tool with two parameters (one being an open object) and no output schema, the description is inadequate. It does not explain what updates are possible, constraints, or expected behavior, leaving the agent with insufficient information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents both parameters. The description adds no extra meaning beyond the parameter names and types, and does not clarify the structure of the 'settings' object despite it being an open-ended object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action 'update' and resource 'website settings', which is clear but very brief. It does not differentiate from sibling tools like 'update_website', which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'update_website' or other update tools. The description lacks context for proper selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_workspaceUpdate WorkspaceCInspect
Update workspace details.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Language | |
| business_name | No | Business name | |
| default_currency | No | Default currency |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate it's a non-read-only, non-destructive operation. The description adds no additional behavioral context, such as permissions required, side effects, or rate limits. With annotations providing basic safety hints, the description fails to add value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no extraneous words. It is appropriately front-loaded. However, it is arguably too minimal, but conciseness is about efficiency, not completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 optional parameters and no output schema, the description is incomplete. It does not explain what 'workspace details' entails, the effect of updates, or any constraints. The tool's context is not fully conveyed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning all parameters have individual descriptions. The tool description does not add meaning beyond what the schema provides. Baseline of 3 is appropriate as the schema already covers parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update workspace details' clearly states the verb and resource, but it is generic and does not differentiate from sibling tools like update_blog or update_client. The purpose is clear but lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No prerequisites, exclusions, or context provided. The description gives no indication of appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v1.1.1- Changed
publish_page3 fields changed- added
Input schema / properties / htmlAdded value: +{ + "description": "Page content in HTML", + "type": "string" +} - removed
Input schema / properties / page_contentRemoved value: -{ - "description": "Page content in HTML", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "website_id", - "path", - "page_content", - "page_title" -]New value: +[ + "website_id", + "path", + "html", + "page_title" +]
- Changed
update_page_content3 fields changed- added
Input schema / properties / htmlAdded value: +{ + "description": "Updated page content in HTML", + "type": "string" +} - removed
Input schema / properties / page_contentRemoved value: -{ - "description": "Updated page content in HTML", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "website_id", - "page_id", - "page_content" -]New value: +[ + "website_id", + "page_id", + "html" +]
6 tool updates
v1.1.0- Removed
batch_check_page_status - Removed
batch_create_pages - Added
check_edit_status - Removed
check_page_status - Removed
create_page - Added
edit_website
52 tool updates
v1.0.17- Added
add_custom_domain - Added
add_workspace_team_member - Added
allocate_credits - Added
assign_website - Added
batch_check_blog_status - Added
batch_check_page_status - Added
batch_check_website_status - Added
batch_create_blogs - Added
batch_create_pages - Added
batch_create_websites - Added
check_blog_status - Added
check_page_status - Added
check_website_status - Added
create_blog - Added
create_client - Added
create_page - Added
create_website - Added
delete_blog - Added
delete_client - Added
delete_page - Added
delete_website - Added
generate_magic_link - Added
get_blog - Added
get_blog_html - Added
get_client_credits - Added
get_credits - Added
get_page - Added
get_page_html - Added
get_website - Added
get_website_analytics - Added
get_website_team - Added
get_workspace - Added
get_workspace_analytics - Added
get_workspace_team - Added
list_blogs - Added
list_clients - Added
list_pages - Added
list_websites - Added
publish_blog - Added
publish_page - Added
remove_custom_domain - Added
remove_workspace_team_member - Added
unpublish_blog - Added
unpublish_page - Added
update_blog - Added
update_blog_content - Added
update_client - Added
update_page - Added
update_page_content - Added
update_website - Added
update_website_settings - Added
update_workspace
43 tool updates
v1.0.16- Removed
add_custom_domain - Removed
add_workspace_team_member - Removed
allocate_credits - Removed
assign_website - Removed
create_blog - Removed
create_client - Removed
create_page - Removed
create_website - Removed
delete_blog - Removed
delete_client - Removed
delete_page - Removed
delete_website - Removed
generate_magic_link - Removed
get_blog - Removed
get_blog_html - Removed
get_client_credits - Removed
get_credits - Removed
get_page - Removed
get_page_html - Removed
get_website - Removed
get_website_analytics - Removed
get_website_team - Removed
get_workspace - Removed
get_workspace_analytics - Removed
get_workspace_team - Removed
list_blogs - Removed
list_clients - Removed
list_pages - Removed
list_websites - Removed
publish_blog - Removed
publish_page - Removed
remove_custom_domain - Removed
remove_workspace_team_member - Removed
unpublish_blog - Removed
unpublish_page - Removed
update_blog - Removed
update_blog_content - Removed
update_client - Removed
update_page - Removed
update_page_content - Removed
update_website - Removed
update_website_settings - Removed
update_workspace
43 tool updates
v1.0.14- First observed
add_custom_domain - First observed
add_workspace_team_member - First observed
allocate_credits - First observed
assign_website - First observed
create_blog - First observed
create_client - First observed
create_page - First observed
create_website - First observed
delete_blog - First observed
delete_client - First observed
delete_page - First observed
delete_website - First observed
generate_magic_link - First observed
get_blog - First observed
get_blog_html - First observed
get_client_credits - First observed
get_credits - First observed
get_page - First observed
get_page_html - First observed
get_website - First observed
get_website_analytics - First observed
get_website_team - First observed
get_workspace - First observed
get_workspace_analytics - First observed
get_workspace_team - First observed
list_blogs - First observed
list_clients - First observed
list_pages - First observed
list_websites - First observed
publish_blog - First observed
publish_page - First observed
remove_custom_domain - First observed
remove_workspace_team_member - First observed
unpublish_blog - First observed
unpublish_page - First observed
update_blog - First observed
update_blog_content - First observed
update_client - First observed
update_page - First observed
update_page_content - First observed
update_website - First observed
update_website_settings - First observed
update_workspace
TDQS
Each tool targets a distinct resource (blog, page, website, client, workspace) and specific action (create, get, list, update, delete, etc.). Even similar tools like update_blog and update_blog_content are clearly differentiated by purpose. Batch and status-check variants are clearly named and do not overlap with singular versions.
All tools follow a consistent verb_noun pattern in snake_case (e.g., create_blog, list_clients, delete_page). Batch and status-check tools extend the pattern predictably (batch_create_blogs, check_blog_status). No mixed conventions or inconsistent naming styles are observed.
With 52 tools, the count is high but justifiable given the breadth of resources (websites, blogs, pages, clients, workspace) and operations (CRUD, async workflows with polling, batch operations, domain management, team management, credits, analytics). However, some tools like individual check_* and batch_check_* could potentially be consolidated, making the surface heavier than necessary.
The tool set covers the full lifecycle for websites, blogs, pages, clients, and workspace with create, read, update, delete operations. Additional features like domain management, team management, credits, analytics, and publish/unpublish are included. Minor gaps exist (e.g., no search or filtering for listings), but the core workflows are well-supported.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Build, edit, host, and publish websites from AI assistants. Setup: https://mcp.orivox.org/
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
One memory, every AI. A shared, user-owned markdown memory your AI clients read and write over MCP.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for Averra Extract — lets AI agents like Claude, Cursor, and ChatGPT convert any webpage into clean, LLM-ready Markdown.599MIT
- AlicenseAqualityCmaintenanceMCP Server for Web2MD — convert webpage URLs to clean Markdown from Claude Desktop, Cursor, or any MCP-compatible agent.611MIT
- AlicenseAqualityCmaintenanceVendor-agnostic MCP server that audits, scores, and rewrites web pages for AI-citation eligibility. No API keys. No registration. Works in Claude Desktop, Cursor, Cline, Windsurf, VS Code (Copilot / Continue), and any client that speaks the Model Context Protocol.201003MIT
- AlicenseBqualityCmaintenanceMCP server for Contextium — pipe team SOPs, coding standards, agents, skills, and workflows directly into Claude, Cursor, and other AI coding assistants.67MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lindoai/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server