Local MCP
Pilot MCP is a local macOS server that gives AI agents native access to 80+ Mac and Microsoft applications without cloud APIs or data leaving your machine.
Email (Apple Mail & Outlook): List, read, search, send, reply to, and move emails; save attachments; create folders.
Calendar (Apple Calendar & Outlook): List calendars and events; create and delete events.
Contacts: List, search, and retrieve full contact details from the Mac address book.
Reminders: List reminder lists; create and complete reminders.
Notes (Apple Notes): List, read, create, and search notes.
Messaging (iMessage & Microsoft Teams): Read and search iMessage conversations; list Teams, channels, and chats; read channel and chat messages.
Task Management (OmniFocus): List, search, create, and complete tasks and projects; manage tags.
File Management (OneDrive & Finder): List, read, search, write, delete, move, and rename files in OneDrive; browse and search local files via Finder/Spotlight.
Document Processing: Read and create Word documents, Excel spreadsheets, and PowerPoint presentations; read PDFs; append to Word docs; write to Excel cells.
Safari: List bookmarks.
Utilities: List configured email/calendar accounts; run diagnostics; report bugs; request features or new integrations.
Key advantages: Runs entirely locally using native macOS APIs (JXA, AppleScript, EventKit) — no API keys, OAuth, or cloud dependencies required. Works offline with sub-second response times. Supports Claude Desktop, Cursor, Windsurf, VS Code, and Zed, with an optional Cloud Relay for Claude.ai and ChatGPT.
Allows the AI to read and search Messages conversations, including retrieving recent messages from specific contacts and searching message history for information such as addresses.
Allows the AI to access Safari bookmarks, enabling retrieval and listing of bookmarks from specific folders.
LMCP — Context and Actions for Your AI
Give your AI the context to get things done. LMCP connects compatible assistants to your apps and accounts through the Model Context Protocol (MCP). Bring together relevant information from email, messages, calendars and files, then use tools to turn that context into useful action — with less searching and copying between apps.
Use it with Claude, ChatGPT, Codex, Cursor and other compatible MCP clients. Available integrations and connection methods vary by assistant, platform and permissions.
Download for Mac or Windows → · Explore the product · Setup guides
This repository contains release information, documentation and the npm wrapper. The core binary is proprietary; documentation and scripts have their own license — see LICENSE.
More than one app's view of your information
An email, a message and a document may each contain only part of the answer. With compatible tools and access you authorize, your assistant can find those pieces across apps and accounts and use them together.
What you ask | How connected context helps |
“Tell me everything I still owe the architect — I can't remember her name.” | Search relevant messages, email and files to identify the person and assemble outstanding requests with their sources. |
“Help organize my day so I can meet my commitments.” | Combine calendar events, tasks and relevant messages to propose a realistic plan and make supported updates when authorized. |
“Prepare replies to customer orders using the inventory and plan dispatch.” | Read accessible order and inventory information, draft replies and use supported scheduling tools. Review proposed actions before authorizing execution. |
These illustrate workflows an assistant can build from available tools, not guaranteed autonomous outcomes. Sources must be accessible; assistant capabilities and each tool's permissions still apply.
Related MCP server: macuse
Apps and tools
Explore email, calendars, contacts, messages, tasks, files, documents, browser automation and other integrations. Examples include Apple Mail, Outlook, Microsoft Teams, Slack, WhatsApp, Signal, Google Drive, OneDrive, Microsoft 365, Notes, Reminders, Microsoft To Do, OmniFocus, Notion and ServiceNow.
Not every integration is available on both operating systems. Apple-native tools require macOS; connected services may need their own sign-in or permissions. Some tools use locally cached or synced data rather than a complete cloud account.
For current tools, requirements and platform coverage, use the tool reference and guides rather than a fixed count in this README.
See it work
The recording shows a Mac workflow through Cloud Data Forwarding, not every platform or integration.
Watch the 1-minute overview — what MCP is, how LMCP works, and a real run from email to Excel, Word and a reminder:
Install and connect
Download LMCP for your operating system. Follow the installer and onboarding steps.
Select your assistant and enable the compatible integrations you want to use.
Grant required permissions or sign in where needed, then follow the assistant-specific setup guide.
Cursor plugin
This repository is also a Cursor plugin. It adds the local-mcp MCP server, a rule that tells Cursor's agent when to use LMCP, and skills for email, calendar, messages, files and Office.
LMCP must be installed first (step 1 above): the plugin starts the LMCP server on your computer and does not work without it.
Supports macOS 13+ and Windows 10+ (64-bit). Linux, iOS and Android are not supported.
Choose one installation path:
Signed installer for Mac (
.pkg) or Windows: download page.macOS terminal:
curl -fsSL 'https://www.local-mcp.com/install?ref=github-releases' | bashWindows PowerShell:
irm https://www.local-mcp.com/install-windows?ref=github-releases | iex(per-user, no administrator rights or Node.js needed).Claude Desktop extension: one-click
.mcpbat www.local-mcp.com/install/mcpb.npm (requires Node.js):
npx -y local-mcp@latest setupconfigures the compatible clients it detects.
Details for agents and each path: llms-install.md. After installing, fully restart your AI client; MCP tools load at startup.
Local desktop/CLI clients and web assistants connect differently. The installer configures the compatible local clients it detects. Web assistants (ChatGPT, Claude.ai, Grok, Perplexity) connect through https://www.local-mcp.com/mcp as a custom connector with OAuth. They need the local app installed and Cloud Data Forwarding enabled in LMCP (off by default); with forwarding off, the connector exposes only setup_install. Follow the web AI guide and the current guides.
An endpoint alone is not a verified connection: complete authorization and check that tools are available in your client.
Install LMCP in your AI tool
Install the LMCP app first (see above); it runs the tools on your computer. Then add LMCP to your assistant. After any of these, fully restart the tool: MCP tools load at startup.
Tool | Copy-paste |
Claude Code |
|
Codex CLI |
|
GitHub Copilot CLI |
|
VS Code (Copilot Chat) |
|
Gemini CLI |
|
Cursor |
|
Windsurf, Zed, Claude Desktop |
|
LM Studio (0.3.17 and later) | |
Cline, Continue, Goose, OpenCode and other MCP clients | Add this server to the client's MCP settings: |
Examples for clients that use their own config format:
# Goose
goose session --with-extension "npx -y local-mcp@latest"// OpenCode: opencode.json
{ "mcp": { "local-mcp": { "type": "local", "command": ["npx", "-y", "local-mcp@latest"] } } }// Zed: settings.json
{ "context_servers": { "local-mcp": { "command": "npx", "args": ["-y", "local-mcp@latest"] } } }// Cline (cline_mcp_settings.json), LM Studio (mcp.json), Claude Desktop, Windsurf
{ "mcpServers": { "local-mcp": { "command": "npx", "args": ["-y", "local-mcp@latest"] } } }These paths need Node.js. Web assistants (ChatGPT, Claude.ai, Grok, Perplexity) connect differently; see above.
How it works
Your assistant → MCP → available tools → relevant apps and accounts → context and actions.
Compatible tools execute on your computer. Some read native data, local caches or synced files; others connect to services requiring authentication and a network connection. Your assistant chooses tools for your request within the access you grant — it does not automatically gain access to every account.
Local tools, clear data boundaries
Local execution does not mean a cloud AI receives no data. Your chosen assistant or connected service may receive content needed for your request, including when a desktop client uses a cloud model.
Cloud Data Forwarding is optional, off by default, and lets supported web assistants reach tools on your computer. Review its data flow and provider policies before enabling it.
Permissions, preview and confirmation support vary by tool. Review behavior and authorize actions before execution; do not assume a universal confirmation dialog.
Locally available read operations may work offline. Cloud models, connected services, sending and remote updates can require a network connection.
See Privacy and Security. Compliance depends on your complete workflow and provider agreements, not only on where a tool runs.
Learn more
Releases and support
See GitHub Releases for this repository's history and the download page for current installers. Mac and Windows can have different release versions; a GitHub tag alone is not a fleet-wide deployment signal.
Report a problem through LMCP's available feedback tools or open an issue. Include OS and app version, and remove sensitive content from logs.
Request a feature through the available feedback tools or GitHub Issues.
Contact ctpo@colibird.co for support; see SECURITY.md for vulnerabilities.
For current availability, see the website; for license terms, see LICENSE.
If LMCP helps you, star the repository to help others discover it.
Available Tools
323 toolsagent_ackAInspect
Tells the senders that you actually read the messages agent_inbox gave you.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the primary action of notifying senders; it does not disclose whether messages are marked as read, any irreversible effects, or prerequisites beyond reading via agent_inbox. This is insufficient for a tool that has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence, front-loaded with the action ('Tells the senders') and no unnecessary wording. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool with no output schema, the description covers the core functionality and references the related agent_inbox. It could add a note about when exactly to use it, but overall it is sufficiently complete for its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is vacuously 100%. The description does not need to explain parameter semantics, and the baseline for 0-param tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Tells') and clearly identifies the resource ('senders' regarding 'messages agent_inbox gave you'). It effectively distinguishes this tool from messaging tools like agent_send by focusing on acknowledgment rather than sending new messages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies the context: use this after reading messages via agent_inbox to confirm receipt. It provides a clear usage context without explicit exclusions, but it does not name alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_checkinAInspect
Announces YOU (this agent session) to the mesh: your role, the repo you are working on and what you can do.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently explains the action (announcing yourself) and its target (the mesh), including the specific data shared. It does not mention reversibility or side effects, but for a simple check-in, the core behavior is well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the purpose ('Announces YOU') and provides necessary detail without any filler. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description is complete. It explains the tool's purpose, the target (mesh), and the content of the announcement. The simple nature of the tool means nothing else is required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the baseline is 4. The description adds context about what the announcement includes (role, repo, capabilities), which is sufficient. No parameter-specific details are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Announces') and resource ('to the mesh'), and enumerates the content of the announcement (your role, repo, capabilities). This clearly distinguishes it from sibling tools like agent_ack or agent_send.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you need to announce your agent session to the mesh), but it does not explicitly state when to use it vs alternatives or mention any exclusions. No conflicting alternative is mentioned, so usage is inferred rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_inboxAInspect
Reads the messages other agents sent to this machine since your last poll (check in first with agent_checkin).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses a prerequisite (check in first) and a time window (since last poll), but does not specify side effects such as whether messages are marked as read, whether polling state is reset, or if a separate acknowledgment (agent_ack) is needed. This is a notable gap for a tool that depends on polling state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the verb 'Reads', contains no filler, and conveys the essential information efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool, the description is mostly complete, providing the purpose and a prerequisite. However, it omits details about what happens to the messages after reading (e.g., consumption, acknowledgment) and does not describe the output format, which may be important for a messaging 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?
The tool takes zero parameters, so the baseline is 4. The description adds no parameter-specific detail, but none is needed since the schema is empty and fully covers the parameter space.
Input schemas describe structure but not intent. Descriptions should explain 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 (Reads), the resource (messages other agents sent to this machine), and the scope (since your last poll). It effectively distinguishes from sibling tools like agent_send, agent_checkin, and agent_ack, which handle different aspects of agent messaging.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 check in first with agent_checkin and clarifies that messages are those received since the last poll. This gives clear context for when to use the tool, though it does not mention exclusions or alternative tools by name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_mesh_createAInspect
Starts a new agent mesh with THIS machine as its first member.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It does reveal that the current machine becomes the first member, but omits any consequences, side effects, prerequisites, idempotency, or failure behavior. This is minimal disclosure for a state-creating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with zero filler. Clearly states the action, the resource, and the key distinctive detail about the current machine, making every word count.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description covers the essential purpose and the unique 'first member' aspect. However, it doesn't mention follow-up actions like inviting other members, which would be helpful given the sibling mesh tools, but the simplicity of the tool keeps the gap modest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty, so the baseline for parameter semantics is 4 per rubric. The description adds no parameter meaning because there are none, but it correctly implies no inputs are needed for the operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb ('Starts') and clearly identifies the resource ('agent mesh') while adding the unique scope 'with THIS machine as its first member.' This distinguishes it clearly from sibling mesh tools like join/invite/revoke by indicating it is the genesis operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'new agent mesh' and 'first member' implicitly convey that this is for creating a fresh mesh rather than joining an existing one. However, it does not explicitly state alternatives or exclusions, such as 'use agent_mesh_join if you already have an invitation.' The guidance is clear context but lacks direct comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_mesh_inviteAInspect
Creates a single-use pairing code (valid 15 minutes) that another of the user's machines can redeem with ag...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It adds valuable details: single-use and 15-minute validity. Yet it omits other aspects like permissions required, whether existing invites are invalidated, or what the response contains. The absence of these details leaves the agent without a complete safety/behavioral profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the verb and core resource. It is efficient and easy to parse. However, the sentence ends abruptly with 'ag...', suggesting truncation, which slightly undermines the structural 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?
For a zero-parameter tool with no output schema, the description covers the essential purpose and key constraints (single-use, 15-minute validity). Still, it does not explain how this fits into the broader mesh flow (e.g., that agent_mesh_join consumes the code), and the truncation leaves the context incomplete. A fully articulated alternative reference would make it more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, which per rubric is a baseline 4. The description appropriately says nothing about parameters because none exist. No additional semantic meaning is needed beyond what the empty schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a 'single-use pairing code' with a specific intent to be redeemed by another machine. This is distinct from sibling tools like agent_mesh_join (which presumably redeems) and agent_mesh_revoke (which revokes). The verb 'Creates' and resource 'pairing code' make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'another of the user's machines can redeem' implies the use case of pairing a new device, and the 15-minute validity hints at time-sensitive usage. However, there is no explicit 'use this when' or mention of alternatives (e.g., agent_mesh_join for redemption), and the truncated ending 'ag...' suggests incomplete guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_mesh_joinAInspect
Enrolls THIS machine into an existing agent mesh using a pairing code the user got from another of their ma...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates a state-changing action ('enrolls') but does not specify what changes occur, whether the pairing code is consumed, if the machine needs to be restarted, or what happens if already enrolled. Minimal behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the core action. However, the text is visibly truncated (ending mid-word at 'ma...'), which harms completeness and structure. It is concise but incomplete as provided.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 tool with no output schema, the description provides the essential purpose and method. But it omits any indication of return values, success/failure behavior, or post-conditions. The truncation also leaves missing context, so it is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters in the schema, so the baseline is 4. The description adds meaningful conceptual input by mentioning the 'pairing code', which is not represented in the schema but is clearly essential to the operation. This aids agent understanding, though it is not formally defined as a parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Enrolls THIS machine'), the target resource ('into an existing agent mesh'), and the method ('using a pairing code'). It is distinct from sibling tools like agent_mesh_create or agent_mesh_invite because it focuses on joining this machine to an existing mesh rather than creating or inviting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case: the user has a pairing code from another machine and wants to enroll the current machine. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_mesh_revokeAInspect
Removes another machine from this mesh, immediately: it stops appearing in the directory, stops receiving m...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing side effects. It mentions immediate removal and consequences (stops appearing in the directory, stops receiving messages), but omits reversibility, permissions, or effects on existing connections. Some transparency is present, but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the core action and immediate outcome. No wasted words, and the key information (removal, immediacy, directory removal) appears early.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers immediate effects but fails to specify how the target machine is selected, and the text is truncated. Without parameters or an output schema, the description is incomplete for safe and targeted use. It lacks broader context about the revocation process and prerequisites.
Complex tools with many parameters or behaviors need more documentation. 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 zero properties, yet the tool clearly requires a target machine. The description says 'another machine' but does not explain how the target is identified, leaving the agent without essential information. With no parameters, the description should clarify how the target is derived, but it does not, making this a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Removes another machine from this mesh') with a specific verb and resource, distinguishing it from sibling mesh tools like create/invite/join/status. The scope and immediate effect are mentioned, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for revoking a machine from the mesh, but provides no explicit guidance on when to use it versus alternatives, nor any exclusions. The context of being a mesh management tool partially compensates, but explicit when-to-use details are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_mesh_statusAInspect
Shows whether THIS machine belongs to an agent mesh — the group of the user's own machines whose AI agents...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the read-only nature by saying 'shows whether', which implies a safe status query. However, it doesn't describe output format (e.g., boolean vs. object) or any network dependencies. The definition of agent mesh is partially helpful but truncated, leaving some behavioral context missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and extremely concise. It front-loads the key action and includes a helpful definition of agent mesh. No wasted words, and the structure is appropriate for a simple status 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 zero-parameter status tool with no output schema, the description mostly suffices, but it is truncated mid-sentence ('whose AI agents...'), which leaves the definition incomplete. It also doesn't state what the return value looks like. Given the full description isn't provided, the tool isn't fully self-contained.
Complex tools with many parameters or behaviors need more documentation. 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 baseline is 4. The description adds context by specifying 'THIS machine', clarifying that the status check is scoped to the local machine rather than any other machine. This is useful semantic context beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it shows whether the current machine belongs to an agent mesh. This distinguishes it from sibling tools like agent_mesh_create, agent_mesh_join, and agent_mesh_revoke, which modify membership rather than check status. The specific verb 'shows whether' plus the resource 'agent mesh' leaves no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: use this tool to check if the current machine is part of an agent mesh. It doesn't explicitly state when not to use it or mention alternatives, but the context is clear enough given the sibling tools (e.g., you wouldn't use agent_mesh_create just to check status). No exclusions are stated, but the intended use is obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_sendAInspect
Sends a coordination message to an agent on ANOTHER of the user's machines (get its handle from agents_list).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior, but it only states the action and target. It does not mention potential side effects, delivery guarantees, prerequisites beyond getting the handle, or behavior on failure. This is a minimal disclosure for a send operation with network implications.
Agents need to know what a tool does to the 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, clearly worded sentence that front-loads the primary verb and object. It includes a useful cross-reference without unnecessary verbiage. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description covers the essential aspects: what it does, to whom, and where to find the handle. It does not elaborate on the nature of 'coordination messages' or outcomes, but given the tool's simplicity, the description is adequately 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 zero parameters, and the description appropriately avoids parameter details. The pointer to agents_list for obtaining the handle is useful context. Baseline for 0 params is 4, and nothing reduces this.
Input schemas describe structure but not intent. Descriptions should explain 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 ('Sends a coordination message') and the target ('to an agent on ANOTHER of the user's machines'). It also differentiates from siblings by specifying cross-machine communication and references agents_list for obtaining the handle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context on when to use the tool (sending a coordination message to another machine's agent) and a key prerequisite (get the handle from agents_list). However, it does not explicitly state when not to use it or name alternative tools, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_sentAInspect
Shows what THIS machine sent and what happened to it: who it was delivered to and who acknowledged it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosure. It states the read-only nature ('Shows') and provides context about the data returned (delivery and acknowledgment info). However, it does not disclose potential limitations such as message recency, filtering, or scope beyond 'this machine.'
Agents need to know what a tool does to the 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 verb and resource, followed by clarifying details. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (no parameters, no output schema), the description adequately covers what the tool returns: sent messages with delivery and acknowledgment info. It could possibly mention the messaging context (e.g., agent mesh), but the name and sibling tools make this evident.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the description correctly implies that no input is needed. By default, a zero-parameter tool earns a baseline of 4, and there is no additional parameter semantics required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Shows' to specify a read operation, and clearly identifies the resource as 'what THIS machine sent,' with additional detail on delivery and acknowledgment status. This distinguishes it from sibling tools like agent_inbox (received) and agent_send (send).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 a use case (checking sent messages and their delivery/ack status) but does not explicitly state when to use this tool instead of alternatives like agent_inbox or agent_ack. No exclusions or alternative tool names are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agents_listCInspect
Lists the agents currently working across ALL the user's machines in the mesh — which machine each is on, i...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears the full burden of disclosing behavior. It only hints at returning machine associations but does not mention permissions, side effects, return format, or whether agents are filtered by state. The truncated fragment leaves significant behavioral information undisclosed.
Agents need to know what a tool does to the 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 appropriately brief, but it is an incomplete sentence that ends abruptly ('i...'). While it avoids waste, the truncation harms structural completeness and makes it read as an unfinished thought.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 no annotations, the description is expected to clearly explain what is returned. It starts to say 'which machine each is on' but is cut off, leaving the response format and any additional agent fields undisclosed. For a simple list operation, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there are no parameter semantics to explain. The baseline for 0-parameter tools is 4, and the description's mention of 'ALL the user's machines' adds useful context about the implicit scope, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Lists') and a clear resource ('agents currently working across ALL the user's machines in the mesh'), which distinguishes it from siblings like agent_mesh_status or agent_inbox. However, the description is truncated mid-sentence, cutting off the list of details about each agent, so it does not fully specify the output's 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 provides no explicit guidance on when to use this tool versus alternatives such as agent_mesh_status or agent_checkin. It implies a monitoring/listing use case but does not state any exclusions or preferred contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_omnifocus_taskBInspect
Marks an OmniFocus task as complete.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It states the mutation, but does not disclose authentication requirements, reversibility, whether completion is idempotent, or what happens if the task is already complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It is appropriately sized for the stated operation, though it sacrifices some useful detail for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state-changing operation with no annotations and no output schema, the description should clarify what task is affected, prerequisites, or expected outcome. With an empty input schema, the lack of any mention of how the target task is identified leaves a significant contextual gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to document. The baseline for a 0-parameter tool is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Marks') and resource ('OmniFocus task') with a clear outcome ('as complete'). It is readily distinguishable from siblings such as create_omnifocus_task, list_omnifocus_tasks, and search_omnifocus_tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives like todo_complete_task, complete_reminder, or todoist_complete_task. Usage is only implied by the tool name and the action itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_reminderBInspect
Marks a reminder complete in Apple Reminders (Reminders.app).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states the action without disclosing idempotency, reversibility, or effects if called on an already completed reminder. The lack of parameters raises questions about how the target reminder is identified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. Front-loads the core action and application.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no parameters, the tool likely requires implicit context (e.g., selected reminder). No output schema is provided. The description is insufficient to understand the tool's full behavior and dependencies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. Per guidelines, baseline for 0 params is 4. Description adds no additional value but is not required to.
Input schemas describe structure but not intent. Descriptions should explain 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 (Marks complete), resource (reminder), and application (Apple Reminders), distinguishing it from siblings like create_reminder or delete_reminder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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, prerequisites, or alternatives. The agent must infer context; no details on whether a reminder must be selected or if the tool acts on a specific reminder.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
configure_clientsBInspect
Adds Local MCP to the config of the MCP-capable AI apps installed on this Mac, from LMCP's client catalog (...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It reveals a mutating action ('Adds') and the scope, but it does not disclose whether the operation is reversible, idempotent, permission-gated, or what side effects it may have on existing client configurations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It loses a point only because the text appears cut off mid-phrase ('client catalog (...'), leaving the sentence structurally incomplete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 tool with no output schema, the core action and scope are present and understandable. However, with no annotations and no usage guidance, an agent still lacks information about side effects and when this tool should be selected over related configuration or installation tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% schema coverage is vacuous, so there are no parameter details to supplement. With no inputs, the description appropriately focuses on what the tool configures, matching the 0-parameter 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 names the action ('Adds Local MCP'), the target ('config of the MCP-capable AI apps installed on this Mac'), and the source ('LMCP's client catalog'). This is specific enough to distinguish it from single-app connect tools, though it does not explicitly contrast with siblings and the text appears truncated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as lmcp_install_upgrade, recipe_install, or the various connect_* tools. There are no prerequisites, exclusions, or explicit conditions stated, so usage context is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_evernoteBInspect
Connect your Evernote account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. A connect tool typically initiates an interactive auth flow (opening a browser, requiring the user to log in, possibly returning a login URL), and none of that is disclosed. Only the bare fact of connecting is stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no waste and the action front-loaded. It is efficient but borders on under-specification given the interactive nature of a connect operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description technically covers the minimum. However, for an account-linking tool the agent would benefit from knowing that this is an interactive auth step and what a successful connection yields, which is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the 4 baseline for a parameterless schema applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Connect) and resource (Evernote account), which is unambiguous and clearly the counterpart to the sibling disconnect_evernote. It lacks any explicit sibling differentiation, but none is really needed here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use guidance, no prerequisites, no mention of what triggers the connection (OAuth flow, browser popup, credentials). The agent is left to infer everything about timing and preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_m365_accountBInspect
Connect a Microsoft 365 account (or add another one, or sign one in again).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it omits the behavior that matters most for a connect tool: that it likely launches an interactive OAuth/browser sign-in, may block on user action, and what state exists on success or failure. Only the add-another/re-auth nuance is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the core action front-loaded and the secondary cases tucked into a parenthetical. Nothing is redundant, though the parenthetical slightly muddies the lead statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 connect action with no output schema and no annotations, the definition is minimally viable: it says what happens and roughly when. It does not explain the interactive sign-in flow, expected follow-up calls (e.g. list_m365_accounts, set_default_m365_account), or failure modes, leaving real gaps for an agent driving the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify beyond what the empty schema already shows. Baseline 4 applies; no parameter information is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Connect a Microsoft 365 account'), which cleanly separates it from disconnect_m365_account, list_m365_accounts and set_default_m365_account by action. It stops short of explicitly naming those siblings or the resulting state, so it is clear but not maximally differentiating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical 'or add another one, or sign one in again' gives useful context for when to call it (first-time link, multi-account, re-authentication), which is more than most connect tools offer. However, it never points to the alternatives such as disconnect_m365_account or list_m365_accounts, nor states prerequisites, so usage is implied rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_servicenowDInspect
Connect ServiceNow.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It fails to mention whether credentials are required, whether a connection state is persisted, whether existing connections are overwritten, or any side effects on other ServiceNow tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While the description is short, it is under-specified rather than appropriately concise. The single sentence does not earn its place because it conveys no useful information beyond the tool name, offering no structural benefit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is completely inadequate for an agent to understand the tool's purpose, prerequisites, or impact. There are no annotations, output schema, or contextual clues, making it impossible to safely invoke this tool based on the provided 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?
The tool has zero parameters, so the schema is vacuously complete. Per the baseline rule for 0 params, a score of 4 is appropriate even though the description adds no semantic value beyond the name; there is nothing 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 'Connect ServiceNow.' is a tautology that merely restates the tool name without specifying what connecting actually entails, such as authentication, configuration, or scope. It does not differentiate from related tools like disconnect_servicenow or other ServiceNow 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?
There is no guidance on when to use this tool versus alternatives, no prerequisites, no context about whether this is a one-time setup or per-session action, and no mention of related tools. The agent receives zero instruction on choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_todoistCInspect
Connect Todoist.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only says 'Connect Todoist.' It does not disclose whether this initiates an OAuth flow, stores credentials, requires user interaction, or has side effects. The agent is left without any awareness of what will happen when invoking this tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at two words, but it is under-specified for a connection tool. It earns its place as a clear subject-verb statement, but lacks critical context about the connection process. It is not verbose, but it is incomplete, so it does not merit a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no annotations, no output schema, and no parameters, the description is the only source of information. 'Connect Todoist' does not explain the connection flow, success/failure conditions, required authentication, or what happens after connection. This is completely inadequate for an agent to safely and correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is fully covered by virtue of being empty. The baseline for 0-parameter tools is 4, and the description does not need to explain parameters. No additional parameter semantics are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Connect Todoist' uses a specific verb and resource, making it clear that this tool establishes a connection to Todoist. It distinguishes from siblings like disconnect_todoist and connect_m365_account by naming the target service. However, it does not elaborate on what 'connect' entails, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as disconnect_todoist or other connection tools. No context is provided about prerequisites, when a user would need to connect Todoist, or how it relates to the many Todoist task management tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_calendar_eventCInspect
Creates an event in the Mac's Calendar app (Calendar.app).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior, but it only states 'Creates an event.' It does not explain whether the tool opens a dialog, saves immediately, requires Mac Calendar to be running, or what default values are used. Behavioral traits are completely opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence), which is concise but at the cost of important details. It front-loads the core action but fails to earn its place by omitting critical usage and behavior 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 zero parameters, no output schema, and missing annotations, the description is severely incomplete. It does not explain what happens when the tool is invoked (e.g., creates a blank event, requires user input, or returns an object) or any return value.
Complex tools with many parameters or behaviors need more documentation. 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% trivially. The description adds no parameter information because none exist. Baseline score 3 is appropriate as the description provides no additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as creating an event in the Mac's Calendar app, distinguishing it from other calendar tools like m365_create_event and update_calendar_event. However, the lack of parameters leaves ambiguity about what kind of event is created (e.g., blank, default, or based on 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?
No guidance is provided on when to use this tool versus alternatives (e.g., m365_create_event for Outlook). There are no preconditions or exclusions mentioned, leaving the agent without 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.
create_draftAInspect
Saves an email to the Mail.app Drafts folder for the user to review and send manually — it never sends.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the single most important behavioral trait for a mail tool: it never sends, only writes to the Drafts folder. It says nothing about permissions, whether an existing draft is overwritten, or what a successful call returns, so transparency is partial rather than rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action and destination, ending on the safety-relevant constraint. No filler sentences and nothing redundant with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-annotation, no-output-schema tool, the description covers the essential risk disclaimer (never sends) but leaves a real gap: it never explains where the email content comes from given the empty input schema, nor what the call returns. Minimum viable rather than 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?
Zero parameters, so per the baseline this scores 4; the empty schema leaves nothing to document. The description does not explain how the draft body is supplied, but with no parameters present there is no schema content to obscure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Saves), resource (an email) and destination (Mail.app Drafts folder) in one clause, and the trailing negation ('it never sends') explicitly separates it from the many send-capable siblings (send_email, m365_send_email, agent_send). An agent can route between this and the send tools without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for use: drafting for human review and manual sending, which is exactly the case that distinguishes it from direct-send tools. It does not name an alternative tool explicitly or state prerequisites, so it falls just short of the top band.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_email_folderBInspect
Creates a mailbox folder in the Mac's Apple Mail (Mail.app), in one account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only the target app and that creation happens in a single account; it says nothing about required permissions, what happens if the folder already exists, whether creation is reversible, or what is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb and target app come first. It is efficiently written, though its brevity is a symptom of under-specification rather than deliberate restraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and an input schema that declares no properties at all, the description leaves the agent without the operational details it needs — how the folder is named or targeted, and what happens on failure or duplicate.
Complex tools with many parameters or behaviors need more documentation. 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 declared parameters, the baseline is 4. However, the description's phrase 'in one account' implies an account (and presumably a folder name) must be designated, yet neither the schema nor the description explains how that is supplied — a gap the description does not compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (creates), resource (mailbox folder), and target system (the Mac's Apple Mail), which implicitly separates it from outlook_create_folder and create_reminder_folder. It stops short of explicitly naming a sibling to differentiate against, so it lands at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It says what the tool does but never when to use it versus alternatives such as outlook_create_folder or create_reminder_folder, nor any preconditions (account connected, Mail.app running). Usage is only implied by the platform mention.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_noteBInspect
Creates a new note in Apple Notes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description only says 'creates' without detailing behavioral traits like idempotency, side effects, or permissions. Insufficient transparency for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence is concise, but under-specifies details. Could add value 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?
Minimal description for a tool with no annotations, no output schema, and many sibling tools. Lacks prerequisites, constraints, or expected 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?
No parameters in schema; description adds no meaning beyond schema. Baseline for 0 params is 4, but ambiguity about what note is created (content?) lowers to 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Creates a new note in Apple Notes', specifying verb and resource. Distinct from sibling tools like read_note, update_note, list_notes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool instead of alternatives. Does not mention prerequisites or context for creating a note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_omnifocus_taskCInspect
Creates a task in OmniFocus on this Mac.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It adds only 'on this Mac', which hints at a local-app dependency, but says nothing about required permissions, whether OmniFocus must be running, which list/project the task lands in, or what a failure looks like for a mutation operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb and target are the first two words. It is efficient, though the brevity shades into under-specification for a write 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 mutation tool with no annotations, no output schema, and an empty input schema, one sentence is not enough. The agent cannot tell what it must supply, what state the tool changes, or what the return value is.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is zero and the schema is an empty object, so the usual baseline would be 4. However, the description offers no indication of how task content is supplied (title, due date, project, tags) for a create operation, leaving a real semantic hole that the description could have acknowledged.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Creates) and resource (a task) scoped to a named product (OmniFocus), so it is distinguishable from generic siblings like create_reminder or todo_create_task. It stops short of explicitly contrasting itself with those siblings, so no differentiation credit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use guidance and no mention of alternatives, despite the sibling list containing several near-identical create tools (todo_create_task, todoist_create_task, create_reminder, create_calendar_event). The agent is left to infer which task backend to target.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_referral_invitesBInspect
Records referral invites for the colleagues a user chose to invite and returns a unique referral link per p...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'records' implying a write operation, but gives no details on idempotency, authentication requirements, whether emails are sent, or error handling. The return value is mentioned, but broader side effects and constraints are absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is efficient, but it is truncated ('per p...') and awkwardly combines two clauses. While not verbose, the incomplete ending and lack of structure prevent it from being more polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (no parameters, no output schema), and the description covers the core action and return value. However, it lacks context about preconditions (e.g., how colleagues are chosen), relationship to list_referral_candidates, and error behavior, leaving it incomplete for a mutation-type 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?
The input schema has zero properties, so there are no parameters to describe. With no parameters, the baseline is 4, and the description adds context by explaining the tool's behavior (recording invites and returning a unique link), which compensates for the lack of explicit 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 tool 'records referral invites' and 'returns a unique referral link per person' (assuming 'per p...' means per person). This specifies the action and result, and it is distinguishable from the sibling tool list_referral_candidates which lists candidates rather than recording invites.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not mention when to use this tool versus alternatives such as list_referral_candidates, nor does it give exclusions or prerequisites. It only implies usage after the user has chosen colleagues to invite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_reminderBInspect
Creates a reminder in Reminders.app.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the action without disclosing effects like whether it requires the app to be open, permissions, or what the default list is. For a mutation tool, more behavioral context is needed.
Agents need to know what a tool does to the 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 efficient and front-loaded. However, it is somewhat under-specified, lacking details that would not add much verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and no annotations, the description is thin. It doesn't explain what kind of reminder is created (e.g., title, date) or how the user interacts with it, leaving ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing to describe beyond the tool's action. The description does not repeat schema information. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'creates' and the resource 'a reminder', and specifies the app 'Reminders.app'. This distinguishes it from sibling tools like 'complete_reminder', 'delete_reminder', etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no conditions for use. It simply states what it does without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_reminder_listCInspect
Creates a new list in Apple Reminders (Reminders.app), in the same account as the default Reminders list (u...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose one useful trait – the new list lands in the same account as the default Reminders list with no account selection – but says nothing about naming constraints, duplicate handling, failure modes, or what is returned, and cuts off mid-sentence.
Agents need to know what a tool does to the 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 cut off before completion, so it is not appropriately sized – it is under-specified rather than concise. Nothing is front-loaded beyond the verb-resource pairing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and no parameters, the description should explain expected results or naming behavior. Instead it ends mid-word, leaving the agent without a complete picture of the operation's effect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so the baseline is 4. However, the truncated text ("...list (u...") hints at a qualifier or condition the agent never receives, which is mildly confusing rather than clarifying, pulling this down to 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ("Creates a new list in Apple Reminders") and gives the list's scope, which distinguishes it from siblings like create_reminder and rename_reminder_folder. However, the sentence is truncated mid-clause ("...default Reminders list (u..."), so the purpose is stated but not fully finished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 create a list versus using create_reminder, rename_reminder_folder, or get_reminder_folders, and no prerequisites or exclusions are stated. The truncated trailing clause may have contained such guidance, but as delivered none is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
daily_briefCInspect
Returns a single morning briefing combining today's calendar events, overdue and due-today reminders, unrea...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only states it returns data, but does not confirm it is read-only, whether it has side effects, or any other behaviors like caching or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that gets to the point, but it is truncated, making it incomplete. It is concise but not fully formed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, no output schema, and no annotations, the description should fully explain the tool. It partially explains what it returns but is cut off, missing details about output format, data freshness, or limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the baseline is 4. The description adds no parameter info, but that is fine since none exist. The description is incomplete but does not mislead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a morning briefing combining today's calendar events and reminders. It distinguishes itself from siblings like list_calendar_events and list_reminders by offering a consolidated view. However, the description is truncated, slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention when not to use it or any prerequisites. The context of a morning briefing is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_calendar_eventCInspect
Deletes an event from the Mac's Calendar app (Calendar.app) by ID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Only states it deletes an event but does not disclose consequences (irreversible, permissions needed, behavior on non-existent ID). Lacks critical behavioral context for a destructive 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 waste, but is too short given the significant gap between description and schema. Overly concise to the point of being incomplete and contradictory.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description should provide context on how to obtain the event ID and what the result looks like. It fails to do so, making it incomplete for effective usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has no properties, yet description implies an 'ID' parameter. This is a contradiction: the tool cannot delete by ID without that parameter. The description fails to add meaning beyond the schema and actually misleads.
Input schemas describe structure but not intent. Descriptions should explain 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 verb 'deletes' and resource 'event from Mac's Calendar app', and specifies the method 'by ID'. Distinguishes from sibling tools through the name, but could be more explicit about what 'by ID' means.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'create_calendar_event' or 'update_calendar_event'. No prerequisites (e.g., need to obtain the event ID from a list tool) or exclusions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_noteBInspect
Deletes a note from Apple Notes, by ID or exact title.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Deletes' conveys a destructive action but does not state whether deletion is permanent, whether an exact title match must be unique, what happens if no matching note is found, or whether confirmation is required. These are significant omissions for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler, front-loading the action and resource before the targeting details. It earns its place fully.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple in schema, but as a destructive operation with no annotations and no output schema, it should clarify permanence, ambiguity handling, and prerequisites. The discrepancy between the description's 'by ID or exact title' and the empty input schema also makes the definition incomplete for an agent trying to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description claims the tool operates 'by ID or exact title,' which is meaningful parameter information. However, the input schema exposes zero properties, so there is no structured way to pass an ID or title. This mismatch leaves the agent uncertain about what arguments to actually provide and their expected formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a precise verb ('Deletes'), a specific resource ('a note from Apple Notes'), and the accepted selection modes ('by ID or exact title'). This makes the tool's intent unmistakable and clearly distinguishes it from sibling tools like delete_reminder or gdrive_delete_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when a specific Apple Note needs to be removed, and it even hints at how to target it (ID or exact title). However, it provides no explicit guidance on when not to use it, no mention of listing notes first to obtain an ID, and no comparison to update_note or read_note for alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_reminderAInspect
Permanently deletes a reminder in Apple Reminders (Reminders.app) by ID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool 'permanently deletes', signaling destructive behavior, but lacks details on permissions, error handling, or return values.
Agents need to know what a tool does to the 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 front-loaded with the key action 'Permanently deletes'. Every word adds value, and there is no redundancy or wasted space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple deletion tool with no parameters and no output schema, the description covers the essential behavior (permanent deletion by ID). It lacks mention of what happens if the ID is invalid, but overall is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is 100% trivial. According to guidelines, 0 parameters earns a baseline of 4; the description adds no parameter details but none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'deletes' and resource 'reminder in Apple Reminders (Reminders.app) by ID', clearly stating the tool's action and scope. It distinguishes from sibling tools like 'complete_reminder' (mark complete) and 'update_reminder' (modify).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for deleting reminders but does not provide explicit when-to-use or when-not-to-use guidance, nor does it reference alternatives like 'complete_reminder' for non-destructive actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_reminder_folderAInspect
Deletes an Apple Reminders list AND all reminders inside it — cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing side effects. It explicitly warns that the operation deletes the list plus all contained reminders and that it 'cannot be undone,' which is essential for a destructive action. It lacks permission/authentication context, but the irreversibility caveat is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-structured sentence that front-loads the action and consequence. Every word contributes; no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter destructive operation with no output schema, the description is essentially complete: it identifies the target, the cascading effect, and irreversibility. It does not describe the return value, but for a delete operation with no parameterization this is a minor gap given other contextual richness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema fully covers all inputs (an empty object). There are no parameters to explain; the description's emphasis on the list-and-contents scope is more relevant than parameter semantics. Baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly identifies the destructive action ('Deletes'), the target resource ('Apple Reminders list'), and the cascading scope ('and all reminders inside it'). Distinguishes itself from sibling 'delete_reminder' which targets a single reminder, and 'rename_reminder_folder' which mutates rather than deletes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description does not explicitly state when to choose this over alternatives such as 'delete_reminder' or 'complete_reminder'. The scoping phrase implies it is for whole-list deletion, but no explicit guidance or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disconnect_evernoteAInspect
Disconnect your Evernote account and remove stored tokens.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full burden. It discloses that stored tokens are removed, which is important destructive context, but does not state whether the disconnect revokes access, deletes Evernote data, is reversible, or requires re-authentication.
Agents need to know what a tool does to the 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 the action and followed by the key side effect. No redundant or filler language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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, zero-parameter disconnect tool with no output schema, the description covers the core action and token removal. However, it omits post-condition effects such as whether subsequent Evernote tool calls will fail until reconnection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so schema coverage is moot. Baseline for a no-parameter tool is 4; the description does not need to explain 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?
States a specific verb (disconnect) and resource (Evernote account), plus the side effect of removing stored tokens. It distinguishes from connect_evernote by naming the opposite operation, though it does not explicitly call out sibling alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. The action itself implies it should be used when you want to sever Evernote access, but there is no mention of prerequisites, alternatives, or what to do instead if only token refresh is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disconnect_m365_accountBInspect
Disconnect ONE Microsoft 365 account and remove its stored sign-in.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It usefully discloses that the stored sign-in is removed (a destructive, credential-level effect), but it does not say whether mail/calendar data is also removed, whether the action is reversible via reconnect, or whether a confirmation is required. The 'ONE' qualifier also hints at an account-scoping rule that is never made explicit despite there being no parameters to select an account.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the action and its consequence. No padding or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, un-annotated destructive auth tool, the description covers the action and its main effect but leaves the important operational questions unanswered: which account is targeted, whether other data is affected, and whether reconnection is needed to undo it. Adequate as a minimum, but thin for a mutation with no annotation safety net.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify beyond the schema baseline. The implied 'the connected account' targeting is consistent with an empty 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?
States a specific verb (disconnect) and resource (Microsoft 365 account) plus the effect ('remove its stored sign-in'), and the emphasis on 'ONE' signals single-account scope. It does not, however, differentiate itself from the nearby sibling set (connect_m365_account, list_m365_accounts, set_default_m365_account, or the other provider *_disconnect tools), so an agent must infer the boundary from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 explicit when-to-use guidance and no mention of alternatives or the related connect/list/set_default siblings. The agent is left to infer that this is the teardown counterpart of connect_m365_account.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disconnect_servicenowAInspect
Disconnect from ServiceNow and remove stored credentials.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It discloses that credentials are removed, which is a destructive side effect, but does not detail prerequisites (e.g., must be connected), post-conditions, or idempotency. Adequate but could add more context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys the essential information with no extraneous words. It is 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?
The tool is simple with no inputs or outputs, so the description is minimally complete. However, it could improve by mentioning related side effects like session invalidation or that re-authentication will be required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (empty). The description adds no parameter details, but none are needed. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Disconnect from ServiceNow') and the side effect ('remove stored credentials'), making it unequivocal what the tool does. This distinguishes it from siblings like connect_servicenow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when the user wants to sever the ServiceNow connection and clear credentials. It does not explicitly state when not to use or provide alternatives, but the purpose is self-explanatory given the tool's simplicity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disconnect_todoistAInspect
Disconnect Todoist and remove the stored API token.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool removes the stored API token, which is a destructive action, and states the disconnect behavior. It could add context about irreversibility or prerequisites but covers the core effect.
Agents need to know what a tool does to the 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, front-loaded with the action and resource. Every word contributes meaning, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter disconnect operation with no output schema, the description is sufficiently complete. It explains what happens (disconnect) and the side effect (token removal), covering the essential context an agent needs.
Complex tools with many parameters or behaviors need more documentation. 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 description is not required to explain parameter meaning. The baseline of 4 applies, and the description adds no unnecessary parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Disconnect Todoist and remove the stored API token.' It uses specific verbs (disconnect, remove) and identifies both the target service and the concrete effect, distinguishing it from connect_todoist and other disconnect 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?
Usage context is implied by the name and description but not explicitly stated. It does not mention when to use this tool versus alternatives like connect_todoist or how to re-establish the connection. The guidance is minimal but sufficient for a straightforward disconnect operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
echoBInspect
Echoes the input text back.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does convey the whole observable behavior (pure pass-through of input text, no side effects implied), but it says nothing about output shape, limits on input size, or intended debugging purpose. Adequate but thin for a tool with zero structured behavior hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the behavior front-loaded and zero filler. Nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema pass-through tool, the description is nearly sufficient. The only shortfall is the absence of any note on typical use (connectivity check) or output format, which is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters, so per the baseline there is nothing for the description to disambiguate. The description correctly implies no configuration is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and object ("echoes the input text back"), so an agent knows what happens. However, it is essentially a restatement of the tool name "echo" and adds no distinguishing context against the large sibling set (e.g., debug/utility vs. real messaging tools). Minimum viable clarity, not more.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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, when not to, or what alternatives exist. It gives no hint that this is likely a connectivity/test utility rather than a messaging tool, which matters given siblings like send_message and send_email.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enable_serviceAInspect
Turns a service back ON in LMCP after the user turned it off.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It only states the action itself and adds no information about side effects, idempotency, whether an error occurs if already enabled, or what the return value means. This is a minimal behavioral disclosure for an unannotated mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. It communicates the action, the target, and the precondition efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description covers the essentials: what it does and when to use it. It does not explain return behavior or error cases, but these are less critical for such a simple toggle and no annotations exist to contradict.
Complex tools with many parameters or behaviors need more documentation. 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 description coverage, there are no parameter semantics to clarify. The description correctly implies the tool needs no additional input, matching the baseline of 4 for parameterless 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 states a specific verb ('Turns ... back ON') and resource ('a service in LMCP'), and adds the crucial precondition ('after the user turned it off'). This clearly distinguishes it from state-checking tools like lmcp_state 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?
The phrase 'after the user turned it off' provides clear context for when this tool should be used. It does not name an explicit alternative or exclusion, but for a simple toggle with no sibling enable/disable tools, this is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evernote_create_noteCInspect
Create a new note in Evernote.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the entire behavioral burden and delivers nothing beyond the name: no auth/connection prerequisites, no statement of what is required to create a note, and no note about whether existing content is affected. It is essentially a tautology of the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or redundancy. It is efficient, though its brevity is achieved by omitting necessary information rather than by tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and no declared parameters, the description is far too thin. An agent has no basis for knowing what inputs to supply or what preconditions to satisfy before calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters, so per the rubric this is at baseline 4, but for a creation tool an empty input schema is itself a red flag: the description does not mention title, body, or notebook, which one would expect a create call to require. It adds no semantic value to compensate for the suspiciously empty 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?
States a specific verb and resource (create a note) and the evernote_ prefix ties it to Evernote, so the purpose is discernible. However, it does not differentiate from the generic sibling 'create_note' or the other Evernote note tools (evernote_update_note, evernote_read_note), and gives no indication of what a note consists of.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use guidance is provided. It does not mention that 'connect_evernote' may be a prerequisite, nor when to prefer this over the generic 'create_note' sibling. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evernote_list_notebooksBInspect
List all your Evernote notebooks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it says nothing beyond the bare action. It does not mention whether an Evernote connection is required (a connect_evernote sibling exists), whether results are paginated, or what a notebook entry contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. Nothing could be removed without losing meaning, and it is appropriately sized for a trivial list operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema list tool the description is close to adequate, but it omits the prerequisite that an Evernote account must be connected and gives no hint about result shape or limits, which would help an agent call it successfully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case; there is no parameter semantics to document. The description correctly implies an unfiltered, account-wide listing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb ('List') and resource ('Evernote notebooks'), so the agent knows exactly what the tool returns. It does not differentiate itself from sibling listers like list_notes or notion_list_databases, but the resource is specific enough to distinguish it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the name and description; there is no statement of when to reach for this versus search_evernote or list_notes. For a zero-argument listing tool the intent is fairly self-evident, but no explicit context 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.
evernote_read_noteCInspect
Read the full content of an Evernote note by its GUID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full behavioral burden. It only states a read action and does not mention authentication/connection requirements, rate limits, error handling, or whether note must exist. Adds no safety or operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single front-loaded sentence with no filler. Directly states action and identifier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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, no annotations, empty input schema, and description omits essential context: connection/auth prerequisites, return format, and how the GUID is supplied. Incomplete for a read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has zero parameters, yet description says 'by its GUID', implying a required GUID input that doesn't exist in the schema. This mismatch makes the parameter semantics misleading; the 0-param baseline of 4 is undercut by the incorrect reference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Read' and resource 'Evernote note' with scope 'full content' and identifier 'GUID'; distinguishes from siblings like evernote_create_note and evernote_update_note.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use or alternatives. It implies a GUID is needed, but no mention of search_evernote, evernote_list_notebooks, or evernote_update_note. Lacks exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evernote_update_noteBInspect
Update the title or content of an existing Evernote note.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It states that the note is updated, but it does not describe required permissions, whether changes are destructive or reversible, how the target note is identified, 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?
The description is a single front-loaded sentence with no filler. It states the essential operation and fields without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and an empty input schema, the description is too thin. It omits how to identify the target note, what parameters are required, and what the update operation does beyond the basic purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, which gives a baseline of 4. The description adds semantic context that the updatable fields are title and content, though it does not specify how the existing note should be selected because the schema provides no 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 gives a clear verb and resource: it updates the title or content of an existing Evernote note. This distinguishes it from evernote_create_note and evernote_read_note, but it does not explicitly differentiate from the sibling update_note.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'existing' implies this is for editing existing notes rather than creating new ones, but there is no explicit guidance on when to choose this tool over alternatives such as evernote_create_note or update_note. Prerequisites and note-selection requirements are also absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
excel_createAInspect
Creates a new Excel spreadsheet (.xlsx file) with headers and optional data rows.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool creates a new .xlsx file but does not mention whether it requires special permissions, where the file is saved, whether an existing file can be overwritten, or what the return value is. For a side-effecting tool, this leaves important behavioral traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word earns its place: it names the action, the file type, and the core content options. This is ideal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter creation tool, the description provides the essential purpose and input concept, but it omits key operational details such as the file save location, whether a file path is returned, and how the 'headers and optional data rows' are supplied given the empty schema. The lack of an output schema makes these omissions more significant, resulting in a minimum-viable but not fully complete description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so per the rubric the baseline is 4. The description adds some useful context by mentioning 'headers and optional data rows', giving the agent an idea of what the tool can accommodate, even though no parameters are defined in the schema. It does not need to explain parameter syntax since there are no 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 uses a specific verb ('creates') and a specific resource ('Excel spreadsheet (.xlsx file)'), and it differentiates from sibling tools like excel_read and excel_write_cell by clearly indicating this is for making a new file. It also specifies the content ('headers and optional data rows'), which is precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when creating a new Excel file, which is enough to distinguish from read/write operations, but it does not explicitly state when to prefer this tool over alternatives or mention any exclusions. The usage context is only implied by the verb 'creates'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
excel_readBInspect
Reads data from an Excel spreadsheet (.xlsx file).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states 'Reads data' with no mention of return format, read-only guarantees, error handling, or size limits. It leaves all behavioral traits unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word adds meaning, and it is appropriately concise for the tool's simple 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?
With no output schema, the description should clarify what 'reads data' returns (e.g., rows, cells, or raw values) and whether it operates on a currently open file. The description is too sparse to fully inform an agent about invocation expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and the baseline for no parameters is 4. The description does not need to explain parameter semantics because there are none, though it could mention how the target file is selected (e.g., current context) to add value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Reads') and resource ('Excel spreadsheet (.xlsx file)'), clearly distinguishing this from sibling tools like excel_create and excel_write_cell. It immediately identifies the tool's primary function and file format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. While the name suggests reading rather than writing, there is no explicit contextual cue or exclusion (e.g., 'use excel_write_cell to modify'). The description offers no usage scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
excel_write_cellDInspect
Writes a value to a specific cell in an Excel file.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description indicates a write operation but discloses no behavioral traits such as file creation, overwrite behavior, or error handling. The lack of parameters also hides how inputs are resolved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but it is underspecified to the point of being unhelpful. Conciseness is wasted when critical information about parameters is absent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool requires specifying a file, cell, and value to write, and there is no output schema, the description is completely inadequate. It provides no information on how to invoke the tool or 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 zero parameters, yet the description implies parameters are needed (file, cell, value). The description adds no meaning beyond the schema and fails to explain how the tool receives inputs. Schema coverage is 100% but irrelevant because parameters are missing.
Input schemas describe structure but not intent. Descriptions should explain 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 'writes a value to a specific cell in an Excel file,' which is clear in verb and resource. However, the input schema has zero parameters, contradicting the implied need to specify file, cell, and value. This mismatch undermines clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings like excel_create or excel_read. No context, prerequisites, or alternative suggestions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explorer_listBInspect
Lists files and folders in a directory.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing beyond the bare operation. It does not say whether the listing is recursive, whether hidden/system files are included, whether the directory is the cwd or requires context, or whether there is pagination or a result cap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though the brevity comes at the cost of the transparency noted above rather than being a strength in isolation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and no parameters, the description is the only source of behavioral information, and it says only one sentence. For a filesystem-enumeration tool the agent still needs to know scope, recursion, and result shape, none of which appear here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema defines zero parameters, so there is nothing for the description to compensate for; baseline is 4. The one open question, which directory is listed, is a schema-level concern rather than a description gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Lists files and folders in a directory'), so the operation is unambiguous. However, it gives no signal distinguishing it from near-identical siblings such as file_list, finder_list, gdrive_list_files, or explorer_search, which an agent would have to disambiguate on its own.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative. With explorer_search and numerous other list/search siblings present, the agent gets no help deciding when directory enumeration is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explorer_searchBInspect
Searches for files by name recursively.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It discloses that the search is recursive, which is useful, but omits critical traits such as search root, result format, case sensitivity, or whether it searches local files or a specific service. For a zero-annotation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is appropriately sized for a simple tool, though the extreme brevity leaves important context unaddressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 search tool with no parameters, no output schema, and no annotations, the description is under-specified. It does not explain what the search returns, where it starts searching, or how results are structured, leaving the agent with insufficient information to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there are no parameter semantics to explain. The baseline score of 4 is appropriate because the description cannot add meaning beyond an empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Searches for files') and adds a key scope qualifier ('by name recursively'). However, it does not distinguish this tool from several siblings like file_search, finder_search, or gdrive_search_files, leaving the agent to infer when to use it over those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives like explorer_list or file_search. There is no context about prerequisites, scope limitations, or scenarios that select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_listAInspect
Lists files and folders in a local directory.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not specify whether the listing is recursive, includes hidden files, or which directory is listed (current working directory vs. a fixed path). The read-only nature is implied by the verb but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. Every word contributes to stating the tool's core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 zero-parameter tool, the description covers the main purpose, but it lacks behavioral specifics and usage differentiation from sibling file-related tools. It is minimally adequate but leaves room for ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so the description does not need to add parameter-level detail. The baseline for 0-parameter tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Lists') and resource ('files and folders') with clear scope ('in a local directory'). It distinguishes from remote listing tools like gdrive_list_files and from search tools like file_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as finder_list or file_search. The description implies usage but does not state exclusions or preferred contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_readAInspect
Reads a plain text file from the local filesystem by its absolute path — the primary, default tool for read...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and states a non-destructive read operation with a specific scope (local, plain text, absolute path). It does not cover error handling, encoding, or size limits, but for a simple read operation, this is a minimal but adequate disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately states the action and target resource. It is efficient, though slightly truncated, but the visible content has no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description conveys the essential purpose and identifies the target file type and location, which is sufficient for selecting the tool among siblings. However, it does not explicitly state the return value, and the absolute path requirement is not reflected in the schema, leaving invocation details 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 no parameters, yet the description specifies an absolute path requirement, which is essential information for invocation. This adds meaning beyond the empty schema, though it highlights a mismatch between the description and schema that the agent must resolve.
Input schemas describe structure but not intent. Descriptions should explain 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 ('Reads'), resource ('plain text file'), and scope ('local filesystem by its absolute path'), and explicitly labels it as the 'primary, default tool' for reading, which differentiates it from siblings like pdf_read or word_read. Even though truncated, the core purpose is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'primary, default tool for read...' gives clear guidance that this tool should be the first choice for file reading. It does not explicitly mention when not to use it or name alternatives, but the 'plain text' and 'local filesystem' qualifiers implicitly exclude non-text and remote file tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_searchBInspect
Searches for files and folders by name (case-insensitive, partial match) starting from a root directory.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses matching behavior (case-insensitive, partial) and that it starts from a root directory, but it doesn't explain how the root directory is determined given the input schema has zero parameters, nor what the return format is. With no annotations, this ambiguity is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core purpose and key matching behavior. Every word earns its place with no unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema or annotations, the description should clarify return values and operational context (e.g., scope of 'root directory'). It provides only basic search semantics, leaving significant ambiguity for a tool with no parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so the baseline is 4. The description adds the concept of a 'root directory' which is not a parameter, but there is no parameter information to clarify further.
Input schemas describe structure but not intent. Descriptions should explain 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 searches for files and folders by name, with case-insensitive and partial matching details. It identifies a specific verb and resource, though it doesn't explicitly distinguish from sibling tools like finder_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like file_list or finder_search. No prerequisites or context for invocation are mentioned, leaving the agent without sufficient direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_writeAInspect
Writes text to a local file — create, overwrite, or append.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral modes (create, overwrite, append), which gives some transparency about side effects (e.g., overwriting destroys previous content). However, with no annotations, it does not mention permissions, prerequisites (like required directories), return behavior, or error handling. It is minimal but provides a basic sense of what happens.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise, front-loaded sentence. It conveys the core action ('Writes text to a local file') and the three modes in a compact, readable format. Every word earns its place with no wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is presented with an empty schema, no annotations, and no output schema, so the description must carry all context. It explains the basic operation and modes but fails to provide any information on how to specify the file path or content, or what the tool expects as inputs. An agent would struggle to invoke this tool correctly based solely on this description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty (0 properties), which gives a baseline of 4 per the rubric. The description does not add parameter names or types, but it does imply the conceptual inputs (text, file destination) and modes. Since there are no parameters to document, the description is not penalized for missing details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool writes text to a local file with explicit modes (create, overwrite, append). It uses a specific verb and resource ('Writes text to a local file') and distinguishes itself from siblings like file_read or file_list by indicating it performs writes, not reads or listings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention contexts such as needing to create a new file, update an existing one, or append data, nor does it reference sibling tools like file_read or gdrive_write_file. There is no when-to-use or when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finder_listAInspect
Lists files and folders in a directory (Spotlight-free).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavior disclosure. It does add a meaningful behavioral trait (Spotlight-free) and implies a read-only operation. However, it omits critical details such as how the target directory is determined, whether the listing is recursive, or whether hidden files are included, leaving clear gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that wastes no words. 'Lists files and folders in a directory' immediately conveys the action and resource, while '(Spotlight-free)' adds key differentiation without excess. It is an excellent example of minimal yet effective structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is too sparse to be fully complete. It does not specify which directory is listed, how the directory is chosen (current Finder window, home folder, etc.), or what the return format is. For a tool with no parameters, this ambiguity is a significant gap that could cause incorrect usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty with 100% coverage. Per the baseline for 0-parameter tools, the description doesn't need to explain parameter semantics. The description avoids introducing any parameter-related confusion, so a baseline score of 4 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's function: 'Lists files and folders in a directory'. The parenthetical '(Spotlight-free)' distinguishes it from the sibling tool 'finder_search' by explicitly signaling that it does not use Spotlight, which helps differentiate from similar file-listing 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 explicit guidance is provided on when to use this tool versus alternatives. The '(Spotlight-free)' hint implies avoiding Spotlight, but there is no direct statement about when to prefer this over finder_search, file_list, or other file-related tools. Sibling context exists but is not leveraged.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finder_searchAInspect
Searches for files by name anywhere on this Mac (uses mdfind/Spotlight); pass path= to scope it to one folder.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It usefully discloses the Spotlight/mdfind backend and that path= scopes the search. However, it does not describe return format, indexing limitations, or whether hidden files are included, leaving notable gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is one front-loaded sentence. It wastes no words, states the core behavior first, and appends the useful scoping detail in a clear secondary clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool, but the description omits how the actual search term is passed, which is essential for invocation. It also lacks any return-value or output-shape information, and the path= parameter is not represented in the input schema, leaving an important invocation gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero declared parameters, but the description mentions passing path= to scope the search. This adds meaning beyond the schema, yet it conflicts with the empty property list and does not clarify how the main search query should be supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it searches for files by name on this Mac, with an explicit note that it uses mdfind/Spotlight. It also distinguishes the operation from other file tools by highlighting name-based, system-wide search and optional folder scoping.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: use it for file-name searches anywhere on the Mac, or scope to a folder with path=. It does not list exclusions or name alternative tools, but the intended use case is apparent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdrive_delete_fileCInspect
Deletes a file or an empty folder from the synced Google Drive folder — Google Drive for Desktop syncs the...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses that only empty folders can be deleted, which is useful, but it omits whether deletion is permanent, what happens on failure, whether files go to trash, and what sync side effects occur. This is insufficient for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but visibly incomplete, ending mid-clause with an em-dash and no continuation. It is under-specified rather than concise, and the missing remainder likely contains essential context about the synced Drive path.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 destructive tool with no annotations and no output schema, the description does not cover return values, failure modes, target identification, or safety caveats. The only edge-case information is the 'empty folder' restriction, which is not enough to let an agent invoke this confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the schema to document. However, for a delete operation, the absence of a target parameter is conspicuous, and the description never explains how the file or folder to delete is identified. The description adds little meaning beyond the tool's name.
Input schemas describe structure but not intent. Descriptions should explain 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 ('Deletes') and identifies a clear resource ('a file or an empty folder') and scope ('synced Google Drive folder'). This distinguishes it from OneDrive or local delete tools by domain, though it doesn't explicitly name what it is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool over alternatives, no mention of prerequisites, and no exclusion criteria beyond the 'empty folder' restriction. The truncation also cuts off the contextual clause, leaving the intended usage implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdrive_disconnectBInspect
Turns one Google Drive folder off in Local MCP: its tools stop reading it until the user turns it back on i...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose useful behavior: the folder's tools stop reading it and the change is reversible ('until the user turns it back on'). It does not state whether credentials are dropped, whether other folders are affected, or whether re-enabling requires re-auth.
Agents need to know what a tool does to the 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 intent is front-loaded and the sentence is short, but the text is visibly truncated mid-word ('turns it back on i...'), leaving the definition structurally incomplete rather than genuinely 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 zero-parameter tool with no annotations and no output schema, the description covers the core effect and its reversibility. The truncated ending, and the absence of any mention of prerequisites or the complementary re-enable tool, leave it short of complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so there is no parameter semantics to document; baseline 4 applies. The description correctly implies the target folder is implicit/selected elsewhere rather than passed as an argument.
Input schemas describe structure but not intent. Descriptions should explain 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 gives a specific verb and resource ('Turns one Google Drive folder off') and names the effect clearly, distinguishing it from a general account disconnect by scoping it to a single folder. However, the text is truncated mid-sentence, so the full scope of what 'off' means is left incomplete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 explicit when-to-use, when-not-to-use, or named alternative. The sibling gdrive_set_scope likely handles the inverse (turning a folder back on), but the description never mentions it, so the agent must infer the pairing itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdrive_file_infoAInspect
Metadata for a file/folder in the synced Google Drive: size, dates, type.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool returns metadata (size, dates, type) and mentions 'synced Google Drive,' which hints at scope. However, it does not specify authentication requirements, rate limits, or whether the operation is read-only. This is adequate for a simple metadata fetch but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence of 12 words, front-loaded with the key purpose ('Metadata for a file/folder'). No wasted words; every part is essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is brief but critically omits how the tool identifies which file or folder to retrieve metadata for. With zero parameters and no explanation of implicit context (e.g., a currently selected file), an agent cannot reliably invoke this tool. An output schema is absent, but the return values are partially listed. Significant completeness gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema description coverage is effectively 100%. The description adds no parameter information, but since there are no parameters, a baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific noun and verb: 'Metadata for a file/folder' clearly indicates it retrieves metadata. It distinguishes from sibling tools like gdrive_read_file (which reads content) and gdrive_list_files (which lists files) by focusing on size, dates, and type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly states it's for metadata retrieval, but lacks explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned, but the context is clear enough for an agent to infer basic usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdrive_list_filesBInspect
Lists files and folders in a Google Drive path (the locally-synced folder).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fails to disclose key behaviors: it does not state that it is read-only, what happens if Drive is not synced, whether it returns full metadata or just names, or if pagination exists. The scope (locally-synced folder) is vague.
Agents need to know what a tool does to the 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, front-loaded with the verb 'Lists'. Every word adds value, no superfluous 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 no parameters or output schema, the description is minimally viable but lacks details on return value format, file/folder information included, and prerequisites like Google Drive sync setup. It is adequate for a simple list operation but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters; the description implicitly confirms it takes no arguments by stating it lists a fixed path. This is clear enough, though it could specifically say 'No parameters required'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists files and folders in Google Drive, specifically the locally-synced folder. It distinguishes from siblings like gdrive_search_files (search) and onedrive_list_files (different service), but could be more explicit that it only lists the root of the synced folder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 gdrive_search_files or finder_list. It does not mention prerequisites (e.g., Google Drive must be synced) or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdrive_read_fileBInspect
Reads a text file from the synced Google Drive folder (.txt, .md, .csv, .json, code files...).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only says 'Reads a text file', implying a safe read operation. It does not disclose what it returns, error handling, size limits, or whether the file must be locally synced. Critical behavioral details are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundancy. It efficiently conveys the tool's purpose without extraneous details. Ideal conciseness 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?
Despite low complexity, the tool has zero parameters yet claims to read a file. The description fails to explain how the file is identified, making the tool effectively unusable. It also omits return value and error conditions. Incomplete for practical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so description cannot add parameter meaning beyond that. Baseline for 0 params is 4. The description adds context about file types, which 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 'Reads' and the resource 'text file from the synced Google Drive folder', lists supported extensions, and implicitly distinguishes from sibling tools like gdrive_file_info (metadata) and gdrive_write_file (write). It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., gdrive_file_info for metadata, fs_read for local files). The description does not mention prerequisites, when-not-to-use, or explicit context for invoking it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdrive_rootAInspect
Lists the Google Drive folders synced on this Mac (My Drive, Shared drives, per-account mounts).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It hints at local scope ('synced on this Mac') but does not explicitly state that the operation is read-only or non-destructive. No side effects or authorization needs are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence that front-loads the action and scope. 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 description is sufficiently complete for a simple list tool with no output schema, but it could be improved by specifying the kind of information returned (e.g., folder names and IDs). Without an output schema, the agent may need to infer return format from the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and the schema covers 100% of expected input. The description adds no further parameter meaning, but none is needed. Baseline 4 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 'Lists' and specific resource 'Google Drive folders synced on this Mac'. It also enumerates the scope ('My Drive, Shared drives, per-account mounts'), effectively distinguishing it from sibling tools like gdrive_list_files which list files, not folders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., gdrive_list_files, gdrive_search_files). There is no mention of use cases or explicit conditions for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdrive_search_filesBInspect
Searches the synced Google Drive folder for files by name (recursive).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It mentions recursion and name-based search but fails to disclose output format, case sensitivity, blocking behavior, or prerequisites (e.g., sync status). This is insufficient for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, front-loading the key action and scope. It is highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is insufficient. It omits return format, result details, and operational context (e.g., whether it searches only filenames or content). The tool's behavior is underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. The description need not explain missing parameters, and it accurately reflects the tool's no-parameter nature.
Input schemas describe structure but not intent. Descriptions should explain 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 (searches), resource (synced Google Drive folder), and method (by name, recursive). However, it does not explicitly differentiate from sibling tools like gdrive_list_files or fs_search, leaving the agent to infer distinctions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'when to use' or 'when not to use' information is provided, and no alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdrive_set_scopeAInspect
Sets the active Google Drive root directory (when multiple accounts are synced).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose that this mutates the 'active' root and that it matters in a multi-account setup, but it omits whether the change is persistent, whether the account selection is interactive, and any auth/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?
A single sentence with the action front-loaded and the qualifying condition appended. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter state-setting tool with no output schema, the description is minimally adequate: it says what is set and when it applies. It does not explain how the root is chosen among synced accounts or what the resulting effect on gdrive_list_files / gdrive_read_file will be.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so parameter semantics baseline is 4. The description correctly implies the selection is made out-of-band (via synced accounts) rather than through arguments, matching the empty 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?
States a specific verb+resource: 'Sets the active Google Drive root directory.' An agent knows this changes state rather than reading it. It does not distinguish itself from the sibling gdrive_root or onedrive_set_scope, which is the only gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(when multiple accounts are synced)' implies the condition under which this tool is relevant, but there is no explicit when-to-use/when-not guidance and no pointer to alternatives (e.g. gdrive_root) for inspecting the current scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdrive_write_fileBInspect
Writes or overwrites a text file in the synced Google Drive folder — it uploads automatically via the offic...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description states it overwrites and uploads automatically, which discloses key behavior. However, it does not mention whether it creates new files, requires specific permissions, or has rate limits. Incomplete but acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, focused sentence that gets to the point quickly. Truncated ending reduces conciseness slightly, but no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without output schema or annotations, the description should provide more context about file naming, content source, and behavior on overwrite. It is truncated and lacks details needed for safe usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema is empty, so description cannot add parameter info. However, the tool likely needs parameters (content, filename) which are missing, indicating a design gap. Description does not compensate for missing schema details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Describes writing/overwriting a text file in the synced Google Drive folder. Clear verb and resource, and distinguishes from read and search siblings. However, description is truncated, slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like onedrive_write_file, or when not to use (e.g., binary files). No prerequisites or exclusion criteria are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_audit_logAInspect
Returns recent LMCP tool call history from the local audit log.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only says 'recent' without defining recency. It does not mention side effects, permissions, or other behavioral details. For a tool with no annotation coverage, the description should provide more context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, direct, front-loaded with verb 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?
No output schema, and description does not explain return format or structure. The term 'recent' is vague. For a simple tool, more info about the output would aid the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, so the input schema fully covers semantics. Per guidelines, 0 parameters baseline is 4, and the description adds no further param info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool returns recent LMCP tool call history from the local audit log, with a specific verb and resource. It is distinct from siblings, none of which relate to audit logs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. The purpose is implied but no exclusions or alternative tool references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_configAInspect
Returns the current LMCP configuration: connected integrations, feature flags and license status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. 'Returns' implies a read-only operation, and the enumerated contents tell the agent what data comes back, but there is no statement about whether license/configuration data is sensitive or whether any permissions are 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?
A single front-loaded sentence that names the verb, the resource, and the three content categories with no filler. Nothing needs trimming or reordering.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 with no output schema and no annotations, the description adequately conveys what the agent will receive. The one meaningful gap is the absence of any routing cue versus the several sibling diagnostic/state tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline for a parameterless tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Returns) and resource (the current LMCP configuration) and enumerates what it contains: connected integrations, feature flags, license status. This is clear, but it does not distinguish itself from near-siblings like lmcp_state, lmcp_doctor, or permissions_status, which likely report overlapping configuration/health 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?
There is no guidance on when to call this instead of lmcp_state, lmcp_doctor, lmcp_upgrade_diagnostics, or permissions_status. The agent must infer usage purely from the tool name and the enumerated fields.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contactCInspect
Gets a contact from the Mac's Contacts app (Contacts.app) by name or ID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description contradicts the empty input schema by claiming it retrieves contacts 'by name or ID', but no parameters exist to supply those values. This is a serious inconsistency that undermines transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but its accuracy is compromised, making it less valuable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 explicit parameters or output schema, the description fails to explain how the agent should specify the contact or what the response contains, leaving critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite a zero-parameter schema (baseline 4), the description asserts parameters that are not defined, causing confusion rather than adding meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves a single contact from the Mac's Contacts app by name or ID, distinguishing it from sibling tools that list all contacts or perform broader searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'search_contacts' or 'list_contacts', nor are any prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_datetimeAInspect
Get the current date and time of the machine where LMCP runs — with timezone and UTC offset.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that it returns the local machine's current datetime, including timezone and UTC offset. This is sufficient for a simple read-only tool; no annotation is available, but the description fills in the key behavioral trait.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the action and resource, and contains no unnecessary words. It is 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?
Given the tool's simplicity (no parameters, no output schema), the description provides all necessary context: it returns the current date and time with timezone and UTC offset. Nothing more is required.
Complex tools with many parameters or behaviors need more documentation. 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 description adds value by explaining the output will include timezone and UTC offset, beyond what the empty schema conveys.
Input schemas describe structure but not intent. Descriptions should explain 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'), the resource ('current date and time'), and specifies additional details about timezone and UTC offset. It uniquely identifies the tool among siblings with no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Though no explicit when-to-use advice is given, the purpose is self-evident: whenever the current date and time with timezone info is needed. No alternative tools exist, so exclusions are unnecessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_m365_personBInspect
Get detailed information about a specific person in your Microsoft 365 directory by their user ID or email...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It does not disclose authentication needs, return format, or any side effects. The phrase 'detailed information' is vague.
Agents need to know what a tool does to the 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 is concise but ends with an ellipsis, suggesting truncation. The important identification method is front-loaded, but the trail-off reduces professionalism.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description lacks completeness. It doesn't specify what fields are returned, authentication requirements, or error conditions. For a tool with no parameters, more behavioral context 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 zero parameters, so baseline is 4. The description mentions identification by 'user ID or email', adding context beyond the empty schema, though it's unclear how this maps to actual input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed info about a specific person from Microsoft 365 directory, using user ID or email as identifier. This distinguishes it from sibling tools like 'get_contact' or 'search_m365_directory'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'search_m365_directory' or 'list_contacts'. No context about 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.
get_reminder_foldersAInspect
Lists the lists (folders) in Apple Reminders (Reminders.app) on this Mac.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. The word 'Lists' indicates a read-only operation, and 'on this Mac' clarifies that it operates on the local system. However, it does not explicitly state that there are no side effects, whether special permissions are needed, or how it behaves if Reminders.app is not available. Some context is given but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states exactly what the tool does. It includes necessary clarifying details ('lists (folders)', 'Apple Reminders (Reminders.app)', 'on this Mac') without any wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless listing tool with no output schema, the description provides sufficient context: it identifies the exact data source and the nature of the result. It doesn't explicitly state the return format (e.g., an array of folder names), but the verb 'Lists' and the tool name make that obvious. Minor gap is that it doesn't mention edge cases like empty results or accessibility, but it's generally complete for this simple 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?
The tool has zero parameters, so there is nothing for the description to add. According to the rubric, a baseline of 4 is appropriate for 0 parameters. The description correctly implies that no input is required, and the schema coverage is 100% (vacuously, since there are no properties).
Input schemas describe structure but not intent. Descriptions should explain 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 'Lists' and clearly identifies the resource as 'lists (folders) in Apple Reminders (Reminders.app) on this Mac'. It differentiates from sibling tools like list_reminders (which lists individual reminders) and create_reminder_list (which creates folders), making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative tools are mentioned. However, the description's scope ('folders in Apple Reminders') clearly implies that this tool should be used when the agent needs to retrieve folder names, rather than actual reminders. It lacks explicit exclusions or references to alternatives like list_reminders, but the intended use case is reasonably inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weatherCInspect
Gets the current weather and a short daily forecast for a location.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states what the tool does, not how it behaves. It does not disclose how location is obtained (e.g., IP geolocation, default), whether it requires user consent, rate limits, or what 'short daily forecast' entails. No annotations are provided to compensate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that efficiently conveys the tool's core purpose. No unnecessary words, and the structure is front-loaded with the key 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 zero parameters, no annotations, and no output schema, the description is too minimal. It fails to specify how the location is determined, the format of the output, or any edge cases. The tool's simplicity does not excuse the lack of essential 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?
The input schema has no parameters, so schema coverage is trivially 100%. However, the description says 'for a location', which misleadingly implies a location parameter exists. This contradiction between description and schema lowers the score below the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool retrieves current weather and a short daily forecast. The verb 'Gets' and resource 'weather' are specific. However, the lack of a location parameter in the schema makes it ambiguous how the location is determined, slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There are no sibling weather tools, but the description does not mention any prerequisites or context for usage (e.g., internet connection, location permissions).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_playground_generateBInspect
Generates an image on-device from a text prompt using Apple's Image Playground (Apple Intelligence / Core M...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does add genuinely useful behavioral context by stating generation happens on-device via Apple Intelligence, implying an OS/hardware prerequisite and no cloud round-trip, but it says nothing about output format, dimensions, latency, or what happens on unsupported devices, and the text is cut off before the explanation completes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, which is appropriate for a zero-parameter tool, but it is visibly truncated, so the reader gets an unfinished thought rather than a front-loaded complete one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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-param tool with no output schema and no annotations, the bar is modest, and the on-device/Apple Intelligence framing is the single most valuable fact to convey. Still missing are the prompt input channel and any notion of what the caller receives back or which platform versions are supported.
Complex tools with many parameters or behaviors need more documentation. 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 0 parameters the baseline is 4, but the description explicitly asserts a "text prompt" input that the empty schema does not define. That is a real mismatch an agent could trip over: it cannot tell whether the prompt is passed elsewhere or the schema is stale, so the description raises a question it does not answer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource ("Generates an image") plus a distinctive mechanism (on-device, Apple's Image Playground / Apple Intelligence), which no sibling tool covers. However, the description is truncated mid-word ("Core M...") and claims a "text prompt" input that the schema does not expose, so the purpose is clear but not fully trustworthy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use guidance, no prerequisite or capability gating stated, and no alternatives referenced even though it is the only image-generation tool in a very large sibling set. The agent can infer a use case from the verb, but nothing tells it when this tool is the right choice or when it will fail.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_accountsAInspect
Lists Mail.app email accounts WITH each account's email addresses, server_name and type.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. 'Lists' implies a read-only operation and the returned fields are named, which is useful, but the description does not mention output format, permissions, errors, or whether Mail.app access is 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 front-loaded sentence with no filler. It states the action, resource, and returned fields efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter list tool, the description covers the essential information an agent needs: what is listed and what fields are included. It could be slightly more complete by stating that no arguments are required or that it returns an array, but the current level is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% schema description coverage, so the baseline is 4. The description adds value by clarifying what each returned account entry contains, which is sufficient for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Lists') and a clear resource ('Mail.app email accounts') plus the exact fields returned. It is unambiguous about what the tool does, though the sibling list_email_accounts could create some ambiguity that is not explicitly resolved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for reading Mail.app account metadata, which provides enough context for basic selection. However, it gives no explicit guidance on when to prefer it over list_email_accounts or other account-related siblings, and no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_calendar_eventsBInspect
Lists events from the Mac's Calendar app (Calendar.app, local/iCloud calendars) in a date range, or reads O...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only states that it lists events and hints at another mode ('or reads O...'), but fails to mention side effects, permission requirements, rate limits, or handling of recurring events. The read-only nature is implied but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief but truncated mid-sentence ('or reads O...'), making it structurally incomplete. While short, the abrupt cutoff violates clear structure and leaves a dangling thought.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 no annotations and no output schema, the description is insufficient. It doesn't explain return format, how the date range is provided, permission prerequisites, or what the alternative reading mode entails. The sibling list shows many similar calendar tools, so more differentiation 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?
The input schema has zero parameters, so the baseline is 4. The description adds the concept of a date range, but this is not represented in the schema, creating ambiguity about how the range is specified. This inconsistency reduces the helpfulness of the added semantic information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'lists events from the Mac's Calendar app' with specific scope (local/iCloud calendars) and a date range filter. This distinguishes it from sibling tools like create/update/delete_calendar_event and m365_list_events. Although truncated, the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'in a date range' implies a usage context, and specifying 'Mac's Calendar app' differentiates from Microsoft 365 calendar tools. However, no explicit alternatives or exclusions are mentioned, so guidance is contextual rather than direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_calendar_namesAInspect
Lists the calendars in the Mac's Calendar app (Calendar.app, local/iCloud).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the behavioral disclosure burden. It states the tool lists calendars but does not mention any side effects, permissions, or performance implications. For a simple read-only list, this is minimally adequate but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no extraneous information. It is front-loaded and efficiently conveys the essential 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?
Despite zero parameters and no output schema, the description omits details about the return format (e.g., list of strings) and any ordering or filtering. It is minimally complete but leaves some ambiguity about what the agent can 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 tool has zero parameters, and schema coverage is 100%. The description adds no parameter information, but none is needed. Baseline score of 4 applies 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 the action 'Lists the calendars' and specifies the resource: the Mac's Calendar app (Calendar.app, local/iCloud). It is unambiguous and distinguishes itself from sibling tools like list_calendar_events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool over alternatives, nor does it mention any prerequisites or context. Given the sole purpose of listing calendar names, guidance is minimal but absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_contactsAInspect
Lists contacts from the macOS Contacts app.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must cover behavioral traits. It only states 'Lists contacts' without detailing whether it returns all contacts, pagination, read-only nature, or output format. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, front-loaded with action. Very concise, though more detail could be included without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description is adequate for a simple list tool but lacks completeness in describing output or limitations. Sibling tools suggest more context could be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no parameters, so schema coverage is 100%. With zero parameters, baseline is 4; description adds no further parameter info, which is acceptable.
Input schemas describe structure but not intent. Descriptions should explain 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 'Lists contacts' and specifies the resource 'from the macOS Contacts app', distinguishing it from sibling tools like 'search_contacts' (which implies filtering) and 'get_contact' (single contact).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'search_contacts' or 'get_contact'. The description only implies usage for retrieving all contacts, 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_displaysAInspect
Lists connected displays with bounds (global space, top-left origin, points), backing scale_factor, and whi...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully explain behavior. It describes the returned fields but does not disclose whether the operation is read-only, requires permissions, handles errors (e.g., no displays), or performance characteristics. This is a significant gap for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core action and key data fields. However, it is truncated, which slightly reduces its completeness. Efficient but could be expanded slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 (no params, no output schema), the description provides a reasonable summary of what is returned. However, it lacks details on return format (array/object), data types, and edge cases. The truncation also leaves ambiguity about the final field.
Complex tools with many parameters or behaviors need more documentation. 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, schema coverage is 100%, baseline is 3. The description adds value by enumerating the return data (bounds, scale_factor, main display), which is not present in the schema. This compensates well for the lack of an output 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 lists connected displays with bounds, scale_factor, and likely main display identification. No other sibling tools appear to list displays, so it is well-distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 alternatives are provided, but since it is the only display-related tool among siblings, usage is implied. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_email_accountsAInspect
Lists all Mail.app account NAMES (fast — cached, no Mail lock).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description discloses caching and no Mail lock, giving good insight into performance and side effects. Could mention return format or data freshness.
Agents need to know what a tool does to the 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 key details front-loaded (purpose, speed, caching, lock behavior). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter tool with no output schema, description adequately covers behavior. Lacks mention of return structure, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. Description adds no parameter info, but baseline is 4 for zero 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 it lists Mail.app account names, specifies it's fast, cached, and no Mail lock. Differentiates from sibling list_accounts by targeting Mail.app specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes performance characteristics (fast, cached) implying safe frequent use, but does not explicitly state when to use vs alternatives like list_accounts 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.
list_email_foldersAInspect
Lists the full folder (mailbox) tree for Apple Mail (Mail.app) accounts, including nested subfolders.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description mentions 'including nested subfolders' but does not disclose non-destructive nature or potential limitations beyond the tool's function.
Agents need to know what a tool does to the 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 the action, 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?
Given zero parameters and no output schema, the description is complete enough for an agent to understand the tool's purpose, though return format is not specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist; description adds value by specifying the tool is for Apple Mail accounts, which is not evident from the empty 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 lists the full folder tree for Apple Mail accounts, distinguishing it from siblings like create_email_folder or list_email_accounts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies it's for Apple Mail accounts, clarifying its scope, but does not explicitly mention when not to use it or compare with other related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_emailsCInspect
Use this when the user wants to see or triage their inbox on this Mac (Apple Mail — any account added to Ma...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavior. It mentions inbox and Apple Mail but does not disclose if the operation is read-only, destructive, or side effects. Lacks details on return format, count, ordering, or pagination.
Agents need to know what a tool does to the 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 but truncated, making it incomplete and not concise. Every part should be intentional; the cut-off harms structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description should fully explain the tool. It does not due to truncation, leaving the agent without complete guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist; schema coverage is 100% vacuously. The description does not need to add param info, but it should explain output behavior. The truncated text fails to fully leverage the opportunity, hence a 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description mentions 'see or triage their inbox on this Mac (Apple Mail)', giving a specific verb+resource+scope. However, the description is truncated, reducing clarity. Differentiates somewhat from siblings like search_emails or read_email.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'use this when the user wants to see or triage their inbox', giving a clear context for use. But no explicit when-not or alternative tools are mentioned, and the truncation leaves ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_m365_accountsBInspect
List the Microsoft 365 accounts connected on this computer: email (upn), id, display name, which one is the...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It implies a read-only list operation scoped to accounts connected on the local computer and discloses some returned fields, but it does not state permissions, pagination behavior, or what happens when no accounts are connected. The trailing incomplete clause reduces the clarity of the disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short and front-loads the purpose, but it ends with an incomplete clause ('which one is the...') that appears accidentally truncated. It is concise, but the broken sentence weakens structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 zero-parameter list tool with no output schema, the description should at least fully explain what is returned and how it differs from related list tools. It partially enumerates return fields and local scope, but it is incomplete and does not guide selection among similar account-listing siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema description coverage is 100%, so there are no parameter semantics to explain. Per the rubric, zero parameters establish a baseline of 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 states a specific verb and resource: list Microsoft 365 accounts connected on this computer, and names returned fields like email (upn), id, and display name. It does not, however, distinguish this tool from sibling account-listing tools such as list_accounts, list_email_accounts, or outlook_list_accounts, and the sentence is truncated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. The agent can infer it is for listing M365 accounts, but sibling tools with overlapping account-listing purposes are not addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_m365_people_insightsAInspect
List the people most relevant to you in Microsoft 365 — based on your communication patterns, collaboration...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden for behavioral disclosure. It only states 'list', implying read-only, but fails to disclose any side effects, authentication needs, rate limits, or details about the data source. This is minimal transparency beyond the basic purpose.
Agents need to know what a tool does to the 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 conveys the core purpose efficiently. However, it is truncated, which may lose some detail. Still, it is 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?
There is no output schema, so the description should provide hints about the return format or structure of the list. It does not mention fields like name, email, or relevance score. For a simple list tool, more completeness is expected to guide the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty with no parameters, and schema coverage is 100% (default). The description adds meaning by explaining what the list is based on (communication patterns, collaboration), which is valuable context beyond the schema. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' and identifies the resource 'people most relevant to you in Microsoft 365' based on communication patterns and collaboration. This clearly differentiates it from sibling tools like 'list_contacts' (general contacts) and 'search_m365_directory' (searchable directory).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for automatically generated relevance list but does not explicitly state when to use vs alternatives. No exclusions, prerequisites, or scenarios are mentioned, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_message_chatsAInspect
Lists recent iMessage / Messages.app conversations (chat id, name, service).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the output fields (chat id, name, service) and the read-only nature of 'Lists', but it does not mention potential limitations like how 'recent' is defined or whether permissions are required. The description adds some transparency beyond the tool name.
Agents need to know what a tool does to the 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 immediately states the action and scope, with the output fields in parentheses. No redundant words or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has zero parameters and no output schema, the description adequately covers its purpose and return values. It lists the key fields, and while it could mention 'recent' interpretation, the simplicity of the tool makes this sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the schema is empty, so the baseline is 4 per the rubric. There is no parameter information needed, and the description does not need to compensate for any missing details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists recent iMessage/Messages.app conversations and specifies the output fields (chat id, name, service). This distinctly identifies it from sibling tools for other messaging platforms like whatsapp_list_chats or signal_list_chats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 accessing iMessage conversations but does not explicitly mention when to use it over alternatives like WhatsApp or Signal chat lists. There are no direct exclusions or guidance, but the iMessage-specific phrasing provides clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_missing_permissionsCInspect
Returns the macOS privacy (TCC) permissions Local MCP needs that are NOT granted yet, each with a one-click...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only mentions returning data but does not indicate if the tool is read-only, destructive, or has any side effects. The truncated 'one-click...' implies an action but is incomplete.
Agents need to know what a tool does to the 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 main action, which is good. However, it is clearly truncated, which harms structure and completeness. Conciseness is otherwise acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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, no annotations, and a truncated description, the tool is under-described. The incomplete 'one-click...' leaves ambiguity about what the tool provides. The context is insufficient for an agent to fully understand the tool's output or 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?
The tool has zero parameters, so schema coverage is 100%. The description does not need to add parameter information, and the baseline score of 4 applies. The description adds no parameter semantics, as none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns macOS privacy (TCC) permissions that are not granted, using the verb 'Returns' and specifying the resource. However, the description is truncated, and there is a sibling 'permissions_status' that may overlap, but the tool's unique purpose is still discernible.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'permissions_status'. The description does not mention when-not to use it or provide context for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_notesBInspect
Lists notes from Apple Notes app.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose any behavioral traits beyond the name. It does not mention that this is a read-only operation, whether it returns all notes or only a subset, or any limitations. With no annotations provided, the description should compensate but fails to do so.
Agents need to know what a tool does to the 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 front-loads the core purpose and is well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (no parameters, no output schema), the description is minimally sufficient. However, it lacks details such as whether the list includes all notes or just titles, sorting order, or any limitations. For a simple list tool, it could be considered adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and the input schema is empty. The description adds meaning by specifying the app (Apple Notes), which is not evident from the schema. Since schema coverage is trivially 100%, the baseline is 3, but the domain context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists notes from the Apple Notes app. It specifies the action (lists) and resource (notes from Apple Notes). However, it does not differentiate from sibling tools like 'search_notes' which also retrieves notes but with filtering.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. For example, it does not clarify that 'list_notes' returns all notes without filtering, while 'search_notes' is for filtering. The description provides no context on prerequisites or use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_omnifocus_foldersAInspect
Lists folders in OmniFocus.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states 'lists folders'. It does not disclose behavior such as read-only nature, authentication requirements, or output format. For a tool with no annotations, the description should provide more behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is concise, though it could be slightly more informative while remaining brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 output schema and parameters, the description is somewhat complete but lacks information about the return format or any additional context. It minimally conveys the tool's purpose but does not cover all contextual needs for a simple list 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?
There are no parameters (0 params, 100% schema coverage). The baseline score for 0 parameters is 4, and the description adds no parameter info because none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Lists folders in OmniFocus' uses a specific verb 'lists' and identifies the resource 'folders in OmniFocus'. It clearly distinguishes from sibling tools like list_omnifocus_projects and list_omnifocus_tags.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. While usage is implied (when you need a list of folders), it does not mention exclusions or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_omnifocus_projectsBInspect
Lists projects in OmniFocus.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behaviors. It only states 'lists projects', implying read-only, but does not explicitly state side effects, authentication needs, or output format. This is insufficient for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at four words. It is front-loaded and contains no filler. For a zero-parameter tool, this level of conciseness earns a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description could be more complete by mentioning the return type or usage context. It is adequate for a simple list tool but leaves gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the schema coverage is 100% (empty schema). The description adds no extra parameter meaning, but none is needed. Baseline 4 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 it lists projects in OmniFocus, identifying the specific resource. It is distinct from sibling tools that list folders, tags, or tasks. However, it does not elaborate on any filtering or scope, so it is not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like list_omnifocus_folders or list_omnifocus_tasks. There is no mention of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_omnifocus_tagsAInspect
Lists all tags defined in OmniFocus.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It correctly indicates a read-only operation without side effects. No contradictions. Could mention that it returns an array of tag objects, but current text is fine.
Agents need to know what a tool does to the 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. 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 zero-parameter list-all tool, the description is complete enough. No output schema exists, but the return value (list of tags) is implied. Slightly room for improvement by mentioning the format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema coverage is 100%. Description adds no semantics, but none are needed. Baseline of 4 for zero-parameter tools is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (lists) and resource (all tags defined in OmniFocus). It distinguishes from sibling tools like list_omnifocus_projects and list_omnifocus_folders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. For a simple list-all tool with no parameters, this is minimally adequate but lacks suggestions about prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_omnifocus_tasksCInspect
Lists tasks from OmniFocus.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description offers minimal behavioral information beyond the action. There is no mention of whether it lists all tasks, requires prior selection of a project, or any side effects. Given no annotations exist, the description fails to disclose critical behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence) but at the expense of necessary details. It is not verbose, but it is under-specified for effective tool use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is parameterless and has no output schema, but the description does not provide enough context about what tasks are returned (e.g., all tasks, only incomplete ones) or any prerequisites. Sibling tools exist that could have been distinguished. The description is incomplete for an agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema coverage is 100%. The description adds no parameter details, which is acceptable since there are none. Baseline score of 4 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 'Lists tasks from OmniFocus' clearly specifies the action (list) and resource (tasks from OmniFocus). However, it does not differentiate from sibling tools like 'search_omnifocus_tasks' or 'list_omnifocus_projects', which reduces clarity in 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?
No guidance is provided on when to use this tool versus alternatives such as 'search_omnifocus_tasks' for filtered queries or 'list_omnifocus_projects' for project-level listing. The description lacks any contextual cues for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_referral_candidatesAInspect
Returns the user's emailable contacts plus an invite template, for recommending LMCP to a colleague.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It states 'Returns' implying read-only behavior, but does not disclose any side effects, data sources, or whether it modifies state. It is minimally transparent but adequate given simplicity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that efficiently communicates the tool's purpose and output. Every word adds value, with no redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description adequately covers what it does and why. It could optionally mention output format, but is sufficient for an agent to understand its use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no properties, so schema description coverage is 100% and no parameters need explanation. Baseline for zero parameters is 4, and the description adds no param info, which is acceptable.
Input schemas describe structure but not intent. Descriptions should explain 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 'returns', the resource 'emailable contacts plus an invite template', and the context 'for recommending LMCP to a colleague'. This distinctly separates it from siblings like 'create_referral_invites'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when wanting to refer a colleague to LMCP, but does not explicitly state when not to use it or contrast with sibling 'create_referral_invites'. The context is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_remindersAInspect
Lists reminders from Apple Reminders (Reminders.app) on this Mac.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose any behavioral traits like default scope, sorting, limits, or side effects, leaving the agent uninformed about what exactly happens.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words, efficiently conveying the core function without verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description is mostly complete. However, it could be slightly more specific about the scope (e.g., all reminders vs. default list) to fully set expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the description adds no parameter information. Since schema coverage is 100% and there are 0 params, baseline 4 is appropriate; the description does not need to add more.
Input schemas describe structure but not intent. Descriptions should explain 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 'Lists', the resource 'reminders', and the source 'Apple Reminders (Reminders.app) on this Mac', distinguishing it from sibling tools like list_reminder_lists or create_reminder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 filtering by list or using list_reminder_lists first. It lacks context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_windowsAInspect
Lists on-screen windows of any app with window_id, owning app bundle id + name, title, bounds (global space...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description is the sole source. It lists fields but does not disclose behavioral traits such as whether it requires accessibility permissions, if it is read-only (implied but not stated), or performance characteristics. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the main purpose, no redundant information. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless list tool with no output schema, the description adequately covers what the tool does and what it returns. No missing critical 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?
No parameters exist, so schema coverage is 100% vacuously. The description adds value by enumerating the return fields, which the schema does not provide. This goes beyond the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists on-screen windows of any app and names the specific fields returned (window_id, bundle id, name, title, bounds). This distinguishes it from sibling tools like list_displays which lists monitors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when window information is needed but gives no explicit guidance on when to use this tool vs alternatives like list_displays or when not to use it. Lacks context on prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lmcp_doctorCInspect
Checks everything LMCP depends on on this Mac — the AI apps connected to it, macOS permissions, each integr...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. The verb 'Checks' suggests a read-only inspection, but the description does not explicitly state that it makes no modifications, whether it requires elevated permissions, or what side effects might occur. The truncated 'each integr...' also leaves the behavioral scope incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main verb and subject, but it is visibly truncated mid-sentence ('each integr...'), making it grammatically incomplete. While brevity is good, an unfinished thought reduces clarity and looks like a drafting error rather than intentional conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description should explain what the check produces or how results are presented. It does not mention return format, severity of findings, or next steps. It also fails to clarify scope boundaries that would differentiate it from the many diagnostic-related siblings in the tool list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty schema, so there is nothing for the description to explain. Per the baseline for parameterless tools, a score of 4 is appropriate since no semantic overhead exists.
Input schemas describe structure but not intent. Descriptions should explain 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 gives a specific verb ('Checks') and a defined resource ('everything LMCP depends on on this Mac'), followed by concrete examples (AI apps, macOS permissions, integrations). It clearly indicates this is a comprehensive dependency check. However, it does not explicitly distinguish itself from similar diagnostic siblings like run_diagnostics, permissions_status, or lmcp_upgrade_diagnostics, and the term 'everything' is broad.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use or when-not-to-use guidance is provided. The description implies a comprehensive health-check use case but never mentions alternatives such as permissions_status, list_missing_permissions, or run_diagnostics, nor the conditions that would make one more appropriate than the others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lmcp_install_upgradeAInspect
Checks for and installs a newer LMCP version — a self-upgrade of the LMCP app itself (not editing any of yo...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It notes the tool self-upgrades LMCP and does not edit user files, but omits potential side effects such as app restarts, network requirements, or permission needs—a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the core action and adds a clarifying parenthetical. Every word contributes, with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool, the description covers the main behavior and one exclusion. However, without annotations, it does not fully disclose operational consequences (e.g., whether confirmation is required or what happens if no update exists), making it only moderately 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 no properties, so schema coverage is trivially 100%. The description appropriately does not discuss parameters, and the baseline score of 4 is appropriate for a zero-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Checks for and installs a newer LMCP version' with a specific verb and resource. The parenthetical 'a self-upgrade of the LMCP app itself' distinguishes it from sibling tools like lmcp_upgrade_diagnostics and clarifies it is not a data-editing tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (to check for and install LMCP updates) and gives an exclusion with 'not editing any of your...' However, it does not name an alternative tool for editing, so guidance is clear but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lmcp_stateBInspect
Returns a structured snapshot of the LMCP environment: server and tray versions, detected AI client, cloud...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. "Returns a snapshot" implies a read, but it doesn't confirm read-only safety, note any side effects, permissions, or rate limits, and the field enumeration is cut off mid-sentence ("cloud..."). Useful hints exist but the behavioral picture is thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no padding, but it trails off with an ellipsis ("cloud..."), leaving the enumeration visibly incomplete rather than deliberately brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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-param read tool with no output schema, the description should convey what the snapshot contains, and it partly does by listing fields. But the truncated ending and absence of any return-shape or scope detail leave it only minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. The description correctly implies no inputs are needed to obtain the snapshot.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Returns") and resource ("structured snapshot of the LMCP environment") and enumerates several fields (server/tray versions, detected AI client). However, it does nothing to distinguish itself from sibling diagnostic tools like lmcp_doctor, get_config, or run_diagnostics, so it lands at clear-but-undifferentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use guidance and no mention of alternatives, even though the sibling list contains several overlapping diagnostic/config tools (lmcp_doctor, get_config, run_diagnostics, update_self_diagnosis). The agent is left to guess which one to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lmcp_upgrade_diagnosticsAInspect
Returns LMCP's self-upgrade health (the LMCP app upgrading itself, not editing your data): current version,...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It adds a safety clarification ('not editing your data') but does not disclose whether the tool performs network calls, reads local state, or has side effects. The mention of 'current version' hints at output but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and front-loads the key verb and resource. However, the trailing '...' suggests it may be truncated or incomplete, which slightly detracts from structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-param, no-output-schema tool, the description should fully explain what health information is returned. It mentions 'current version' but leaves the rest ambiguous with '...', which is insufficient for an agent to know 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 tool takes zero parameters, and schema coverage is trivially 100%. Per guidelines, the baseline for 0 params is 4, and the description adds useful context about what the tool reports, even if it doesn't elaborate on parameters (which don't exist).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns LMCP's self-upgrade health, with a specific verb ('Returns') and resource. It also distinguishes this from editing data, which differentiates it from sibling tools like lmcp_install_upgrade and lmcp_state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context that this tool is about the app upgrading itself, not user data, which implies when to use it. However, it does not explicitly mention alternatives (e.g., lmcp_install_upgrade for performing upgrades) or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
m365_create_draftAInspect
Create an email DRAFT in the Drafts folder of your Microsoft 365 account, for you to review and send yourself.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the key behavioral trait that the message is a draft placed in the Drafts folder rather than sent. It omits auth requirements, what happens on failure, and whether existing drafts are affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that delivers the action, target folder, and the review-then-send intent with no filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No annotations and no output schema, so the description is the sole source of behavioral context. It covers what and where, but for a mutation tool it leaves unanswered what a created draft contains and what the caller should expect, given the surprisingly empty parameter set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. The description adds nothing about inputs, but there are none to describe. (The empty schema is itself surprising for a draft-creation tool, though that is a schema issue rather than a description gap.)
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Create an email DRAFT") plus the destination ("Drafts folder of your Microsoft 365 account"). It does not explicitly differentiate itself from the generic sibling create_draft, so an agent must infer the M365 scoping from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clause "for you to review and send yourself" implies the intended use case: compose now, send later. However, it never names the obvious alternative (m365_send_email) or states when not to use this tool, leaving the choice to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
m365_create_eventCInspect
Creates an event in the connected Microsoft 365 / Outlook calendar.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It reveals only that the target is a 'connected' M365 calendar (a hint at an auth/connection prerequisite) and that this is a mutation; it says nothing about required permissions, whether invites are sent, reversibility, or what the call returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or repetition. It is efficient, though the terseness is part of the problem rather than a virtue here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 write operation with no annotations, no output schema, and an empty parameter object, the description is far too thin. It omits connection prerequisites, creation semantics, and any explanation of how the event payload is provided, leaving the agent unable to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters, which normally earns a baseline of 4, but for a creation tool an empty schema is anomalous: the description never explains how event fields (title, time, attendees) are supplied. It therefore adds no compensating meaning for the one thing an agent most needs to know.
Input schemas describe structure but not intent. Descriptions should explain 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 sentence names a specific verb (Creates) and resource (event) within an explicit container (connected Microsoft 365 / Outlook calendar), so the core action is unambiguous. However, it does nothing to separate this tool from near-identical siblings such as outlook_calendar_create_event, create_calendar_event, and m365_list_events, so an agent cannot tell which calendar-creation tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use guidance, no prerequisite (e.g. connect_m365_account must run first), and no mention of alternatives despite a crowded calendar/event sibling set. The agent is left to infer everything 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.
m365_delete_eventBInspect
Deletes an event from the connected Microsoft 365 / Outlook calendar by its id (from m365_list_events).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a destructive delete but says nothing about confirmation, irreversibility, permission/account requirements, or the fact that a specific connection is needed. More disclosure is expected for a destructive mutation with zero 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?
A single concise sentence that front-loads the action and target and adds the id source. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete-by-id tool the description covers the essentials, but with no annotations, no output schema, and many similar delete siblings, it omits permission requirements, connectivity preconditions, and disambiguation from other calendar delete tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is 0 so the baseline is 4. The description usefully clarifies that the event id originates from m365_list_events, providing provenance for the identifier even though the schema itself has no properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (deletes) and resource (event from Microsoft 365 / Outlook calendar) with the identifier source. Clear purpose, though it does not distinguish itself from the similar sibling delete_calendar_event or outlook_calendar_delete_event.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by noting the id comes from m365_list_events, giving one contextual pointer. There is no explicit when-to-use or when-not-to-use guidance or naming of alternatives like outlook_calendar_delete_event.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
m365_get_contactBInspect
Get full details of a specific Microsoft 365 contact by ID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates a read operation (Get full details) with no destructive side effects. However, without annotations, it fails to disclose authentication requirements, rate limits, or the exact scope of 'full details'. It is minimally transparent but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the verb and resource. It contains no redundant words and is easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the empty input schema, lack of output schema, and no annotations, the description is inadequate. It does not explain how to provide the contact ID, what 'full details' means, or how this differs from related tools like m365_list_contacts.
Complex tools with many parameters or behaviors need more documentation. 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 properties, so the description's mention of 'by ID' is contradictory. With schema coverage at 100% (no parameters), the description adds no value and actually misleads by implying a parameter that does not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get), resource (full details of a specific Microsoft 365 contact), and method (by ID). It distinguishes from sibling tools like list_contacts and search_contacts which return lists or search results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. It mentions 'by ID' but does not explain how to obtain the ID or when to prefer this over list or search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
m365_list_contactsBInspect
List contacts from your Microsoft 365 / Outlook address book.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must convey behavioral traits. It only states what the tool does, not its safety profile (e.g., read-only, requires authentication). Since annotations are missing, the description should compensate but does not, earning a 2.
Agents need to know what a tool does to the 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 concise and front-loaded. Every word is necessary; there is no fluff or redundancy. It perfectly balances brevity and clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description is minimally adequate. However, it lacks details such as whether all contacts are returned (or paginated), and it does not explicitly state the read-only nature. Given the presence of sibling tools, the agent might benefit from more context. Score 3.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so schema coverage is 100%. The description adds value by specifying the scope (Microsoft 365/Outlook), which is meaningful context beyond the empty schema. Per the baseline for 0 params, a 4 is justified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('contacts from your Microsoft 365 / Outlook address book'). It is specific and unambiguous. However, it does not differentiate from sibling tools like 'list_contacts' (which might be from a different service) or 'm365_search_contacts' (which filters contacts). A 4 is appropriate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 versus alternatives (e.g., search_contacts for filtering, m365_get_contact for a single contact). The agent receives no help in choosing the right tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
m365_list_emailsBInspect
Use this when the user wants their Microsoft 365 / Outlook / Exchange inbox via the cloud — requires a conn...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description only mentions 'requires a connection,' omitting details on data returned, pagination, or rate limits. Incomplete for a no-annotation scenario.
Agents need to know what a tool does to the 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 is concise but truncated, losing potential instructions. Could be more structured with context about prerequisites.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite zero parameters, description leaves out what the tool returns (subject line, metadata, etc.), any sorting, or pagination. Insufficient for confident use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters, so baseline 4 applies. Description adds no parameter info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists Microsoft 365/Outlook/Exchange inbox, distinguishing it from generic list_emails or search tools. However, truncation slightly reduces clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use ('Use this when the user wants...') but lacks guidance on when not to use or alternatives like m365_search_emails.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
m365_list_eventsBInspect
List upcoming calendar events from your Microsoft 365 / Outlook calendar.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It implies a read operation but does not explicitly state nondestructiveness, authentication requirements, or behavior when no events exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is front-loaded and effectively 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?
Given no output schema and no parameters, the description is minimally adequate. However, it lacks details about the time frame ('upcoming' is vague), ordering, or what properties are returned, which would help an agent interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% coverage, so the description is not required to explain parameters. The description correctly does not add extra but is sufficient for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list) and resource (upcoming calendar events) with specific context (Microsoft 365 / Outlook calendar). However, it does not differentiate from the sibling tool 'list_calendar_events', which may cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides basic context but lacks explicit guidance on when to use this tool versus alternatives, such as searching for events or using list_calendar_events. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
m365_read_emailCInspect
Use this when the user wants the full content of a Microsoft 365 email (message ID from m365_list_emails/m3...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of transparency. It only states the tool reads email content but does not disclose whether it marks emails as read, fetches attachments, or has other side effects. This leaves significant ambiguity about the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence but is truncated, making it incomplete. It fails to be concise because it does not fully convey the tool's purpose or requirements.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain return format, attachment handling, and limitations. It only vaguely mentions 'full content'. The description is insufficient for a tool that likely returns complex email data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, yet the description implies a required message ID. This contradiction between the schema and description is misleading. The description adds no useful parameter information and instead introduces confusion.
Input schemas describe structure but not intent. Descriptions should explain 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 is for getting full content of a Microsoft 365 email, and it distinguishes from sibling tools like m365_list_emails (list only) and m365_reply_email (reply). However, the description is truncated, reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions using the tool when the full content is needed and implies a prerequisite (message ID from m365_list_emails). But it does not specify when not to use it or mention alternatives, providing only basic guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
m365_reply_emailAInspect
Use this when the user wants to reply to a Microsoft 365 email (message ID from m365_list_emails).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral transparency. The description fails to disclose critical behavioral details, such as whether the reply creates a draft or sends immediately, permission requirements, or side effects (e.g., adding to sent items).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the key purpose and context. Every word contributes to understanding, with no unnecessary verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 (0 parameters, no output schema), the description partially covers the core action. However, it omits important behavioral details (e.g., reply behavior, attachment handling, draft vs. send) that would reduce ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero properties, and schema coverage is 100% (vacuously). The description references a 'message ID' implicitly, adding context, but does not formally document parameters. With 0 parameters, the baseline is 4, and no further parameter info is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('reply to a Microsoft 365 email') and identifies the necessary resource ('message ID from m365_list_emails'). It distinguishes itself from related tools like send_email and create_draft.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 context for when to use the tool (when the user wants to reply to an email retrieved via m365_list_emails), but it does not explicitly state when not to use it or suggest alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
m365_search_contactsCInspect
Search contacts in your Microsoft 365 address book by name, email, or company.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool searches contacts but does not disclose key behaviors: whether a query is required, how results are returned, or any side effects. The mismatch between description and schema further reduces transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise. However, it is misleading due to the parameter mismatch, and the structure is minimal but not well-formed for agent understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 parameters and output schema, the description is insufficient. It does not explain how to provide search input or what the output looks like, making it incomplete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0 parameters and 100% schema coverage, the baseline is 3. However, the description adds misleading information by mentioning search criteria that are not present in the schema. It does not meaningfully clarify parameters beyond the schema, and the inconsistency is detrimental.
Input schemas describe structure but not intent. Descriptions should explain 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 (search contacts) and the target (Microsoft 365 address book), and mentions search criteria (name, email, company). However, it does not distinguish from sibling tools like 'search_contacts' or 'list_contacts', which may have similar purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. More critically, it mentions search criteria that are not captured in the input schema (which has no parameters), creating a mismatch that misleads the agent about how to invoke the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
m365_search_emailsBInspect
Use this when the user wants to find emails in their Microsoft 365 / Outlook mailbox via the cloud — requir...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions 'via the cloud' but does not explain auth requirements, whether it only searches the primary mailbox, if it modifies state, or any rate limits. The description is insufficient for safe tool invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, but it is truncated, suggesting missing information. It wastes no words, but the incompleteness reduces effectiveness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and a truncated description, the tool lacks essential context. How the search query is specified (e.g., via conversation context) is unclear, making it hard for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description does not need to explain them. Baseline 4 is appropriate as there is no parameter information to add beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds emails in Microsoft 365/Outlook mailbox via the cloud, matching the name. However, it does not differentiate from similar sibling tools like search_emails or list_emails, which may 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?
The description begins with 'Use this when,' providing usage context, but is truncated and does not specify when not to use or mention alternatives. It implies cloud-based email search but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
m365_send_emailCInspect
Use this when the user wants to send from their Microsoft 365 / Outlook account via the cloud — requires a...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only mentions 'via the cloud', but does not disclose any behavioral traits such as authentication requirements, potential side effects, or return behavior. The truncated description leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is cut off (ends with '...'), making it incomplete. While conciseness is generally good, truncation damages clarity and completeness. The structure is poor due to the truncated ending.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters or output schema, the description should explain how the tool works or what it needs. The incomplete sentence fails to provide sufficient context. The tool likely requires additional inputs (e.g., recipient, subject, body) but none are defined, leaving major gaps in 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?
The tool has 0 parameters, and the input schema is empty. The description does not need to add parameter meaning since none exist. Schema description coverage is 100% (vaccuously). A baseline of 4 is appropriate for zero-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 states 'send from their Microsoft 365 / Outlook account via the cloud', which indicates the tool is for sending emails through M365/Outlook. However, the description is cut off and incomplete, lacking a clear verb. The tool name reinforces the purpose, but the description alone does not fully articulate the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 a usage context: 'Use this when the user wants to send from their Microsoft 365 / Outlook account via the cloud'. This helps distinguish from other email tools like 'send_email' (generic) or 'm365_reply_email'. However, it does not specify when not to use this tool or mention alternatives explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_probeBInspect
Reports duration_ms, width, height, fps, whether it has audio, and file size for a video/audio file.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It lists output fields but does not mention side effects (assumed none), authorization or access requirements, error conditions, or whether the tool is read-only. The description is too sparse for a user to understand potential impacts.
Agents need to know what a tool does to the 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 quickly conveys the tool's purpose. It front-loads the action ('Reports') and the output fields. However, it could be slightly improved by adding a brief note on file selection without making it 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?
For a simple inspection tool with no output schema, the description covers the main functionality. However, missing context includes how the file is specified (e.g., from current selection or path) and any dependencies. Given the low complexity, the description is mostly adequate but has a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the input schema trivially covers 100%. The description adds meaning by enumerating the returned fields, but it fails to explain how the input file is determined. Without parameters, the tool likely relies on application context, which is not addressed.
Input schemas describe structure but not intent. Descriptions should explain 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 reports specific metadata fields (duration_ms, width, height, etc.) for video/audio files. It distinguishes from sibling video manipulation tools like video_concat or video_trim. However, it does not clarify how the file is selected (e.g., current context, path), leaving a slight ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when metadata of a media file is needed, but provides no explicit guidance on when to use or not use this tool versus alternatives. No prerequisites or exclusions are mentioned, and there are no sibling metadata tools to differentiate from.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_emailAInspect
Moves an email to another mailbox (nested target folders are found by name).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It mentions that nested target folders are found by name, which is helpful, but does not specify what happens if the target folder doesn't exist, whether it's a move or copy across accounts, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence that is front-loaded with the core action. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the empty schema and no output schema, the description lacks context on what constitutes a mailbox, whether it works across accounts, and what the outcome is. It is adequate but not complete for a tool with no structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so the description has no obligation to explain parameters. The baseline is 4 for zero 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 'moves an email' and the destination 'to another mailbox', with a specific detail about nested target folders. It distinguishes itself from sibling email tools like send_email or create_draft.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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, nor any prerequisites or exclusions. The description does not help an agent decide between tools like move_email and other email operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nordvpn_diagnoseAInspect
Run a diagnostic check on NordVPN: installation, login state, connection status, kill switch, and supported...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description partially carries the burden. It lists what checks are performed but does not disclose side effects, safety profile, or output format. Since it's a diagnostic, likely safe, but minimal behavioral context is given.
Agents need to know what a tool does to the 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 directly states the purpose. However, it appears truncated (ends with 'supported...'), reducing completeness slightly. One 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?
Despite having no parameters and no annotations, the description is incomplete—truncated and lacks details on return values, output format, or whether it performs any side effects. For a diagnostic tool, more context is expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the input schema provides complete coverage. The description adds meaning by enumerating the diagnostic areas (installation, login, etc.), which helps agents understand what the tool returns.
Input schemas describe structure but not intent. Descriptions should explain 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 runs a diagnostic check on NordVPN, listing specific aspects (installation, login state, connection status, kill switch). It is a specific verb+resource and distinguishes from sibling tools like 'nordvpn_status' which likely only shows current status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives like 'nordvpn_status' or 'run_diagnostics'. Usage is implied by the diagnostic nature, but no when-not-to or alternative comparisons are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nordvpn_serversCInspect
Get recommended NordVPN servers by country or specialty.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states the basic action without explaining what 'recommended' means, the output format, side effects (e.g., network calls), or behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it includes an unfulfilled promise (filtering) that misleads. It could be improved by aligning with the actual schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, output schema, or annotations, the description is insufficiently complete. It fails to specify what the tool returns (e.g., list of server details) or any constraints, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the baseline is 4. However, the description mentions filtering by country or specialty, which does not exist in the schema, mildly reducing value. It adds no meaningful param info beyond the schema's emptiness.
Input schemas describe structure but not intent. Descriptions should explain 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 'Get recommended NordVPN servers by country or specialty,' which identifies the resource (servers) and suggests filtering, but the input schema has no parameters, creating a mismatch. The mention of 'by country or specialty' implies functionality not supported by the schema, reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus siblings like nordvpn_status or nordvpn_diagnose. The description does not specify context, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nordvpn_statusAInspect
Check NordVPN connection status: connected/disconnected, auto-connect, snooze, and last known location.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description fully describes the behavior: it retrieves connection status and related details. No contradictory information.
Agents need to know what a tool does to the 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 the key action. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description lists the returned fields adequately for a status check tool. No output schema, but the description compensates. Could optionally mention that it requires network access, but not critical.
Complex tools with many parameters or behaviors need more documentation. 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, so baseline score of 4 applies. Schema coverage is 100%, no additional info needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool checks NordVPN connection status, listing specific fields. Distinguishes from sibling tools like nordvpn_diagnose and nordvpn_servers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 alternatives, but the purpose is self-evident. The description is sufficient for an agent to know when to call it (when VPN status info is needed).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
notion_list_databasesAInspect
Lists Notion databases cached on this Mac with their schema (column names and types).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the data comes from a local cache ('cached on this Mac'), which is useful behavioral context beyond what annotations would provide (none present). However, it does not explain cache freshness, behavior when cache is empty, or potential side effects, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It front-loads the key action and resource, and every part is informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does not detail the return format or handle edge cases (e.g., no cached databases). It states 'with their schema' but lacks specifics on how the data is structured, which is moderately incomplete for a tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the schema coverage is 100%, so the description need not add parameter details. Baseline 4 applies per instructions; the description succinctly covers the tool's action.
Input schemas describe structure but not intent. Descriptions should explain 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 'Lists' and resource 'Notion databases cached on this Mac', clearly distinguishing it from siblings like 'notion_list_pages' (pages) and 'notion_read_database' (read a specific database's content). It also specifies the output includes schema, adding clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you need to see available databases and their schemas, but it does not explicitly state when to use this tool versus alternatives (e.g., 'notion_list_pages' or 'notion_search'). No exclusion criteria or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
notion_list_pagesAInspect
Lists Notion pages cached on this Mac (titles, last edited, hierarchy), newest first.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behaviors: listing only cached pages (read-only, local), specific fields returned, and newest-first sorting. With no annotations, it sufficiently covers what the tool does, though it omits details like auth or if empty results 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?
A single sentence that front-loads the verb and resource, includes key details, and has no redundant information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and no output schema, the description is complete enough. It could briefly mention the output structure, but it's 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?
There are zero parameters, so the baseline is 4. The description adds no parameter information, which is fine as there are none 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 clearly states it lists Notion pages, specifies the fields (titles, last edited, hierarchy), and sorting (newest first). It distinguishes itself from sibling tools like notion_search and notion_read_page by highlighting local caching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by describing the tool's purpose (listing cached pages), but there is no explicit guidance on when to use this versus alternatives like notion_search or notion_list_databases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
notion_list_workspacesAInspect
Lists the Notion workspaces cached on this Mac.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It openly identifies the data source as a local cache, which implies a read-only, local operation and possible staleness. It does not detail freshness or authentication expectations, but for a parameterless list tool this is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with a clear verb and object. It contains no filler, redundant qualifiers, or schema repetition, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter list tool, the description is mostly sufficient, but there is no output schema to compensate for the lack of return-value detail. It does not specify whether the result includes workspace names, IDs, or both, and the 'cached' behavior is only briefly implied. Still, the intended action is understandable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the empty schema already captures everything structurally. The description adds useful context by explaining that the operation draws from cached data on this Mac, which helps an agent understand why no workspace argument is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the operation ('Lists') and the resource ('Notion workspaces'), and the qualifier 'cached on this Mac' distinguishes this from related tools like notion_list_databases and notion_list_pages. An agent can understand exactly what this tool does without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when the tool should be used—when a list of cached Notion workspaces is needed—but it does not explicitly state when to prefer it over sibling tools or mention alternatives. There are no exclusions or routing cues beyond the workspace-specific wording, so the agent must infer the usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
notion_open_pageAInspect
Opens a Notion page in the desktop app (deep link).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It only mentions 'opens' and 'deep link' but omits prerequisites (e.g., desktop app installed), failure modes, or side effects like app focus.
Agents need to know what a tool does to the 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, direct and without waste. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite simplicity, the description fails to specify which Notion page is opened (no parameters), leaving ambiguity. It should clarify that it relies on context or a default 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?
No parameters (baseline 4). The description adds meaning beyond the empty schema by stating the tool's purpose, which is essential since schema gives no hints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'opens' and the resource 'Notion page in the desktop app (deep link)', distinguishing it from listing, reading, or searching sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like notion_read_page. The context implies it's for opening in desktop app, but lacks when-not or comparative advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
notion_read_databaseBInspect
Reads the cached rows of a Notion database with their properties mapped through the schema.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'cached rows' hinting at possibly stale data, but does not disclose read-only nature, authentication needs, or any side effects. With no annotations, the description should provide more behavioral context, but it remains 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?
Single sentence of 13 words that conveys the core action and a key detail (property mapping). No unnecessary words, highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks crucial context: which database is read (database selection not addressed), what 'cached' entails, and the return format. With no output schema, the description should explain the output more thoroughly. Incomplete given 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?
Input schema has zero parameters and 100% coverage trivially. The description adds value by explaining that properties are mapped through the schema, clarifying the output structure. Baseline for no parameters is 4, and description meets it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it reads cached rows of a Notion database and maps properties through the schema. This distinguishes it from siblings like notion_list_databases (lists databases) and notion_read_page (reads a single page). However, it does not specify which database is read, assuming a default selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 notion_list_databases or notion_search. The description does not mention prerequisites or context for using the tool, 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.
notion_read_pageCInspect
Reads a Notion page from the local cache and returns its content as markdown (headings, lists, to-dos, code...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose all behavioral traits. It mentions caching but does not explain permissions, rate limits, or behavior on cache miss. This is insufficient for a 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?
The description is a single sentence, front-loaded, but overly terse. It lacks necessary details about parameters or behavior, trading completeness 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 tool has no input parameters, no annotations, and no output schema, the description must compensate significantly. It fails to explain how to specify a page, what the markdown includes, or error handling. Completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, yet the description implies the tool reads a specific page. It does not clarify how the page is identified (e.g., via context, implicit selection), creating confusion. Schema coverage is 100% but the description adds no value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (reads), resource (Notion page from local cache), and output format (markdown). However, it does not distinguish from sibling tools like notion_open_page or notion_search, lacking 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 (e.g., notion_search, notion_open_page). No context or prerequisites provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
notion_searchBInspect
Searches cached Notion content (page titles and block text) for a phrase, case-insensitive.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description partially discloses behavior: it searches cached content case-insensitively. However, it doesn't clarify what 'cached' means, whether the tool is read-only, or any rate limits. It adds some transparency but leaves gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundant words. It efficiently conveys the core functionality without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 should explain what the tool returns (e.g., matching page titles, snippets). It does not, leaving the agent uncertain about the response format. The tool is simple but incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero properties, yet the description implies a 'phrase' parameter. This is a critical inconsistency: the description misleads agents into thinking a phrase is needed when no parameter is defined. Schema coverage is trivially 100% but the description contradicts 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 (searches), resource (cached Notion content), and scope (page titles and block text, case-insensitive). It distinguishes itself from sibling Notion tools like notion_list_pages and notion_read_page by focusing on search 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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to prefer search over listing or reading pages, nor does it explain the implications of searching cached content (e.g., may not include real-time updates).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
obsidian_list_vaultsBInspect
Lists the Obsidian vaults on this computer, from Obsidian's own list of vaults: id, name, folder path and n...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It implies a safe read ('Lists') and discloses the source of the list plus the fields returned, which is genuinely useful. However, it says nothing about permissions, whether vaults are filtered, or any side effects, and the truncation removes whatever came last.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence is appropriately sized, but it is visibly truncated mid-word ('and n...'), leaving the field list incomplete and the sentence structurally broken. Still efficient, but the cut-off is a real defect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 zero-parameter tool with no output schema, the description should carry the return-value details, and it attempts this by naming id, name, and folder path. The truncation leaves the enumeration unfinished, so an agent cannot rely on the field list being complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description does not need to explain inputs; it instead spends its words on outlined return fields (id, name, folder path), which is where an agent needs help 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?
States a clear verb+resource pair ('Lists the Obsidian vaults on this computer') and names the data source ('from Obsidian's own list of vaults'), which separates it from siblings like obsidian_read_note and obsidian_search_notes. The description is notably truncated ('and n...'), which slightly undercuts an otherwise crisp purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is offered. The intended workflow (discover a vault before reading/searching notes) is only inferable; nothing in the text guides selection against the other obsidian_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
obsidian_read_noteBInspect
Reads one note of an Obsidian vault: its text, frontmatter, tags, outgoing [[wikilinks]] (each with the not...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the returned shape (text, frontmatter, tags, wikilinks), which is genuinely useful behavioral context given there is no output schema. However, it says nothing about failure modes (missing note, ambiguous note), permission requirements, or whether any vault state is touched, and the visible text ends mid-clause.
Agents need to know what a tool does to the 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 lead clause is well front-loaded with verb and resource, and the enumeration of returned fields is efficient. But the visible description terminates mid-sentence at '(each with the not...', so it is not a complete, self-contained statement and cannot be judged as fully polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description sensibly compensates by listing the returned payload, which is the right instinct. What it leaves unresolved is how the caller identifies which note to read given the empty parameter schema, and it offers no error or vault-context guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero properties, so the baseline of 4 for parameter-free tools applies; there are no parameters for the description to explain. The one caveat is that the description never clarifies how the target note is identified, which is an oddity against an empty schema, but that is a schema-level gap rather than a parameter-semantics failure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Reads one note of an Obsidian vault') and then enumerates the payload it returns: text, frontmatter, tags, and outgoing [[wikilinks]]. That is far more specific than a tautology and lets an agent distinguish it from obsidian_search_notes or obsidian_write_note by the fact that it returns one note's full contents. It stops short of explicitly naming those siblings as alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, no mention of prerequisites such as vault selection, and no routing to alternatives like obsidian_search_notes for discovery or obsidian_list_vaults for enumeration. The agent must infer the usage context from the verb alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
obsidian_search_notesCInspect
Searches the notes of an Obsidian vault by text (query: note title and text, case-insensitive), by tag (`...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it is truncated and stops before describing tag matching semantics, result limits, pagination, vault scoping, or return format. The one real disclosure is that text matching is case-insensitive and covers title plus body text.
Agents need to know what a tool does to the 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 text is cut off mid-sentence, so the definition is structurally incomplete rather than merely terse. What exists is front-loaded reasonably, but an unfinished sentence cannot be considered appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, an empty parameter schema, and a truncated description, an agent lacks enough to invoke this correctly — it cannot tell what arguments the tool accepts or how results are returned.
Complex tools with many parameters or behaviors need more documentation. 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 declares zero parameters, which normally sets a baseline of 4, but the description references a `query` parameter (title and body text, case-insensitive) and a tag parameter that do not appear in the schema at all. That mismatch makes the parameter picture ambiguous rather than adding clean 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?
States a specific verb+resource ('Searches the notes of an Obsidian vault') and names two search modes (text, tag), which distinguishes it from write-oriented siblings like obsidian_write_note. However, the description is truncated mid-sentence ('by tag (`...'), so the full scope of the search modes is never delivered.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 search versus siblings such as obsidian_read_note, obsidian_list_vaults, or the generic search_notes. The mode list (text/tag) hints at usage but no conditions, exclusions, or alternatives are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
obsidian_write_noteBInspect
Writes a Markdown note in an Obsidian vault.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It implies a mutation and identifies the output format as Markdown, but it does not disclose whether it overwrites, appends, creates files, requires permissions, or how errors/conflicts are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It states the verb, output format, and domain directly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no annotations, no output schema, and an empty parameter schema, so the description must provide more context than it does. It does not explain how a note is identified, what content is written, or what behavior to expect during 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 tool has zero parameters, so the baseline is 4. The description adds no parameter meaning, but there are no parameters to document or clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (writes), resource (Markdown note), and domain (Obsidian vault), so the core operation is clear. However, it does not differentiate from siblings such as obsidian_read_note, obsidian_search_notes, create_note, or update_note.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool instead of alternatives like update_note, create_note, or evernote_create_note. There are also no prerequisites or contextual conditions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onedrive_delete_fileAInspect
Permanently deletes a file or an EMPTY folder inside the OneDrive folder synced on this Mac.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that deletion is PERMANENT and that only EMPTY folders can be deleted, which is valuable behavioral context. However, it omits whether confirmation is required, whether deletion is recoverable, permission requirements, or what happens if the folder is non-empty.
Agents need to know what a tool does to the 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 the verb 'Permanently deletes', and the key constraint (EMPTY folder) is highlighted in caps. Zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deletion tool with no annotations and no output schema, the description over-relies on the one-line statement. It covers the permanence and the empty-folder constraint, but lacks guidance on prerequisites, error conditions, or alternatives. Adequate but with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is 0, so the baseline is 4. The description does not need to explain parameters, and correctly omits any parameter discussion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (deletes) and resource (file or EMPTY folder) with clear scope (inside the OneDrive folder synced on this Mac). Distinct from siblings like onedrive_move_file, onedrive_write_file, and gdrive_delete_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage (delete something in OneDrive) but does not state when to use this vs onedrive_move_file to a trash location, or vs gdrive_delete_file. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onedrive_disconnectBInspect
Turns one OneDrive folder off in Local MCP: its tools stop reading it until the user turns it back on in Lo...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses the state effect (tools stop reading the folder) and that re-enabling requires the user to act 'in Lo[cal MCP]' rather than this tool. It says nothing about persistence, authentication, or whether the change affects other folders, and the sentence is truncated mid-thought.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler is appropriately sized. The truncated ending ('in Lo...') leaves the final clause incomplete, which slightly undermines the structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and no parameters, the description is the entire specification, and it stops short: the re-enable path is cut off and it omits whether the off-state persists across sessions or how it interacts with onedrive_set_scope.
Complex tools with many parameters or behaviors need more documentation. 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 zero parameters and 100% coverage, so per the baseline this scores 4. Note that the description implies selecting 'one OneDrive folder' even though no such parameter exists, which is a mild mismatch rather than a documentation gain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Turns one OneDrive folder off in Local MCP') plus the observable consequence ('its tools stop reading it'). However, it never distinguishes itself from nearby siblings like onedrive_set_scope or gdrive_disconnect, and the term 'folder' is ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 explicit when-to-use or when-not-to-use guidance and no named alternative. The only hint is the stated effect (tools stop reading the folder), which leaves the agent to infer that this is the opposite of onedrive_set_scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onedrive_file_infoCInspect
Returns metadata for a file or folder in your OneDrive synced folder: size, modification date, type, and ex...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does signal a read-only metadata retrieval and hints at the fields returned, but it says nothing about behavior for missing paths, permission requirements, how the target file is resolved (the schema takes no arguments), or any limits — a significant gap for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence is the right shape, but it is truncated ('and ex...'), so the structure is incomplete rather than genuinely concise. It is short and non-redundant, but the missing tail is lost information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and an empty parameter schema, the description is the only source of behavior and return detail — and it stops mid-word after naming only three of the metadata fields. An agent lacks the information needed to know what it receives back or how the target is chosen.
Complex tools with many parameters or behaviors need more documentation. 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 declares zero parameters, so per the baseline this dimension starts at 4. But with no arguments at all, the description's failure to explain how the target file/folder is identified (ambient scope? implicit selection?) leaves a real ambiguity that the schema cannot resolve, pulling the score down to 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource ('returns metadata for a file or folder in your OneDrive synced folder') and enumerates the returned fields, which distinguishes it from read/write siblings like onedrive_read_file. However, it never differentiates itself from the very close sibling onedrive_list_files or gdrive_file_info, and the sentence is cut off mid-word ('and ex...'), leaving the field list unfinished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 statement of when to reach for this tool versus onedrive_read_file, onedrive_search_files, onedrive_root, or onedrive_list_files. There is also no mention of prerequisites such as an active scope set via onedrive_set_scope or a connected account, which matters given the empty parameter schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onedrive_list_filesCInspect
Lists files and folders in a OneDrive path.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully disclose behavior. It only says 'lists files and folders' without details on recursion, error handling, or permission needs. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. Could benefit from slight expansion but is 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?
With no parameters, no output schema, and no annotations, the description lacks essential context about default behavior, output structure, and limitations. Incomplete for effective tool usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters, so no parameter info to add. However, the tool name implies a path parameter, which is missing, creating a mismatch. Baseline 4 for zero params is lowered by this inconsistency.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists files and folders in OneDrive, using a specific verb+resource. However, it could be more precise about which path (e.g., root or specified) and how it differs from siblings like onedrive_search_files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives such as onedrive_search_files or gdrive_list_files. Lacks context on prerequisites, scope, or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onedrive_move_fileBInspect
Moves or renames a file or folder inside the OneDrive folder synced on this Mac; OneDrive syncs the change...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It discloses that the tool mutates state and that OneDrive syncs the change, but it omits critical details such as required permissions, overwrite behavior, error handling, and whether the move is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the main action. The trailing clause about OneDrive syncing the change is somewhat vague and appears truncated, but overall the structure is efficient and non-repetitive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 file mutation tool with no annotations and no output schema, the description is incomplete. It does not explain how source and destination are specified, rename semantics, permissions, or what happens when the target already exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters and 100% description coverage, so the baseline is 4. The description does not need to add parameter meaning because there are no parameters to document, though the empty schema itself is unusual for a move/rename operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs (moves or renames) and a clear resource (file or folder inside the OneDrive folder synced on this Mac). It distinguishes the tool from unrelated siblings, though it does not explicitly differentiate it from other OneDrive file operations like onedrive_delete_file or onedrive_write_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance or alternatives are provided. The description implies that this tool is for moving or renaming OneDrive files, but it does not tell the agent when to choose it over siblings such as onedrive_write_file or onedrive_delete_file.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onedrive_read_fileBInspect
Reads a text file from your OneDrive synced folder.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only says 'Reads a text file,' without mentioning whether it returns the file contents, how it handles non-text files, size limits, or encoding. Two sentences are insufficient for a read operation with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that contains only the essential information: the action and the resource. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations, output schema, and parameters, the description is too sparse. It fails to explain how the target file is selected, what the output will be, or any constraints (e.g., text-only files). Users would need additional context from sibling tools like onedrive_set_scope to use this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so there is nothing to document. The description adds contextual meaning by specifying 'text file' and 'OneDrive synced folder,' aligning with the baseline of 4 for zero-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 clearly states the verb ('Reads') and resource ('a text file from your OneDrive synced folder'), distinguishing it from sibling tools like onedrive_list_files and onedrive_search_files. However, it does not explain how the specific file is identified (e.g., via a selected file or scope), leaving minor ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as file_read, gdrive_read_file, or pdf_read. It implicitly suggests use for reading text files from OneDrive but does not state exclusions or compare with other read tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onedrive_rootAInspect
Lists all mounted OneDrive directories on this Mac.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states listing behavior without disclosing potential side effects, permission requirements, or limitations (e.g., only shows top-level mounts). Fails to add transparency beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 8 words, no filler. Front-loaded with verb. Every word is essential 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?
For a simple tool with no parameters and no output schema, the description adequately conveys the action and scope. Might benefit from clarifying that it only returns root-mounted directories, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has zero parameters, so schema coverage is 100%. Description naturally cannot add parameter semantics, earning a baseline of 4 as per guidelines for zero-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?
Description uses specific verb 'Lists' and resource 'all mounted OneDrive directories' with scope 'on this Mac'. Clearly distinguishes from siblings like onedrive_list_files and gdrive_root.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description states what the tool does but offers no guidance on when to use it versus alternative tools like onedrive_list_files or onedrive_search_files. No exclusions or context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onedrive_search_filesCInspect
Searches for files by name in a OneDrive directory (recursive).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description only adds 'recursive' behavior. It fails to disclose that no search parameters (name, directory) can be passed, contradicting the semantics implied by the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 9 words, efficient. But the lack of details about the missing parameters reduces its practical value. Could be slightly longer to clarify the discrepancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete for a tool with no parameters and no output schema. It does not explain how the agent can specify a search term or directory, or what the tool searches by default.
Complex tools with many parameters or behaviors need more documentation. 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 0 parameters and 100% schema coverage, baseline is 3. However, the description introduces concepts (name, directory) not reflected in the schema, misleading the agent about what can be specified. No parameter documentation exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (search files by name) and resource (OneDrive directory) with recursive behavior. However, the input schema has no parameters, making the described functionality impossible to specify via arguments, which confuses the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 siblings like onedrive_list_files or onedrive_file_info. The description does not mention prerequisites, scope, or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onedrive_set_scopeBInspect
Limits LMCP's access to one OneDrive to a single folder.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it omits key traits for a security-sensitive operation: whether the change is reversible, what happens to previously granted access, how scope is cleared, and whether it requires a live OneDrive connection. 'Limits access' implies a potentially impactful, non-trivial state change that goes unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the action and constraint appear immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 scope-restricting tool with no annotations, no output schema, and no parameters, the description is too thin: it does not explain the selection mechanism, side effects, or how to undo the restriction. An agent cannot confidently predict the outcome of calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero properties, so there are no parameters for the description to clarify; per the 0-param baseline this sits at 4. The description adds nothing here – notably it never explains how a target folder is identified without any input argument.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (limits) and resource (LMCP's access to one OneDrive) plus the effect (single folder), which is distinguishable from siblings like onedrive_disconnect or gdrive_set_scope. It stops short of explaining which folder is chosen, but the core purpose is legible.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 versus onedrive_disconnect, gdrive_set_scope, or the other onedrive_* tools. It does not state prerequisites (e.g., needing a connected account) or when a caller would want to narrow scope at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onedrive_write_fileCInspect
Writes text content to a file in OneDrive.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states 'writes' without disclosing whether it overwrites, creates, or appends, or what happens if the file does not exist. It lacks essential behavioral details for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, but it is too concise to be useful. It omits necessary details about file identification and content, making it inadequate for an agent to use the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete given the tool's complexity and lack of parameters. It does not specify the target file or content source, leaving critical gaps. An agent cannot determine how to invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, and the description adds no meaning beyond the empty schema. It fails to explain how the target file and text content are specified, which is critical for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain 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 ('Writes text content') and resource ('file in OneDrive'), distinguishing it from sibling tools like onedrive_read_file or onedrive_delete_file. However, it does not specify how to identify the target file, which is a minor omission.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 or context for usage are provided. The tool is the only OneDrive write tool, but the description does not clarify when writing is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_calendar_create_eventBInspect
Creates a calendar event in Microsoft Outlook.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no permission/account requirements, no note on whether the event is sent as an invite, no recurrence or timezone behavior, and no indication of what happens on success. One sentence of pure intent is far short of what a mutation tool with zero annotation coverage needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, which is efficient. It is, however, only minimally informative rather than deliberately concise, so it does not reach a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, an empty input schema, and a crowded field of sibling calendar-creation tools, the definition is not sufficient for an agent to call this tool confidently or route to it correctly. Essential context about account binding and how event data is passed is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero parameters, so per the baseline this dimension defaults to 4 — there is no parameter set for the description to clarify. That said, a create-event tool with an empty schema is itself surprising, and the description does not explain how event details (subject, time, attendees) are supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Creates a calendar event in Microsoft Outlook'), so the basic action is unambiguous. However, it does nothing to distinguish itself from near-identical siblings such as create_calendar_event, m365_create_event, and the paired update_calendar_event / delete_calendar_event, leaving the agent to guess which vendor surface to use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (e.g. connected Outlook account), and no mention of alternatives despite several competing 'create event' tools in the sibling list. Usage must be entirely inferred from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_calendar_delete_eventCInspect
Deletes a calendar event from Outlook by EntryID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It states the destructive action but does not disclose permission requirements, irreversibility, handling of recurring events, or what happens when the EntryID is invalid. Similar to the calibration example for an unannotated mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. It states the action, target system, and intended identifier immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 destructive calendar mutation with no annotations and no output schema, the description is too thin. It omits how to obtain the EntryID, whether deletion is permanent, required permissions, and how it relates to sibling delete tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0 parameters, which normally gives a baseline of 4. However, the description introduces an EntryID requirement that is not present in the schema, so the agent cannot actually supply it. This adds confusing or unusable semantic information rather than useful parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: deletes a calendar event from Outlook. It distinguishes itself from list/create/update siblings, but does not differentiate from other delete-event tools such as delete_calendar_event or m365_delete_event. It also references an EntryID that the input schema does not expose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 delete_calendar_event, m365_delete_event, or other calendar tools. Prerequisites, confirmation requirements, and error conditions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_calendar_list_eventsBInspect
Lists upcoming calendar events from Microsoft Outlook on Windows.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only says "upcoming." It does not disclose the default time window, result count, ordering, timezone handling, or pagination behavior — all of which matter for a parameterless listing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or repetition. It is efficient, though so terse that it omits information an agent would need.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because the tool has no parameters, the caller cannot control the time range, so the description should have stated the default window and result shape. It also has no output schema to fall back on and no annotations, leaving key operational details undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a 0-param tool applies. The description's only implicit claim is the "upcoming" filter, which is not a parameter anyway.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Lists") and resource ("upcoming calendar events") and scopes the source to Microsoft Outlook on Windows. It is clear on its own, but it never distinguishes itself from near-identical siblings such as list_calendar_events, m365_list_events, or outlook_calendar_list_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 pick this over the other calendar-listing tools in the catalog (list_calendar_events, m365_list_events, outlook_calendar_list_names). No prerequisites, no exclusions, no alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_calendar_list_namesBInspect
Lists all calendar folder names in Outlook.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a read-only listing but does not disclose return shape, pagination, authentication needs, or any side-effect 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?
A single, front-loaded sentence with no wasted words. It states the tool's function directly and efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and the description covers its core function. With no output schema needed for a trivial list and no parameters, it is nearly complete, though it could briefly mention the return format or any constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the empty schema matches that. Per the rubric, zero-parameter tools baseline at 4; there is no parameter meaning to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Lists all calendar folder names in Outlook.' It is clear what the tool returns, but it does not explicitly distinguish itself from siblings like outlook_calendar_list_events or list_calendar_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. It states what it does but gives no context, prerequisites, or sibling references to aid selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_contacts_listBInspect
Lists contacts from Microsoft Outlook on Windows.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses only that contacts are listed. Nothing is said about pagination, result volume, sorting, required account connectivity, or whether the operation is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with no filler or repetition. It is efficient, though its brevity comes partly from saying very little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 trivial zero-parameter list operation with no output schema this is minimally viable, but in a sibling environment containing m365_list_contacts, list_contacts, and outlook_contacts_search, the description lacks the disambiguating context needed to route correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify; the baseline for a parameterless tool is 4. No parameter meaning is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Lists) and resource (contacts) with a platform qualifier (Microsoft Outlook on Windows). It is clear what the tool does, but it never differentiates itself from near-identical siblings such as outlook_contacts_search, m365_list_contacts, or list_contacts, so an agent cannot tell from the text alone which one to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use statement, no exclusions, and no mention of the search/get-contact alternatives that exist in the sibling set. The agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_contacts_searchCInspect
Searches contacts in Microsoft Outlook by name, email, or company.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only supplies one sentence. 'Searches' implies a read-only operation, but there is no mention of which accounts are scanned, how results are ranked or paged, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the verb and resource front-loaded and no filler. It is efficient, though arguably under-specified rather than genuinely concise for a search 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 search tool with no annotations, an empty parameter schema, and no output schema, the description does far too little. It never explains how to supply the search terms the schema does not expose, nor what a result looks like, so an agent cannot confidently invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema exposes zero parameters, which normally gives a baseline of 4, but the description claims search criteria (name, email, company) that the empty schema cannot accept. That mismatch leaves the agent unsure whether the criteria are callable inputs or just descriptive, so it lands below the 0-param baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Searches) and resource (contacts in Microsoft Outlook) plus the intended search facets (name, email, company). However, it does not differentiate itself from close siblings such as m365_search_contacts, search_contacts, or outlook_contacts_list, leaving the agent to guess which search surface to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and names no alternatives. With siblings like outlook_contacts_list and outlook_get_contact directly adjacent, an explicit rule (e.g. 'use list to browse, get to fetch by id') is needed but absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_create_folderBInspect
Creates a new mail folder in Outlook.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It only says a folder is created; it does not disclose which account/scope the folder lands in, whether a name is required, error behavior for duplicates, or whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with no filler. It is appropriately sized for what it communicates.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is too thin. Most tellingly, the empty input schema offers no way to specify the folder name, and the description does not explain how the target folder or account is determined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters per the schema, and the rule sets a baseline of 4 when there are no parameters to describe. The description adds nothing on inputs, but there is nothing for it to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (creates) and resource (mail folder) with the target system named (Outlook). However, it does not distinguish itself from the sibling tool `create_email_folder`, which appears to describe the same operation, leaving an agent unable to choose between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use, when-not-to-use, or alternative guidance. With a near-identical sibling (`create_email_folder`) in the toolset, silence on routing is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_diagnoseAInspect
Checks which email accounts are configured in Microsoft Outlook and compares them with Mail.app.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the burden. It discloses the comparison behavior, but does not mention side effects, permissions, or that it is read-only. Adequate but not detailed.
Agents need to know what a tool does to the 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 information, no unnecessary words. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not explain what the tool returns (e.g., a list of accounts per app or differences). With no output schema, this omission makes it incomplete for an agent to use effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist in the input schema, and schema coverage is 100%. Per guidelines, 0 parameters leads to a baseline of 4. The description adds no parameter info because none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks configured email accounts in Outlook and compares with Mail.app, using specific verbs and resources. It distinguishes from siblings like 'list_email_accounts' which likely only list without comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'list_email_accounts' or other diagnostic tools. The context is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_flag_emailBInspect
Flags or unflags an Outlook email as important.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a mutation (changing flag state) but omits critical details such as which email is targeted, whether the operation is reversible, what permissions are needed, or what the tool returns. This is insufficient for a mutation tool with zero annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no filler, and the core action is front-loaded. It avoids redundancy, though it is arguably too terse given the tool's mutation nature. The structure is clean but under-specified relative to what an agent might need.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, output schema, and parameters, the description should explain how the email is identified (e.g., selected in UI, passed implicitly) and any required context. It fails to address these points, leaving a significant gap for a tool that alters email state. The description is not complete enough for an agent to invoke it confidently without additional 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?
The tool has zero parameters, so according to the scoring baseline, a 4 is appropriate. The description adds no parameter information because none exist, and the schema is empty. There is no gap to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb phrase ('Flags or unflags') and resource ('an Outlook email as important'), clearly conveying the tool's action. No sibling tool performs flagging, so the action is inherently distinguishable from others like outlook_move_email or outlook_read_email. However, it does not clarify how the target email is identified, leaving a small gap in purpose understanding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It does not state prerequisites, exclusions, or the context in which flagging is appropriate. The single sentence merely restates the function without any usage framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_forward_emailCInspect
Forwards an Outlook email to another recipient.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It only restates the name/title; it does not disclose whether the forward is a draft or sent immediately, what happens to attachments, whether it requires authentication, or whether comments can be added. For a mutation tool with zero annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, efficient sentence with no waste, front-loading the action. However, it is arguably too terse given the complexity implied by the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and an empty parameter schema, the description does not come close to covering what an agent needs to call this tool correctly. Critical details about inputs, side effects, and return behavior are 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 schema shows zero parameters and 100% description coverage, so the baseline is 4, but the empty schema is suspicious for a forward operation that realistically needs at least an email ID and recipient. The description says 'another recipient' but provides no mechanism to specify either the source email or the recipient, leaving semantics incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Forwards') and resource ('an Outlook email') plus the target ('to another recipient'). It is distinguishable from siblings like outlook_reply_email and outlook_send_email, though it doesn't explicitly contrast with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as outlook_reply_email, outlook_reply_all, or outlook_send_email, nor any exclusions or prerequisites. The agent must infer usage entirely from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_get_contactCInspect
Gets detailed info for a specific Outlook contact by name.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a read-only lookup, but does not disclose what happens if the contact is not found, what account is used, what fields are returned, or any permission requirements. This is a significant gap for a tool with no structured behavioral hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It communicates the core operation efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a lookup tool with no output schema and no annotations, the description should explain return values or invocation details more fully. Instead, it leaves the name-based lookup mechanism unclear, especially because the input schema is empty, making the definition incomplete for reliable agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters, giving a nominal baseline of 4. However, the description says the contact is retrieved 'by name,' which implies an input parameter that the schema does not contain. This mismatch reduces clarity about how the tool is actually invoked.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: retrieves detailed info for an Outlook contact. It also indicates lookup by name. However, it does not distinguish this tool from similarly named sibling tools such as get_contact, m365_get_contact, or outlook_contacts_search, which may cause selection ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like outlook_contacts_list, outlook_contacts_search, or get_contact. It also does not state prerequisites, such as whether the contact must already exist or whether the comparison is exact or fuzzy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_list_accountsBInspect
Lists configured email accounts in Outlook.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses that only 'configured' accounts are returned, which implies a read-only, environment-dependent operation, but says nothing about required Outlook setup, ordering, or failure behavior. It is adequate but thin for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. It is appropriately sized for a no-argument list operation, though it is so terse that it leaves no room for the behavioral or routing context an agent might need.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description must carry more of the definition's weight. For a zero-parameter list tool it is minimally complete, but it omits what the returned account data looks like and how this tool relates to the many sibling account-listing tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there are no parameter semantics to document. Per the scoring baseline for zero-parameter tools, the schema's emptiness is not a gap the description needs to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource (lists configured email accounts) and adds an Outlook scope, which is slightly more specific than the generic siblings. However, it does not explain how it differs from siblings such as list_accounts or list_email_accounts, so an agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no indication of when to prefer this over list_accounts or list_email_accounts. Usage is only implied by the tool name and the word 'configured'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_list_emailsCInspect
Lists recent emails from Microsoft Outlook on Windows.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It implies a read operation but says nothing about how many messages are returned, pagination, folder scope (inbox vs all folders), or what happens if Outlook is not running on the host.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, front-loading the verb and resource. It is not padded, though it is arguably under-specified rather than efficiently 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 zero-param, annotation-free tool with no output schema, the description should at minimum define the result set ('recent' = how many? which folder?) and note the read-only nature. What is present is accurate but far too thin to let an agent call the tool with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty, so there is nothing for the description to disambiguate. Baseline of 4 applies; no parameter-related value is missing or contradicted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource (lists emails) and scopes it to Outlook on Windows, so the basic action is understandable. However, 'recent' is undefined, and the definition does nothing to distinguish it from close siblings such as outlook_search_emails, m365_list_emails, and list_emails in the provided tool set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of when to prefer outlook_search_emails or outlook_read_email, and no mention of prerequisites such as an authenticated Outlook session. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_move_emailBInspect
Moves an Outlook email to a different folder.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether the operation is reversible, what permissions are required, whether the destination folder must already exist, or what happens on conflicts. For a mutation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no wasted words, and the core action is front-loaded. It is appropriately sized, though its brevity contributes to the gaps noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation operation, the definition is incomplete: there are no annotations, no output schema, and no parameters in the schema to identify the email or destination folder. The description does not compensate for these omissions, leaving an agent unable to invoke the tool correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and the rule baseline for zero-parameter tools is 4. The description does not need to document parameters that do not exist, though it also fails to explain why a move operation has no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Moves'), resource ('Outlook email'), and destination ('to a different folder'), so the core action is clear. However, it does not distinguish itself from the sibling tool 'move_email', which likely performs the same operation, leaving the agent unsure which one to choose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as 'move_email', nor any prerequisites or exclusions. The agent receives no routing information despite a dense sibling toolset.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_read_emailCInspect
Reads the full content of an Outlook email by its EntryID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It only states that it reads full content; it does not mention side effects (e.g., marking as read), required permissions, or output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is appropriately sized for the tool's apparent 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?
Given the empty schema, lack of annotations, and no output schema, the description is missing critical details: how to provide the EntryID when the schema has no parameters, and what the returned content looks like. It is too sparse to confidently 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?
The schema has zero parameters, but the description references an EntryID, creating an inconsistency. This adds semantic meaning about the identifier but does so in a way that contradicts the empty schema, leaving the agent unable to supply the required input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (reads), resource (Outlook email), and scope (full content) with the lookup method (by EntryID). It is clear what the tool does, but it does not explicitly differentiate itself from sibling tools like m365_read_email or read_email.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage requires an EntryID, but gives no explicit guidance on when to choose this tool over alternatives such as outlook_list_emails or outlook_search_emails. There are no stated prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_reply_allCInspect
Replies to all recipients of an Outlook email.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden, and it does not. It omits whether the reply is sent immediately or drafted, how the target message is identified given zero parameters, and whether recipients are auto-populated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It is efficient, though it is arguably too terse given the behavioral gaps.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 messaging action with no annotations, no output schema, and no parameters, the description should explain the invocation context (selected email, body source) and the send-vs-draft behavior. Almost none of that is covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters means there is nothing to document in the schema (baseline 4), but the description does not compensate by explaining how the tool resolves which email to reply to or where the reply body comes from. That omission is meaningful for a zero-parameter action tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear specific verb ('Replies') and resource ('Outlook email') with a scope qualifier ('all recipients') that separates it from outlook_reply_email. It does not explicitly name the sibling, but the distinction is inferable from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use or when-not-to-use guidance is given, and no alternatives are named. The description never states the precondition (an email must already be selected/identified) required to invoke a reply-all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_reply_emailCInspect
Replies to an Outlook email by its EntryID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full behavioral burden. It indicates a reply action but omits whether the message is sent immediately, whether it requires authentication, what happens to the original thread, or whether any content can be supplied. The disclosure is 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, front-loaded sentence with no wasted words. It states the action and the identifier directly without preamble or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write operation with no annotations, no output schema, and an empty input schema, the description is too sparse. It does not explain how to pass the EntryID (the schema lacks it), what content is sent, or what the tool returns, leaving the agent unable to invoke it reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description adds a required identifier ('EntryID') but the schema does not include it, creating an inconsistency. It also gives no format or sourcing details for that ID, so the added semantic value is incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Replies') and resource ('Outlook email'), and names the identifier ('EntryID'). It does not explicitly distinguish itself from sibling tools like outlook_reply_all or m365_reply_email, but the name plus description make the core action 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?
No guidance is given on when to use this tool versus alternatives such as outlook_reply_all, m365_reply_email, or reply_email. There are no prerequisites, exclusions, or routing hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_save_attachmentBInspect
Saves attachments from an Outlook email to a folder.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It says what the tool does at a high level, but does not disclose permission requirements, whether existing files are overwritten, where the folder is specified, or what happens on failure. For a write/save operation with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that is front-loaded with the tool's action and target. There is no redundant or filler language. It is appropriately sized for the amount of information provided.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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, no annotations, and no output schema, the description is not complete enough to safely invoke the tool. It does not explain how the tool identifies the Outlook email, which folder is used, or whether it saves all attachments or a selected one. Additional context is needed for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema contains zero parameters, and the scoring rules set a baseline of 4 for parameter semantics when there are no parameters. The description adds no parameter details, but there are none to document in the schema. The score reflects the zero-parameter baseline rather than any added semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Saves') and resource ('attachments from an Outlook email to a folder'), making the tool's basic action clear. However, it does not distinguish this tool from the sibling 'save_attachment' or clarify what makes this Outlook-specific version different. A 4 is appropriate: clear purpose without sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as 'save_attachment' or other Outlook tools. It also does not state prerequisites, like whether the email must be selected or opened first. There is no when-to-use or when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_search_emailsBInspect
Searches Outlook emails by keyword in subject or body.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the search fields (subject or body) but omits read-only status, authentication needs, result limits, pagination, folder scope, and account context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It is concise and immediately communicates the core action and search scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations, output schema, and input parameters, the description is too sparse for an agent to confidently invoke the tool. It does not explain how the keyword is supplied, what results are returned, or when to prefer this tool over sibling search tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema contains zero parameters, so there is no parameter documentation to supplement. Per the rubric, zero parameters yield a baseline of 4; the description's mention of a keyword is not backed by any schema input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (searches), resource (Outlook emails), and search scope (keyword in subject or body). It clearly distinguishes the tool from list/read operations, but does not explicitly differentiate it from sibling search tools such as search_emails or m365_search_emails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance, prerequisites, or alternatives. It only states what the tool does, leaving the agent to infer that it should be used when searching Outlook emails.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
outlook_send_emailBInspect
Sends an email via Microsoft Outlook on Windows.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It says only that an email is sent via Outlook on Windows, without disclosing immediacy, account/auth requirements, attachment behavior, or any side effects for a mutation operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single clear sentence with the verb and resource front-loaded and no wasted wording. It is appropriately concise, though its brevity leaves important behavior and usage details unaddressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and an empty input schema, the description is too thin for an email-sending tool. It does not explain how message content is supplied or how this differs from other send-email siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description adds no parameter semantics, but no parameters are declared in the schema; the omission of expected email fields like recipient, subject, and body is notable but outside parameter coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource, 'Sends an email,' plus the platform context 'via Microsoft Outlook on Windows.' However, it does not distinguish this tool from sibling send tools such as send_email, m365_send_email, or zalo_send_message.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 no guidance on when to use this tool instead of send_email, m365_send_email, or other messaging siblings. It also omits prerequisites such as requiring a configured Outlook account on Windows.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pdf_readAInspect
Reads and extracts text from a PDF document (.pdf file).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the core function (read/extract text) but omits important details such as whether it handles scanned PDFs, encryption, or what the return format is. No side effects or limitations are mentioned, leaving significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is direct and front-loaded with the action and resource. Every word earns its place, with no fluff or repetition. It achieves maximum clarity in minimal space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description is minimally sufficient: it identifies what the tool processes and what it produces (text). However, it lacks details about return structure, error cases, or supported PDF variants. Given its simplicity, more context would improve usability but is not strictly required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description adds no parameter-specific detail, but none is needed since the tool takes no arguments. The description confirms it operates on a PDF document by name, which is the only relevant semantic context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (reads and extracts text) and the target resource (a PDF document). It distinguishes this tool from siblings like file_read or gdrive_read_file by specifying the PDF file type, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, limitations, or compare with other file-reading tools. Users are left to infer that this is the PDF-specific reader, but no explicit usage context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
permissions_statusCInspect
Reports the TCC permission state (screen recording, accessibility, microphone) this app needs to capture th...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It only states it 'reports' the state, implying a read-only operation, but does not confirm side-effect-free behavior or any prerequisites. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but appears truncated ('capture th...'), resulting in incomplete information. A complete sentence would improve clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description should still explain the return format or how to interpret the permission state. It lacks this context, making it less useful for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema already provides full coverage. The description adds no parameter information, which is acceptable since none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reports TCC permission state for specific types (screen recording, accessibility, microphone). However, it does not distinguish itself from the sibling tool 'list_missing_permissions', which also deals with permissions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'list_missing_permissions' or when not to use it. The description lacks context for appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ppt_createAInspect
Creates a PowerPoint presentation (.pptx) at path from an array of slides, each {title, bullets:[…]}.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose key behaviors such as whether existing files are overwritten, what permissions are required, or what the function returns. It only specifies the input format, leaving side effects and error handling unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the purpose and includes the essential input format. There is no wasted wording, and it reads clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 annotations and output schema, the description is the sole source of information. It covers the key input (path and slides) but leaves out return behavior, overwrite semantics, and error handling, making it minimally viable but not fully complete for an agent to use without uncertainty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty, so the description is entirely responsible for parameter semantics. It introduces `path` and the slides array with a clear shape ({title, bullets:[…]}), which is meaningful and helpful. However, it omits explicit types and any optional parameters, so it does not fully compensate for the absence of schema properties.
Input schemas describe structure but not intent. Descriptions should explain 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 (creates), the resource (PowerPoint .pptx), and the destination (path), and specifies the input structure as an array of slides with title and bullets. This distinguishes it from sibling tools like ppt_read and other document creation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating presentations, but it does not explicitly state when to use this tool over alternatives such as ppt_read or word_create. There are no mentions of prerequisites, exclusions, or preferred contexts, so the agent must rely on the verb 'creates' to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ppt_readBInspect
Reads slide text content from a PowerPoint presentation (.pptx file).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states it reads text but doesn't mention whether the operation is read-only, what side effects might occur, how the file is located, or what the output contains. This is minimal for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the action and resource. Every word adds meaning, and there is 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 read operation with no parameters or annotations, the description provides the core purpose but leaves out important context such as how the file is chosen and what the return value looks like. This makes it minimally viable but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides no information. The description adds the file format (.pptx), which is useful context, but it doesn't clarify how the target presentation is identified. Given the zero-parameter baseline of 4, this is 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 identifies the action ('Reads') and the resource ('slide text content from a PowerPoint presentation'), and specifies the file format (.pptx). This distinguishes it from siblings like ppt_create, though it doesn't mention how the file is selected.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as ppt_create or other read tools. There are no exclusions or context clues to help an agent decide between similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proton_connectCInspect
Reports whether Proton Mail Bridge answers on this computer and which Proton Mail accounts are connected to...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It does not disclose whether invoking it merely probes status or attempts to initiate/authenticate a connection, whether it has side effects, or what happens if Bridge is not running — critical questions for a tool named 'connect'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence and front-loaded with the key behavior, but the sentence is cut off mid-clause, so it is incomplete rather than tight. No wasted words, but the structure is broken by truncation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description does usefully sketch the return content (Bridge availability plus connected accounts). What is missing is the truncated remainder and clarification of side effects, so an agent cannot fully predict the outcome of calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify; baseline for a parameterless tool is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific behavior (reporting Proton Mail Bridge availability and which accounts are connected), which is more than a tautology. However, the text is visibly truncated ('connected to...') and the tool name proton_connect implies establishing a connection, which sits awkwardly against the status-report phrasing, creating ambiguity about what is actually being done.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 statement of when to call this versus proton_disconnect or the proton_list_* siblings, nor any prerequisites (e.g. Proton Mail Bridge must be installed/running). The diagnostic context is only inferable from the verb 'Reports'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proton_disconnectAInspect
Disconnects one Proton Mail account from Local MCP: removes the Bridge password stored for it from Windows...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does meaningfully disclose the side effect: the stored Bridge password for that account is removed from Windows (credential store). That is real behavioral context beyond the name. It is truncated, though, and does not say whether the action is reversible or what happens if the account is not connected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single focused sentence with the action front-loaded and no filler. The trailing ellipsis/truncation leaves it feeling incomplete rather than 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?
For a zero-parameter, no-annotation, no-output-schema tool, the description covers the essentials: what is removed and where it is stored. Missing only edge-case behavior (not-connected state, reversibility, multi-account selection), which is minor at this 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 tool takes zero parameters, so by the rubric the baseline is 4. The description adds the useful nuance that the operation targets 'one' account and touches the stored Bridge credential, but there is no parameter surface 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?
Specific verb ('Disconnects') plus a specific resource ('one Proton Mail account from Local MCP'), which readily distinguishes it from proton_connect and from other disconnect_* siblings. It stops short of naming the related tools, keeping it at a clear-but-not-differentiating 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool does but never says when to reach for it, whether an account must first be connected, or how 'one' account is selected when multiple Proton accounts exist. No alternatives (e.g., other disconnect_* tools) are referenced, so usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proton_list_emailsCInspect
Lists the newest messages of one folder of a Proton Mail account, newest first: id, sender, recipients, sub...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it only partially discharges it. It does disclose ordering ('newest first') and the start of a return-field list ('id, sender, recipients, sub...'), which is genuine behavioral value, but it says nothing about which folder is used given the tool takes no arguments, whether authentication/connection is required, or whether results are capped/paginated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
What is present is front-loaded and free of padding, so it would score highly on efficiency. But the text is visibly truncated mid-word ('recipients, sub...'), so it reads as an incomplete definition rather than a deliberately tight one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-annotation, no-output-schema tool, the description is the only place to learn the default folder, the connection/auth prerequisite, and any result limits, and it covers none of these. The truncated field list hints at return values but does not finish the job.
Complex tools with many parameters or behaviors need more documentation. 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 declares zero parameters, which is the baseline-4 case under the rubric. However, the description's phrase 'one folder' implies a folder selector that the schema does not expose, leaving how the target folder is chosen unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Lists the newest messages of one folder of a Proton Mail account') and adds the ordering ('newest first'), so an agent can distinguish it from proton_read_email or proton_send_email. It falls short of 5 because it never explicitly contrasts itself with the sibling proton_search_emails, which is the obvious alternative for the same mailbox.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use guidance at all: nothing says to prefer this over proton_search_emails when you have no query, or to use proton_read_email once you have an id. The only implicit cue is 'newest messages', which is not a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proton_read_emailBInspect
Reads one Proton Mail message by the id proton_list_emails or proton_search_emails returned: sender, recipi...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it omits key traits: whether reading marks the message as read, whether it returns the full body or only headers, and any auth/account prerequisites. It only enumerates a few returned fields before truncating.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, putting the verb and resource first and the id-source dependency second. The text is truncated ('recipi...'), which is a data artifact rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-one tool with no output schema and no annotations, the description should fully specify the required id and the response shape; it gestures at returned fields (sender, recipient...) but the empty parameter schema leaves the id contract underspecified. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters, yet the tool evidently requires a message id; the description supplies that missing semantics by explaining where the id comes from ('the id proton_list_emails or proton_search_emails returned'). With zero schema params the 4 baseline applies, and the description adds genuine compensating 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?
States a specific verb and resource ('Reads one Proton Mail message') and distinguishes itself from proton_list_emails/proton_search_emails by naming them as the source of the id. It does not explicitly say it is the alternative to those siblings, but an agent can tell it apart from the listing 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?
Usage is implied rather than stated: the agent learns the id must come from proton_list_emails or proton_search_emails, which establishes a prerequisite call chain. There is no explicit when-to-use/when-not guidance or statement about which sibling to prefer for different needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proton_search_emailsBInspect
Searches one folder of a Proton Mail account for query in the messages' headers and text, newest first.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose useful behavior: the search is scoped to a single folder, matches headers and text, and returns newest-first. It omits connection/auth prerequisites (proton_connect), result caps or pagination, and whether it fails when no folder is specified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the verb and resource, and every clause (scope, match fields, sort order) adds information. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no output schema and no annotations, the description covers scope, match fields, and ordering. It is slightly incomplete because it never clarifies how the search target/folder is supplied given the empty parameter list, nor how many results come back.
Complex tools with many parameters or behaviors need more documentation. 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 declares zero parameters, which normally sets a baseline of 4, but the description references a `query` placeholder and a folder target that do not exist in the schema at all. That mismatch is actively misleading: an agent may attempt to pass `query` or a folder argument that the schema will reject.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource ('Searches one folder of a Proton Mail account'), and adds scope detail: what is searched (message headers and text) and the ordering (newest first). It is clearly distinguishable from proton_list_emails and proton_read_email, though it never names a sibling explicitly to route the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use guidance and no alternatives named, despite many sibling search tools (thunderbird_search_emails, outlook_search_emails, search_emails, proton_list_emails). The phrase 'one folder' faintly implies the caller must already know a folder, but no condition for choosing this over proton_list_emails is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proton_send_emailBInspect
Sends a plain-text message from a connected Proton Mail address, through Proton Mail Bridge on this computer.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add useful context: plain-text only (no HTML/attachments implied) and the dependency on Proton Mail Bridge running locally. It omits auth/connection requirements, failure behavior, and — critically — says nothing about how message content is supplied despite a 0-parameter schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; every clause is informative (verb, medium, channel, local dependency). It is tight, though arguably under-specified rather than optimally sized for a send operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a send tool with zero annotations and no output schema, the description covers the channel and the plain-text constraint but leaves the biggest questions unanswered: how the message content is passed, whether sending is confirmed, and how it relates to the other email-sending siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is 0, so the baseline of 4 applies. There is nothing for the description to disambiguate, though it also does not explain how recipient/subject/body are conveyed, which is a latent ambiguity given the empty 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?
Specific verb (sends) plus resource (plain-text message) plus channel scope (a connected Proton Mail address, via Proton Mail Bridge). The Proton-specific channel distinguishes it in practice from m365_send_email / outlook_send_email / thunderbird_send_email, but the description never names or contrasts with those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies a prerequisite (a connected Proton address, Bridge running on this computer) but gives no when-to-use / when-not, and no routing guidance against the many other send-email siblings. An agent gets a precondition hint but no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_emailCInspect
Use this when the user wants the full content of an email that lives in the Mac's Apple Mail (message ID fr...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It fails to mention whether reading marks the email as read, requires permissions, or works offline. The description only states the input condition, not the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it is truncated (ends with 'message ID fr...'). As presented, it is incomplete, reducing its effectiveness. A full sentence would score higher.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 no annotations, the description is the sole source of context. It fails to explain the required input (message ID) properly due to schema mismatch, and does not describe the return value or side effects. The tool is simple but the description is insufficiently 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 description implies a 'message ID' parameter is required, but the input schema is empty (no parameters). This is a serious inconsistency: the description suggests an input that the schema does not define, which would confuse an AI agent. With 0 parameters and 100% schema coverage, the description should not add parameter semantics, but it misleadingly does.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads the full content of an email from Apple Mail, distinguishing it from list_emails (which lists headers) and search_emails. The verb 'read' combined with 'full content' makes the purpose specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description begins with 'Use this when the user wants the full content of an email', which provides a clear when-to-use. However, it does not mention when not to use it or contrast with alternatives like list_emails or search_emails.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_messagesCInspect
Reads messages from an iMessage conversation by chat ID or contact name.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description claims reading by 'chat ID or contact name' but the input schema has zero parameters, creating a contradiction. No disclosure of read limits, permissions, or error handling.
Agents need to know what a tool does to the 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 is concise but omits critical details (e.g., how to specify chat). Not verbose, but incomplete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, description fails to explain essential aspects: how parameters are supplied, return values, error cases, and differentiation from siblings beyond mentioning iMessage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Baseline is 4 due to zero parameters, but description adds semantic meaning that conflicts with schema (claims parameters exist but schema says none). This misleads rather than clarifies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Name and description clearly state the tool reads messages from an iMessage conversation, distinguishing it from sibling tools for other platforms like Signal, Teams, WhatsApp, and Zalo. The verb 'reads' and resource 'messages' 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?
Implicitly specifies iMessage context, but no explicit guidance on when to use this versus alternatives (e.g., signal_read_messages). Also missing prerequisites like requiring a valid chat ID or contact name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_noteCInspect
Reads the full content of a note by name or ID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits. It implies a read-only operation (reading full content) but does not address permissions, error states, or the return value format. The contradiction about parameters further reduces clarity.
Agents need to know what a tool does to the 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, making it concise. However, it omits critical details (e.g., how to specify the note) and is not well-structured to front-load essential information given the conflict with schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description should explain what 'full content' includes and any prerequisites. The parameter mismatch makes the tool ambiguous, leaving the agent without enough context 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?
The input schema is empty (100% covered), but the description claims the tool operates 'by name or ID'—suggesting missing parameters. This is misleading and contradicts the schema, providing no useful semantic meaning beyond what the bare schema offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads the full content of a note, distinguishing it from sibling tools like create_note, update_note, or search_notes. It mentions the key identifiers 'name or ID', though this conflicts with the empty input 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 is provided on when to use this tool versus alternatives such as search_notes or list_notes. The description offers no contextual cues to help the agent decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_deleteBInspect
Use this when the user wants to remove one of THEIR saved recipes/skills (the manifests under ~/.local/shar...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions removing 'manifests under ~/.local/shar...' but does not explain if the operation is reversible, requires confirmation, or what happens to dependencies. The cut-off text leaves ambiguity about the exact storage location and side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and appears cut off, sacrificing completeness for brevity. It lacks structure and fails to cover essential details beyond the basic purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, annotations, and zero parameters, the description should fully explain the tool's functionality. It partially does but leaves critical gaps (e.g., how to specify the recipe, what the outcome looks like).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, but the description does not clarify how the tool identifies which recipe to delete (e.g., relies on context or previous selection). Without this explanation, the agent may not understand how to invoke the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'remove' and the resource 'saved recipes/skills', distinguishing it from sibling tools like recipe_install (add) or recipe_list (list). The phrase 'one of THEIR saved recipes' clarifies 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 specifies when to use ('when the user wants to remove one of THEIR saved recipes/skills'). It does not explicitly state when not to use or list alternatives, but the context is clear and no sibling tool offers similar deletion functionality.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_discoverBInspect
Browses installable community SKILLS — ready-made LMCP workflows other people published (a morning brief, i...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. It only mentions 'browses', which implies a read-only operation, but does not explain if it lists, searches, or filters. No details on authentication, rate limits, 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?
The description is very short (one sentence fragment), and front-loaded with the action. However, it is truncated and incomplete, which is a structural flaw. Every word earns its place, but the lack of completeness reduces conciseness effectiveness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 output schema and with a truncated description, the tool is incomplete. A user or agent cannot fully understand what the tool returns or how to use the result. The description should clarify the output (list of recipes) and any filtering criteria.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and schema description coverage is 100% (trivially). According to the rubric, 0 parameters baseline is 4. The description adds no parameter info since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it browses installable community SKILLS (ready-made LMCP workflows), which is a specific verb and resource. It gives an example of a morning brief, but the description is truncated, leaving ambiguity. It distinguishes from siblings like recipe_install and recipe_list, but not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 or not. Implied usage is when the user wants to discover new recipes. No exclusion criteria or alternatives are provided, relying on the tool name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_exportBInspect
Exports a saved SKILL (recipe) as a single portable token the user can send to someone else — paste it in a...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It mentions 'single portable token' but fails to describe token format, length, or whether the export has side effects (e.g., deleting the original). The incomplete sentence leaves out important details about what exactly the token is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise but ends abruptly as an incomplete sentence. It is front-loaded with the main action, but the cut-off detracts from proper structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description is mostly sufficient. However, the incomplete sentence leaves the explanation hanging, and the token's nature is not fully described, creating a minor completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and schema description coverage is 100% by default. Per guidelines, baseline is 4. The description adds meaning by explaining the action, but the cut-off prevents full context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports a saved SKILL (recipe) as a single portable token for sharing. This verb+resource combination distinguishes it from sibling tools like recipe_import (import token) and recipe_list (list recipes). The incomplete sentence does not hinder understanding the primary purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to create a shareable token, but it does not explicitly state when to use it versus alternatives (e.g., recipe_get for details). No guidance on when not to use or prerequisites is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_getBInspect
Returns the full manifest of a recipe by name.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should fully disclose behavior, but it lacks any mention of side effects, authentication requirements, or error conditions (e.g., what if recipe not found). Read-only nature is implied but not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description is minimal but adequate. It doesn't specify what a 'manifest' includes, which could be ambiguous for an agent unfamiliar with the domain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters (100% coverage), but the description implies a 'name' parameter exists. This discrepancy reduces clarity. The description adds no useful parameter semantics and may mislead.
Input schemas describe structure but not intent. Descriptions should explain 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 (returns) and resource (full manifest of a recipe by name). This distinguishes it from sibling tools like recipe_list (listing names) and recipe_discover (discovering recipes).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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., recipe_list to find a name first). No prerequisites or exclusions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_importCInspect
Installs a SKILL someone shared with you — pass the skill_token from their recipe_export (or a raw recipe m...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states 'Installs a SKILL', which indicates a write operation. No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not explain any side effects (e.g., whether it replaces an existing skill), required permissions, or the state after installation. This lack of detail results in low transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, consisting of a single incomplete sentence. While brevity is valued, the truncation suggests it is not intentionally concise but rather cut off. Essential information is missing, and the structure does not effectively front-load key details. This is under-specification rather than concise communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, no output schema, and no annotations, the description must provide complete context. It fails to explain what 'install' means, what the user should expect as output, how to obtain the skill_token, or any prerequisites. The truncated ending further contributes to incompleteness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, yet the description instructs the user to 'pass the skill_token from their recipe_export'. This is a direct contradiction, as there is no parameter to accept that token. The agent receiving this tool definition would be misled into thinking a token parameter exists, making this dimension score very low.
Input schemas describe structure but not intent. Descriptions should explain 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 that the tool 'Installs a SKILL someone shared with you', which clearly identifies the verb (install) and resource (shared skill). It also references 'recipe_export', distinguishing it from other recipe tools like recipe_install or recipe_discover. However, the truncation at the end slightly reduces clarity, as it appears to be an incomplete sentence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this tool is used when someone shares a skill via recipe_export, providing some usage context. However, it does not explicitly state when not to use it or compare it to alternatives like recipe_install. Given the numerous sibling recipe tools, more explicit guidance would improve the score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_installAInspect
Installs a community SKILL by id (from recipe_discover) onto this Mac so recipe_run can use it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits like system modification, permissions, reversibility, or side effects. It only says 'installs onto this Mac' without elaboration on what installation entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence that front-loads the verb 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?
With no output schema and no annotations, the description is too brief for a state-modifying tool. It fails to clarify how the 'id' is obtained or passed, and does not explain what happens upon installation (e.g., idempotency, overwrite 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?
The input schema has zero properties, but the description refers to an 'id' parameter, implying the schema is missing this required input. Schema coverage is 100% only because the schema is empty, but the description contradicts the schema structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool installs a community SKILL by id, sourced from recipe_discover, enabling recipe_run to use it. It distinguishes the tool from siblings like recipe_discover (discovery) and recipe_run (execution).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 a workflow: discover (recipe_discover) → install (this) → run (recipe_run). It does not explicitly state when not to use it or mention alternatives, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_listBInspect
Lists the user's reusable SKILLS — saved recipes (an ordered sequence of LMCP tool calls with parameters),...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden. It indicates a harmless listing operation (non-destructive), but does not explicitly state read-only behavior or any side effects. Minimal but acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise but appears truncated (ends with '...'), which undermines completeness. It lacks full 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 no output schema, the description should clarify what the returned list contains (e.g., names, IDs). It only mentions 'reusable SKILLS' without detail, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline is 4. The description adds no parameter semantics since none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists the user's reusable SKILLS (saved recipes), indicating a retrieval operation. However, it does not differentiate from sibling tools like 'recipe_get' or 'recipe_discover', missing an opportunity to clarify 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 guidelines are provided on when to use this tool versus alternatives, nor any conditions for usage. The agent is left without context for appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_publishCInspect
Submits one of YOUR saved recipes/skills to the community moderation queue for Dario's review — this does N...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations and no output schema, so the description carries the full burden. It does disclose the meaningful behavioral fact that the recipe leaves the user's private space and enters a community moderation queue for human review, which is real value. However, the truncated trailing clause presumably covered further behavior (reversibility, what happens on approval/rejection, required permissions) that is now missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
What is present is a single front-loaded sentence with no filler, which is the right shape. The sentence is cut off mid-word however, so the definition as delivered is structurally incomplete rather than 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?
This is a mutating, externally-visible action with no annotations and no output schema to fall back on, so the description needs to carry the full behavioral story. It names the destination and reviewer but omits irreversibility, approval flow, and preconditions, and the text is truncated before those details could appear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter surface for the description to document or for the schema to obscure. Baseline 4 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 visible text states a specific verb and resource - submitting a saved recipe/skill - and names the destination, the community moderation queue for Dario's review. That distinguishes it from siblings like recipe_save, recipe_run, and recipe_install. The sentence is truncated mid-clause ('this does N...'), so the scope is clear but incomplete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 explicit statement of when to publish versus when to use recipe_save, recipe_export, or recipe_install, nor any prerequisites such as needing the recipe saved first. The submission-to-review framing implies intent but leaves the agent to infer the trigger conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_runCInspect
Executes a recipe end to end: binds params, runs each step's tool in order via the registry, persists the r...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions running steps and persisting, but is truncated and does not cover side effects, permissions, or destructiveness.
Agents need to know what a tool does to the 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 but is truncated, so it is not fully concise. It could be more complete without adding length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex (executing a recipe), and the description is incomplete. It does not explain what a recipe is, the lifecycle, or expected output. Given no output schema or annotations, more context 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?
There are no parameters, so the input schema fully covers parameter semantics. The description adds no parameter info, which is acceptable given zero parameters (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 clearly states the tool executes a recipe end to end, binding params and running steps, which indicates a specific verb and resource. However, it is truncated, leaving some ambiguity about the exact 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 siblings like recipe_discover, recipe_list, or recipe_delete. The description does not mention prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_runsAInspect
Shows the history of past recipe runs and their results (recorded by recipe_run), so you can reuse, compare...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so description carries burden. It explicitly states it is a read-only operation ('shows'), with no mention of side effects. However, it lacks details on whether data is real-time or cached, and what exactly constitutes 'results'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short single sentence that conveys purpose efficiently, though truncated. No extra fluff, but could be completed for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema or parameters, description should hint at output structure (e.g., fields returned). It says 'and their results' but doesn't specify what that includes (success, timestamps, output data). Also no mention of sorting or limits. Incomplete for a data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no parameters and schema coverage is 100% trivially. Description does not need to add parameter info, but it also doesn't confirm that no input is needed. Still, no missing 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?
Description clearly states the tool shows history of recipe runs and their results, distinguishing it from other recipe tools like recipe_run (executes) and recipe_list (lists recipes). Verb 'shows' plus resource 'history of past recipe runs' is specific and informative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for reviewing past runs to reuse or compare, but it does not explicitly state when to use this tool instead of sibling tools like recipe_list or recipe_get. No prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_saveCInspect
Saves a reusable SKILL — a named recipe (an ordered sequence of LMCP tool calls with parameters) — to this...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must inform behavioral traits. It only states that a recipe is saved, but does not disclose whether it overwrites, requires authentication, has side effects, or any rate limits. The cut-off sentence fails to add context beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single incomplete sentence ('to this...'). It lacks front-loading of critical info and is not well-structured. Even if complete, it would be minimal, but the truncation makes it ineffective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and no annotations, the description should comprehensively explain the tool's operation. It fails to specify how to input the recipe, what the output is, or any constraints (e.g., naming rules, size limits). The cut-off text exacerbates this gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty (no parameters), and schema description coverage is 100%. The description mentions a 'named recipe' with parameters, but does not explain how the recipe is provided (e.g., via context or a separate mechanism). Since there are no formal parameters, the description could clarify the implicit input; it does not, leaving ambiguity.
Input schemas describe structure but not intent. Descriptions should explain 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 saves a reusable SKILL (recipe) with explicit definition of a recipe as an ordered sequence of LMCP tool calls with parameters. It is specific about the resource and action, and the name 'recipe_save' aligns with sibling family. However, the description is cut off at 'to this...', slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use save versus related tools like recipe_import, recipe_install, or recipe_run. The description does not mention prerequisites, contexts, or alternatives, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_markerDInspect
Drops a named marker into the active recording's timeline.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims a 'named marker' but the input schema has no parameter for the name, creating a contradiction. Additionally, there are no annotations, so the description fails to disclose important behavioral traits such as side effects or requirements (e.g., active recording must exist).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise, but it omits critical information about the missing name parameter and usage context, making it insufficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a misleading description, the tool is severely under-described. The agent cannot infer prerequisites, return value, or behavior when no recording is active.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and is trivially 100% covered, but the description implies a name parameter that does not exist, misleading the agent about how to invoke the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'drops a named marker into the active recording's timeline,' which is a clear verb+resource, but the input schema has no parameters, contradicting the notion of a 'named' marker. This inconsistency makes the purpose less 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?
No guidance is provided on when to use this tool versus alternatives, nor are there any prerequisites or context for using the marker tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_reminder_folderCInspect
Renames an existing Apple Reminders list.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral details, but it only states the action. It doesn't explain what happens if the list doesn't exist, whether the operation is reversible, or what the response is. This leaves critical safety and success/failure behavior undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no redundancy, but it omits essential context such as required inputs and behavior. It is concise but arguably too sparse for a meaningful tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 description lacks information about how to specify which reminder list to rename and what new name to use, and there are no annotations or output schema to fill the gap. The agent cannot correctly invoke the tool based on this description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is no parameter information to elaborate. Under the '0 params = baseline 4' guideline, the description's minimal mention is sufficient for this dimension, though the lack of required inputs is a broader usability issue.
Input schemas describe structure but not intent. Descriptions should explain 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 action ('Renames') and the object ('existing Apple Reminders list'), differentiating it from create/delete/get siblings. The term 'folder' in the name versus 'list' in the description introduces a minor ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no guidance on when to use this tool versus other reminder tools, no prerequisites (e.g., list existence), and no exclusions. The sibling set includes related tools like create_reminder_list and delete_reminder_folder, but no alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reply_emailBInspect
Use this when the user wants to reply to an email that lives in the Mac's Apple Mail (message ID from list_...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits, but it only says 'reply' without explaining whether it sends immediately, opens a compose window, or requires additional input. This omission is significant for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence starting with 'Use this when...', which is front-loaded and direct. However, it appears truncated, reducing its effectiveness. Assuming completion, it would be concise, but the cut-off warrants a moderate score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description should provide a complete picture. It only mentions the platform and basic action, omitting details on behavior, prerequisites, or return values. The tool's simplicity does not fully compensate for missing 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?
The input schema has no parameters, but the description implies a required 'message ID' from list_emails, creating confusion. With 0 parameters, the schema coverage is 100% trivially, but the description contradicts the schema by suggesting an unlisted parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (reply) and the specific resource (Apple Mail emails), distinguishing it from sibling tools like m365_reply_email. The truncated reference to 'list_...' slightly reduces clarity but still conveys the 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 explicitly specifies when to use the tool (to reply to Apple Mail emails), providing clear usage context. It does not explicitly state when not to use it, but the platform specificity inherently excludes other email services.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_frictionAInspect
Send an ANONYMOUS, content-free signal when an LMCP tool fails, returns nothing useful, the user seems frus...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key traits: it is anonymous, content-free, and is a signal (likely telemetry). However, it is truncated and does not mention what happens after sending (e.g., return value, logging, or user impact). With no annotations, the description carries the full burden, and missing the conclusion leaves some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The visible portion is a single, run-on sentence listing conditions, and it is clearly cut off mid-word. While it is not unnecessarily verbose, the truncation and awkward listing make it less structured than an ideal description. It earns a middle score due to its brevity but loses points for incompleteness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 tool, the description gives necessary trigger conditions and signals that it is anonymous and content-free. However, the truncation means it lacks a conclusion (e.g., what the agent should expect afterward). With no output schema, the description should clarify the tool's effects, and it does not fully do so.
Complex tools with many parameters or behaviors need more documentation. 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 schema is inherently complete (100% coverage). The description does not need to explain parameters, and it doesn't. Per the baseline for 0 params, a score of 4 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 sends an anonymous, content-free signal when an LMCP tool fails or returns nothing useful. It uses a specific verb ('send') and resource ('signal') with trigger conditions, making the purpose clear. It doesn't fully distinguish from sibling 'report_problem', but the 'content-free signal' wording gives it a distinct identity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use the tool: 'when an LMCP tool fails, returns nothing useful, the user seems frustrated...' This provides clear context for invocation. It does not mention alternatives or exclusions, but the trigger conditions are specific enough for an agent to decide correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_problemCInspect
Sends a problem report, feature request, or integration request to the LMCP team — for when a user wants to...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a side effect by saying 'Sends', but it does not explain the mechanism, required input, or consequences of the action. There is no mention of authentication, rate limits, or outcomes, leaving the agent without sufficient behavioral 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 consists of a single sentence that cuts off mid-thought ('...'), making it incomplete and poorly structured. While brief, the truncation undermines conciseness, and the content is under-specified rather than efficiently complete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no parameters, no output schema, and no annotations. The description only covers the core action and object, omitting how to invoke it, what the user needs to provide, and what the outcome looks like. For a zero-parameter tool, the description is surprisingly incomplete, and overlap with 'request_feature' is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero properties, so schema coverage is 100%, and the baseline for 0 params is 4. The description doesn't address how the report content is supplied, but it also doesn't mislead; given the absence of parameters, this is acceptable.
Input schemas describe structure but not intent. Descriptions should explain 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 'Sends a problem report, feature request, or integration request to the LMCP team', identifying the action and recipient. However, the sentence is truncated at '— for when a user wants to...', and it doesn't distinguish from the sibling tool 'request_feature', which likely overlaps in purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase '— for when a user wants to...' begins to provide usage context but is incomplete, leaving the actual conditions ambiguous. No alternatives or exclusions are mentioned, such as when to use 'request_feature' instead, providing very little guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_featureCInspect
Submits a feature request to the LMCP team — a new capability, a tool that doesn't exist yet, or an app/int...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as side effects, permissions needed, or rate limits. Minimal disclosure leaves the agent uninformed.
Agents need to know what a tool does to the 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 short but incomplete due to truncation. It conveys the core idea efficiently but lacks a complete sentence structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and a simple function, the description provides minimal context. It does not describe what happens after submission or any confirmation, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters; the input schema is empty with 100% coverage. The description does not need to add parameter details, and it meets the baseline for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it submits a feature request to the LMCP team, listing examples. However, the text cuts off, making it incomplete. The general purpose is clear, but specificity and completeness are lacking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. Among many sibling tools, this is unique, but the description does not provide context for its use or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_diagnosticsBInspect
Runs a fast health check of all LMCP integrations on this machine, including the AI apps connected to LMCP...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context by noting the check is 'fast' and covers 'all LMCP integrations' including 'AI apps connected to LMCP'. However, with no annotations, it does not disclose what results look like, whether anything is modified, or what success/failure means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It earns its place by naming the scope and speed of the diagnostic. The trailing ellipsis suggests the text may be truncated, which slightly detracts from 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?
For a zero-parameter tool, the description gives the general purpose but omits return-value details, expected output, and any guidance distinguishing it from closely related diagnostic siblings. Since there is no output schema and no annotations, the description carries more responsibility and falls short.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is already fully covered by that fact. The description adds no parameter detail, but none is needed because there are no parameters 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?
The description clearly states a specific action ('Runs a fast health check') and a specific resource ('all LMCP integrations on this machine, including the AI apps connected to LMCP'). However, it does not explicitly differentiate from similar siblings like lmcp_doctor or lmcp_upgrade_diagnostics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus lmcp_doctor, lmcp_state, lmcp_upgrade_diagnostics, or other diagnostic tools. The word 'fast' implies a quick check, but no explicit when/when-not guidance or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_qaBInspect
Returns a QA test protocol listing every LMCP tool to test, with expected inputs and pass/fail criteria.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but does disclose the return payload ('a QA test protocol listing every LMCP tool... with expected inputs and pass/fail criteria'). It does not state that the call is read-only/side-effect-free, nor whether the protocol is static or dynamically generated from the current tool set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states the resource and the contents of the return value with no filler. Nothing is wasted or buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter introspection tool this is close to adequate, and the description covers the return contents in lieu of an output schema. However, it omits the safety profile (read-only vs mutating) and any hint of how the protocol feeds the downstream submit_qa_report step, leaving the workflow slightly underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description correctly implies no user-supplied arguments are needed, and there is no schema-level parameter meaning left to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: it returns a QA test protocol enumerating every LMCP tool with expected inputs and pass/fail criteria. That is far more informative than a tautology, but it never names its natural partner submit_qa_report, so the boundary between generating a protocol and submitting a report is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 explicit when-to-use or when-not-to-use statement, and no alternatives are named. An agent can infer it belongs to a QA workflow alongside submit_qa_report and run_diagnostics, but the description provides no routing guidance of its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_terminal_commandBInspect
Runs a shell command on the user's Mac and returns its output.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose behavioral traits beyond stating it runs a command and returns output. No annotations are provided. Important details like potential destructiveness, permission requirements, sandboxing, or handling of long-running commands are omitted, which is a significant gap for a command execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 14 words with no unnecessary information. It is front-loaded and efficiently communicates the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no parameters and no output schema, the description is too minimal. It fails to mention critical context like the security implications, that any shell command can be run, or what the output format (stdout/stderr) looks like. A command execution tool requires more completeness for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no properties (0 parameters), and schema description coverage is 100%. The description does not need to add parameter information since none exist. Per calibration, 0 parameters yields a baseline of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs a shell command on the user's Mac and returns output, using specific verb 'Runs' and resource 'shell command on the user's Mac'. It distinguishes from sibling tools that focus on browsers, file operations, or specific applications.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when a shell command is needed versus using a dedicated tool like fs_list or safari_navigate. No prerequisites, limitations, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_attachmentCInspect
Saves an attachment from an email to disk.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It fails to mention the destination path on disk, naming conventions, overwrite behavior, or any side effects. Additionally, with zero parameters, the tool relies on implicit context (likely the last read email), but this is not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that communicates the core action efficiently. However, the brevity sacrifices necessary detail for a function with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 no output schema or annotations, the description should provide more context about how the tool determines which attachment, where it saves to, and any constraints. The current description is insufficient for an AI agent to use correctly without additional clues.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero properties (100% schema coverage). With no parameters, the description should clarify how the attachment is identified (e.g., from context). It does not, leaving an implicit dependency unexplained. Baseline for no parameters is 4, but the lack of explanation reduces the score.
Input schemas describe structure but not intent. Descriptions should explain 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 saves an attachment from an email to disk. The verb 'saves' and resource 'attachment from an email' make the action unambiguous. Among many email-related siblings, this tool is distinct in that it handles attachments. However, it doesn't specify which attachment is targeted (e.g., from the most recently read email).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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, nor any prerequisites (e.g., needing to have read an email first). There is no mention of conditions under which this tool should or should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_record_startCInspect
Begins a screen recording (ScreenCaptureKit) of a display, window, or region.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full responsibility for conveying behavioral traits. It does not disclose permissions, side effects, or what happens if a recording is already in progress. The description lacks essential behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise but overly terse. It could include more detail without being verbose, such as mentioning default behavior or how to specify the target. The structure is acceptable but lacks necessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, output schema, and parameters, the description should provide more context about recording behavior, resolution settings, or constraints. It is insufficient for an agent to understand the tool's full usage and implications.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, but the description mentions recording 'a display, window, or region,' implying the need for target selection, which is not reflected in the schema. This inconsistency undermines clarity. Baseline of 4 for zero parameters is not warranted due to misleading information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Begins a screen recording (ScreenCaptureKit) of a display, window, or region.' The verb 'begins' is specific, and it identifies the resource (screen recording) and targets (display, window, region). It distinguishes itself from sibling tools like screen_record_status and screen_record_stop.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 screenshot_capture or video recording tools. There is no mention of prerequisites or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_record_statusAInspect
Reports whether a recording is active, with the session_id, elapsed_ms, output path, and marker_count.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even without annotations, the description fully discloses that the tool queries recording status and returns specific fields (session_id, elapsed_ms, etc.), which provides adequate behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the main action and lists return fields succinctly. 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?
Given no output schema, the description completely covers the return values and the tool's purpose. It is fully adequate for the agent to understand and 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?
There are no parameters, so the description does not need to add parameter semantics. The schema coverage is 100% trivial, and the description is not burdened with parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reports whether a recording is active and lists the returned fields. It distinguishes itself from sibling tools like screen_record_start and screen_record_stop by focusing on status checking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 checking recording status, but does not explicitly state when to use it or mention alternatives. Given the sibling context, usage is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_record_stopAInspect
Stops the active recording, finalizes the .mov, and writes the marker timeline JSON (§6) next to it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the finalization of .mov and writing of JSON, but does not mention side effects like file overwriting, required permissions, or whether the recording must be active. The description is adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the primary action, and contains no extraneous information. Every part is essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and no annotations, the description is largely sufficient. It covers the main purpose and outputs, but could be improved by explicitly stating the prerequisite (an active recording must exist) for complete 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?
There are no parameters, so schema coverage is 100%. The description doesn't need to add parameter details, but it effectively explains the tool's action and outputs, adding value beyond the empty 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 verb 'stops' and the resource 'active recording', and specifies the outputs: '.mov' and 'marker timeline JSON'. It distinguishes itself from siblings like screen_record_start and screen_record_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use after a recording has started by mentioning 'active recording', but does not explicitly state when to use or not use this tool, nor does it reference alternatives like screen_record_start or screen_record_status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screenshot_captureAInspect
Captures a single frame of a display, window, or region to a PNG.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Does not disclose how target is selected, whether it saves to file or returns data, or any side effects. Minimal behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 10 words, perfectly concise with no superfluous information. Front-loaded with the verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, description does not explain return value format (e.g., file path, base64). For a simple capture tool, some return details are expected. Adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters defined, so description does not need to explain them. Baseline for 0 params is 4. Description mentions capture targets but adds no parameter-related 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 uses specific verb 'Captures' and resources 'display, window, or region' with output format 'PNG'. Clearly distinguishes from screen recording siblings and browser-specific screenshots.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives like screen_record_start or web_screenshot. Usage is implied for static captures, but lacks direct comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_contactsCInspect
Searches the Mac's Contacts app (Contacts.app, local/iCloud) by name, email, or phone number.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims search by name, email, or phone number, but the input schema has zero properties, making it impossible to provide these inputs. This contradiction misleads the agent about the tool's actual behavior. No annotations are provided to clarify.
Agents need to know what a tool does to the 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. However, it is under-specified given the missing parameters, making it less useful. It could be improved with additional context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no parameters and no output schema, yet the description implies search requires input. This incompleteness means the tool cannot be used as described. Context signals indicate zero parameters, so the description must explain how to perform the search, but it fails to do so.
Complex tools with many parameters or behaviors need more documentation. 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%, but the description implies parameters for name, email, or phone number. This contradiction adds no value and misleads. The description should clarify how search queries are specified, but it doesn't.
Input schemas describe structure but not intent. Descriptions should explain 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 searches the Mac's Contacts app by name, email, or phone number, providing a specific verb and resource. However, it does not differentiate from sibling tools like 'get_contact' or 'list_contacts', which 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?
The description provides no guidance on when to use this tool versus alternatives such as 'list_contacts' or 'm365_search_contacts'. There is no 'when not to use' or context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_emailsBInspect
Use this when the user wants to find specific emails on this Mac (Apple Mail — any account added to Mail.app).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fails to disclose behavioral traits like read-only status, permissions, or side effects. It only states the purpose.
Agents need to know what a tool does to the 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, direct and without redundancy. It is concise and front-loaded, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks details on search input mechanism, output format, and limitations. For a search tool with zero parameters and no output schema, this is 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?
There are zero parameters, so baseline score 4 applies. The description does not need to explain parameters, but could have clarified how search input is provided (e.g., from conversation context).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds specific emails on Apple Mail. It is specific but does not differentiate from sibling tools like list_emails or m365_search_emails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 a clear use case ('when the user wants to find specific emails') but does not offer exclusions or alternatives, such as when to use list_emails or m365_search_emails.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_evernoteBInspect
Search your Evernote notes by keyword, tag, or notebook.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not state whether this is read-only, whether an Evernote connection is required, how many results are returned, search scope, or pagination behavior. It only restates the search facets.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It conveys the core purpose efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no annotations, no output schema, and no sibling differentiation, the description is too sparse. It does not explain how search criteria are supplied (despite naming keyword, tag, notebook), whether Evernote must be connected, or what results look like.
Complex tools with many parameters or behaviors need more documentation. 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 0 parameters and 100% coverage, so the baseline is 4. The description mentions keyword, tag, and notebook as search facets but cannot map them to actual parameters, adding little beyond the empty 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?
States a specific verb 'Search' and resource 'Evernote notes', with search facets (keyword, tag, notebook). It is clear but does not distinguish itself from sibling tools like search_notes or list_notes, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives named (e.g., search_notes, evernote_read_note, evernote_list_notebooks), and no prerequisite such as connecting Evernote first. Only an implied use case is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_m365_directoryDInspect
Search your organization's Microsoft 365 directory for users by name or email.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose any behavioral traits. It claims to search by name/email but lacks parameters, making the tool's actual behavior unclear and potentially misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but under-specified. It lacks necessary details about how to use the tool, making it insufficient for effective use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations, an empty input schema, and no output schema, the description fails to provide essential context. The tool's purpose is stated but cannot be realized without parameters, leading to incomplete guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty, yet the description implies parameters for name or email. This contradiction means the description adds no value and may mislead an AI agent about how to invoke the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it searches the M365 directory for users by name or email, which is specific. However, the input schema has no parameters, creating confusion about how the search is performed. It lacks explicit differentiation from sibling tools like 'search_contacts' or 'm365_search_contacts'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'get_m365_person' or 'list_contacts'. No context on prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_messagesBInspect
Searches iMessage conversations by content, sender name, or date range.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states the search criteria without mentioning any side effects, permissions needed, or limitations like search scope or result format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence clearly conveying the tool's action and scope. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and an empty input schema, the description is insufficient. It fails to explain what the tool returns, how to specify search criteria, or any constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, but the description implies parameters for content, sender name, and date range. This contradiction adds confusion rather than clarity. The description does not help understand how to structure a valid input.
Input schemas describe structure but not intent. Descriptions should explain 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 searches iMessage conversations by content, sender name, or date range. It distinguishes this tool from sibling tools that search other resources (e.g., emails, contacts, notes).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for iMessage searches but does not explicitly differentiate from other message search tools like signal_search_messages or slack_search_messages. No guidance on when not to use it or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_notesBInspect
Searches Apple Notes by title or content.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It states the tool searches by title or content but does not explain case sensitivity, matching behavior, limit on results, or whether it scans entire note content. This minimal detail is insufficient for an AI agent to anticipate behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is appropriately sized 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 no output schema and no annotations, the description is the sole source of context. It lacks information about return format, result count, error conditions, and integration with note-specific behavior. For a zero-parameter tool, this is insufficient for full contextual 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?
The input schema has no parameters (0 params, 100% coverage), so the baseline is 4. The description mentions searching by title or content, which adds no parameter-specific meaning since there are none. This is acceptable for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches Apple Notes by title or content, which is a specific verb and resource. However, it does not distinguish itself from sibling tools like list_notes or read_note, which may also retrieve notes but without search semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as list_notes or read_note. It does not mention prerequisites, limitations, or scenarios where alternative tools are preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_omnifocus_tasksCInspect
Searches OmniFocus tasks by name or note content.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It does not explain how the search behaves (e.g., case sensitivity, matching logic, or return format). The empty input schema contradicts the described functionality, severely undermining transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundancy, but it is too brief given the critical gap between its claims and the actual input schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple in concept but the description fails to resolve the contradiction with the schema. An agent cannot determine how to perform a search without input parameters, making the definition 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 description implies parameters for name or note content, but the input schema has zero parameters. This misleading mismatch confuses the agent about how to invoke the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool searches OmniFocus tasks by name or note content, which distinguishes it from list_omnifocus_tasks. However, the input schema has no parameters, so the purpose is overshadowed by the inconsistency.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 over alternatives like list_omnifocus_tasks or other search tools. The description lacks context for optimal usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_emailAInspect
Use this when the user wants to send an email from an account configured in the Mac's Apple Mail.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description fails to disclose any behavioral traits beyond the basic action, such as authentication requirements, whether accounts need to be preconfigured, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the key intent, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description is reasonably complete; it could be improved by noting return behavior or prerequisites.
Complex tools with many parameters or behaviors need more documentation. 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 zero parameters and schema coverage is 100%; description adds no parameter information but is adequate given no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb (send) and resource (email) and distinguishes from sibling tools like m365_send_email by specifying the Apple Mail 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 states when to use (user wants to send email from Apple Mail), but does not mention when not to use or list alternative tools like m365_send_email or reply_email.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_messageCInspect
Sends an iMessage via the Mac's Messages.app to a recipient handle (phone number with country code, e.g.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description only states the action but does not disclose behavioral traits such as success/failure behavior, prerequisites, 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?
The description is a single incomplete sentence, poorly structured and not concise in a useful manner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no parameters, no output schema, and an incomplete description, making it inadequate for an AI agent to understand how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and the incomplete description does not explain how recipient or message content is specified, failing to add value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it sends an iMessage via the Mac's Messages.app, but it is incomplete (cuts off) and lacks parameter details, reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus sibling tools like signal_send_message or whatsapp_send_message.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
servicenow_add_commentCInspect
Add a comment or work note to a ServiceNow incident.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It fails to disclose any behavioral traits such as authentication needs, idempotency, or whether comments are appended or overwritten.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While very concise, the description omits essential information, making it insufficient for proper tool usage. It sacrifices completeness 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 that the tool has no parameters, no output schema, and no annotations, the description must compensate. It does not, leaving critical gaps about how to specify the incident and what constitutes a valid comment or work note.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty, but the description implies parameters (incident identifier, comment text) without explaining how they are provided. This undermines the agent's ability to invoke the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (add) and the resource (comment or work note to a ServiceNow incident). However, it does not specify how the incident is identified, which is a gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 other ServiceNow tools like servicenow_update_incident. No context on prerequisites or whether the incident must be previously selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
servicenow_create_incidentBInspect
Creates a real incident in the connected ServiceNow instance; the ticket is visible to the service desk as...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It does add one genuinely valuable behavioral fact — the ticket is a real record visible to the service desk, not a sandbox artifact — but the sentence is cut off, so permission requirements, whether the call is idempotent, and what happens on failure are all unstated.
Agents need to know what a tool does to the 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 entry is short but ends mid-sentence ('...visible to the service desk as...'), which is a structural defect rather than conciseness. The one complete clause is front-loaded and useful, but the fragment leaves the definition broken.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 annotations, no output schema, no parameters, and a truncated description leave an agent without the information needed to invoke a write operation against a live external system. The external-visibility warning is the only completeness the definition achieves.
Complex tools with many parameters or behaviors need more documentation. 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 declares zero parameters and 100% coverage, so there is nothing for the description to clarify; per the 0-param baseline this sits at 4. However, the description never explains where the incident's title, description, or caller data come from, which is a notable omission for a create tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Creates a real incident in the connected ServiceNow instance'), which separates it from servicenow_get_incident, servicenow_search_incidents, and servicenow_update_incident. The sentence is truncated mid-clause, so the full scope of what gets created is never stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives such as servicenow_update_incident or servicenow_add_comment for related actions. The agent is left to infer that 'create' means 'use this when a new ticket is needed'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
servicenow_get_incidentCInspect
Get full details of a specific ServiceNow incident by number or sys_id.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavioral traits. It does not disclose authentication needs, error handling (e.g., incident not found), or return format. The phrase 'full details' is vague. More context is needed for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with action and resource. However, important information is missing, making it under-specified rather than optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and a parameter mismatch, the description is incomplete. The agent lacks details on how to invoke the tool correctly (missing required inputs) and what to expect in return.
Complex tools with many parameters or behaviors need more documentation. 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 no properties, yet description implies parameters (number or sys_id). This mismatch reduces clarity. Description adds meaning beyond the empty schema, but the lack of formal parameters limits usefulness and may confuse the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves full details of a specific ServiceNow incident by number or sys_id. It distinguishes from sibling tools like servicenow_search_incidents and servicenow_list_my_incidents. However, the input schema has no parameters, creating ambiguity about how to specify the incident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 siblings. Does not mention prerequisites (e.g., must connect to ServiceNow first), exclusions, or context for use. The description only states what the tool does, not when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
servicenow_list_my_incidentsAInspect
List incidents assigned to you or opened by you in ServiceNow.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description only states that it lists incidents but does not disclose any behavioral details such as sorting order, pagination, or whether closed incidents are included. This is adequate for a simple tool but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no redundant words. It efficiently conveys the tool's purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 no parameters, the description is mostly complete. It could mention if the list includes both open and closed incidents or provide ordering hints, but for a basic personal list, it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the schema coverage is 100% (trivially). Since there are no parameters to describe, the description does not need to add parameter semantics. Following the guidelines, the baseline is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action (list) and resource (incidents) with a clear scope (assigned to or opened by you). It effectively distinguishes from siblings like servicenow_search_incidents which likely perform broader searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates when to use it (for personal incidents) vs. siblings (e.g., servicenow_search_incidents for broader search). However, it does not explicitly state when not to use it or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
servicenow_search_incidentsCInspect
Search incidents in ServiceNow by keyword, number, or caller.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral transparency burden. It only states the action (search) and fields (keyword, number, caller) but does not disclose pagination, rate limits, authentication requirements, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no extraneous information. It is front-loaded and efficient, but the lack of detail reduces its 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?
Without output schema or annotations, the description fails to explain return values, result format, or any processing details. For a search tool, this is incomplete. The empty input schema exacerbates the lack of contextual 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 input schema has zero properties despite the description mentioning search by keyword, number, or caller. This contradiction means the description adds no parameter meaning; in fact, it misleads by implying parameters exist. Schema coverage is 100% but empty, so the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain 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 searches incidents by keyword, number, or caller, which distinguishes it from sibling tools like servicenow_get_incident (single incident) and servicenow_list_my_incidents (own incidents). However, it could be more specific about the search 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 versus alternatives (e.g., servicenow_get_incident for specific incident, servicenow_list_my_incidents for personal incidents). The description only states what it does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
servicenow_search_kbBInspect
Search the ServiceNow Knowledge Base for articles.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavior. It only states the basic action without mentioning read-only nature, side effects, required permissions, return format, or pagination. This is insufficient for an agent to understand the tool's impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no wasted words. It is concise, though it could be considered under-specified for its context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description is too minimal. It does not explain search syntax, result limits, or what the tool returns, leaving significant gaps 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 no parameters, so schema coverage is 100%. The description adds no parameter info, but with zero parameters, the baseline score of 4 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 tool's action (search) and resource (ServiceNow Knowledge Base articles). It is a specific verb+resource combination that distinguishes it from many siblings, though it does not explicitly differentiate from other search 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 'servicenow_search_incidents' or other search tools. The description lacks any context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
servicenow_update_incidentCInspect
Update fields on an existing ServiceNow incident — state, priority, assignment.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the tool 'updates fields' but the input schema has zero properties, meaning no way to specify which incident or what values. This contradicts expected behavior and provides no insight into side effects, overwrite vs merge semantics, 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?
A single sentence of 12 words that immediately states the purpose and key fields. No redundancy or filler; front-loaded for quick parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite low complexity, the description fails to specify how to identify the incident (e.g., sys_id, number), valid values for the listed fields, or that no parameters are accepted. The absence of output schema and behavioral details leaves the agent without enough information for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description lists fields (state, priority, assignment) implying parameters, but the input schema is empty. Schema coverage is trivially 100% only because there are no parameters defined. This mismatch means the agent cannot correctly invoke the tool as described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Update' and the resource 'existing ServiceNow incident', listing example fields (state, priority, assignment). It distinguishes from sibling tools like create, get, list, search, and add_comment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 vs alternatives (e.g., servicenow_create_incident for new incidents, servicenow_get_incident for viewing). Missing prerequisites such as the need for an existing incident ID and required permissions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_default_m365_accountAInspect
Choose which connected Microsoft 365 account the Microsoft 365 and Teams tools use when no account is given.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the main effect (affecting M365 and Teams tools when no account is specified) but omits persistence, reversibility, required permissions, and what happens if no account is connected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. It expresses the tool's purpose and effect efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description should do more. Most critically, it never explains how the account is chosen despite the tool having zero input parameters, nor does it mention prerequisites such as listing or connecting an account first. This leaves an agent unclear on how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description references an `account` parameter belonging to other tools, which clarifies the concept but does not need to document parameters for this tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and effect: choosing which connected Microsoft 365 account becomes the default for M365 and Teams tools when no explicit account is given. It is clear but does not explicitly distinguish itself from siblings such as list_m365_accounts or connect_m365_account.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by explaining the condition under which the default applies ('when no `account` is given'), but it does not say when to call this tool versus alternatives, nor does it state prerequisites like needing a connected account first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_default_telegram_accountAInspect
Choose which Telegram account the telegram_* tools use when no account is given.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose the key effect (sets the default account for all telegram_* calls), but says nothing about persistence, whether the target account must already be connected, failure behavior for an unknown account, or how the change is reverted. Adequate but with real gaps for a state-mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with zero filler, front-loading the action and following with the precise scope of effect. Nothing could be trimmed without losing 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?
No output schema and no annotations, so the description must stand alone. It covers purpose and effect, but leaves the most operationally important question unanswered: how the agent identifies which Telegram account becomes the default when the tool accepts no parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema declares an empty object, so there is no parameter semantics to clarify; the description adds the only semantic it can, namely that the setting acts as a fallback when no `account` argument is supplied. The selection mechanism itself is unexplained, but with no schema fields the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Choose'/'set default') and resource (Telegram account) plus the exact scope of effect: the telegram_* tools and the 'no `account` given' fallback condition. This distinguishes it cleanly from siblings like telegram_list_accounts and from set_default_whatsapp_account/set_default_m365_account.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage condition — it controls what telegram_* tools do when no `account` argument is passed — which is exactly the when-to-use context an agent needs. It does not mention exclusions or point at the parallel set_default_whatsapp_account tool, so the routing guidance is good but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_default_whatsapp_accountAInspect
Choose which WhatsApp account the whatsapp_* tools use when no account is given.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden. It discloses the key side effect (changing the default account for whatsapp_* tools), but says nothing about prerequisites like whatsapp_connect, whether the chosen account must already exist, whether the change persists, or how to select the account given the empty schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It immediately names the action and the effect, which is appropriate for a zero-parameter configuration 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 simple configuration tool with no output schema and no annotations, the description states the effect adequately. However, it leaves a notable gap: it says 'choose which account' while the schema exposes no way to choose one, so an agent lacks the mechanism and any prerequisite 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?
The tool has zero parameters and the schema is empty, so the baseline is 4. The description correctly references the `account` argument of other whatsapp_* tools rather than introducing parameters this tool does not have.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (choose/set as default) plus the resource (WhatsApp account) and the scope of the effect (default for whatsapp_* tools when no account is given). An agent can distinguish it from whatsapp_list_accounts and the other whatsapp_* action tools without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage context ('when no `account` is given') but never explicitly says when to use this tool versus alternatives such as specifying the account per call or using set_default_telegram_account. It provides implied usage only, not explicit guidance or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shortcuts_listBInspect
Lists the user's macOS Shortcuts (Atajos), each with its stable identifier — the id shortcuts_run and short...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It correctly implies a pure read/list operation with no arguments, but says nothing about macOS Shortcuts/automation permissions, whether the list is filtered or scoped, or how many items come back. The truncation removes any further disclosure the author may have written.
Agents need to know what a tool does to the 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 visible text is front-loaded with the verb+resource and free of padding, but it is cut off mid-clause, leaving an incomplete definition. As presented it is short at the cost of being unfinished rather than tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only source of behavioral information, and it covers just the purpose plus the identifier field. For a zero-argument read tool across a crowded sibling list, it is adequate but leaves the return shape and permission context unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the schema or description to disambiguate; baseline 4 applies. The description does not add spurious parameter-like guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Lists the user's macOS Shortcuts (Atajos)') and names the key payload field (the stable identifier). It also points at the sibling tools that consume those ids. It does not fully disambiguate from shortcuts_view, which the truncated tail may have been intended to do.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 mention of the identifier 'the id shortcuts_run and short...' implies this is the discovery step before run/view, which is useful routing, but no explicit when-not-to-use or prerequisite statement survives in the visible text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shortcuts_runCInspect
Runs one of the user's macOS Shortcuts (Atajos) by name or identifier — the way Mac users already automate...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It says nothing about side effects (shortcuts can do anything on the machine), whether the call blocks until completion, what happens if the name is ambiguous or the shortcut doesn't exist, or whether macOS automation permission is required. The trailing 'the way Mac users already automate...' fragment adds marketing flavor, not behavioral facts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Brief and front-loaded with the action, which is good. However it is truncated ('...already automate...') and the dangling clause does not earn its place; the remaining sentence should carry usage or behavioral detail instead.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that executes arbitrary user-defined automations, with no annotations and no output schema, the description is thin. It omits return behavior, permission requirements, failure modes, and the schema gap around the missing name/identifier input. An agent cannot confidently invoke this.
Complex tools with many parameters or behaviors need more documentation. 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 declares zero properties, yet the description claims the tool takes a shortcut 'name or identifier'. That is a description/schema mismatch an agent will stumble on — it has no parameter to pass. The 0-param baseline would normally be 4, but the description here implies input that the schema does not define.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource: 'Runs ... macOS Shortcuts ... by name or identifier'. That distinguishes it reasonably from siblings shortcuts_list and shortcuts_view, which are read-only inspection tools. It stops short of full sibling differentiation (no explicit 'use shortcuts_view to inspect first'), but the action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite (e.g. must the shortcut already be installed/authorized?), and no mention of alternatives. The agent must infer that this is the execution counterpart to shortcuts_list/shortcuts_view purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shortcuts_viewAInspect
Opens a shortcut in the Shortcuts app so the user can inspect its actions before running it with shortcuts_...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool opens the Shortcuts app for user inspection rather than executing the shortcut, which is useful, but it omits prerequisites (e.g., macOS/GUI availability), whether it blocks, and what the user or agent should expect after the app opens.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. The purpose and the contrast with running the shortcut are conveyed immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no output schema, the description covers purpose and usage. However, with an empty parameter schema, it never explains how the specific shortcut is identified or selected, which is a meaningful gap an agent may need to resolve.
Complex tools with many parameters or behaviors need more documentation. 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 schema is necessarily empty and parameter semantics are not applicable. The description appropriately does not invent parameter details, and baseline 4 applies for a correct no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Opens a shortcut in the Shortcuts app') and distinguishes the tool from its run sibling by framing it as inspection before execution. An agent can tell it apart from shortcuts_run without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states the context: use this to inspect a shortcut's actions before running it with shortcuts_run. It does not explicitly say when not to use it or name an alternative for listing shortcuts, but the primary usage condition is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_compose_guidanceAInspect
Composes a Signal message and returns step-by-step guidance for the user to send it themselves.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses a key behavior: it does not send, it returns guidance for the user to send. However, it lacks details about prerequisites (e.g., Signal connection), what the guidance format is, or any side effects. Basic transparency is present.
Agents need to know what a tool does to the 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 directly states the tool's function. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's simplicity, the description omits important context: how the message content is determined with zero input parameters, and what the step-by-step guidance looks like. Since there is no output schema, the description should clarify the deliverable format. It adequately states the outcome but leaves the mechanism 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?
With 0 parameters, the baseline is 4. The description adds minimal meaning beyond the schema, but since there are no parameters, there is little to explain. The phrase 'Composes a Signal message' may imply context-derived input, but that is not elaborated.
Input schemas describe structure but not intent. Descriptions should explain 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 composes a Signal message and returns step-by-step guidance, explicitly differentiating it from tools that actually send messages (e.g., send_message, whatsapp_send_message). 'Composes' and 'guidance' make the resource and action specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose implies when to use it (when the user needs to send the message themselves), but it does not explicitly mention alternatives or exclusions. There is no guidance on when NOT to use it or when to prefer an actual sending tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_connectBInspect
Connect Signal to Local MCP.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It fails to disclose any behavioral traits such as side effects, authentication requirements, state changes, or whether the connection is persistent. The single sentence is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded and contains no unnecessary words. It is as concise as possible while conveying the basic purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of parameters, output schema, and annotations, the description is too minimal. It does not explain what 'Connecting Signal to Local MCP' entails, what the result is, or how it fits into the workflow. For a setup operation, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. 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 description coverage is 100% trivially. Baseline for zero parameters is 4. The description adds no parameter info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Connect'), the resource ('Signal'), and the target ('Local MCP'). It is specific and distinguishes this tool from sibling tools like signal_list_chats or connect_m365_account.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool, prerequisites, or alternatives. It does not mention situations where this connection is needed or how it differs from other connect tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_list_chatsAInspect
Lists Signal conversations (chats) with last-active timestamps.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It only states the basic function and output attributes, omitting any behavioral traits such as whether it requires prior connection, is read-only, or has rate limits. This lacks sufficient transparency for safe agent invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no extraneous words. Every word adds value: verb, resource, key output fields. It is optimally 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 zero parameters and no output schema, the description is minimal. For a simple list tool, the core purpose is covered, but the absence of output format details (e.g., array of objects, fields beyond timestamps) and no explanation of non-parameter dependencies leaves some contextual gaps. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema_description_coverage is effectively 100%. The description adds no parameter information (none needed). Baseline 3 is appropriate as the schema already covers the absence of 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 specifies the verb 'Lists', the resource 'Signal conversations (chats)', and the included information 'with last-active timestamps'. It distinctly identifies the Signal messaging context, avoiding confusion with sibling tools like slack_list_channels or whatsapp_list_chats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing a list of Signal chats, but provides no explicit guidance on when to use vs alternatives, no prerequisites (e.g., signal_connect), and no exclusions. Usage is implied but not clarified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_read_messagesCInspect
Reads messages from a specific Signal chat.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior, but it only states the basic action. No mention of required connections, output format, 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?
The description is a single sentence, which is concise, but it omits essential details, making it under-specified rather than efficiently complete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and no annotations, the description fails to provide crucial context such as how the chat is determined, what the output looks like, or prerequisites.
Complex tools with many parameters or behaviors need more documentation. 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, yet the description implies a 'specific Signal chat' without providing a way to specify it. This misalignment reduces clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it reads messages from a specific Signal chat, which is clear, but the input schema has no parameters to specify which chat, creating ambiguity. This undermines clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings like signal_search_messages or signal_list_chats, nor any context on prerequisites (e.g., needing to connect first).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_search_messagesBInspect
Full-text search across locally-cached Signal messages.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure. It only states 'Full-text search', omitting crucial behaviors like whether a connection via signal_connect is required, what is returned, or any limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single-sentence description is concise and front-loaded with the key action, but it could benefit from 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 tool has no input schema and no output schema, the description is insufficient. It fails to clarify what the search query is (as there are no parameters) or what results to expect, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. 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% (no parameters), so the description doesn't need to add detail. The baseline is high, and the description's lack of parameter info is acceptable.
Input schemas describe structure but not intent. Descriptions should explain 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 ('Full-text search') and the specific resource ('locally-cached Signal messages'), effectively distinguishing it from sibling tools like signal_read_messages and signal_list_chats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., signal_read_messages or the generic search_messages), nor are there any prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slack_disconnectAInspect
Turns Slack off in Local MCP: its tools stop reading it until the user turns it back on in Local MCP's Sett...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It usefully reveals the downstream effect (sibling Slack tools stop reading) and that the change is reversible via Settings, which is real behavioral context. However, it does not state whether the Slack account/auth is untouched, whether in-flight operations are affected, or the scope of the toggle beyond Slack.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though the visible text is truncated ('Sett...'), which cuts off the final clause and leaves the sentence incomplete as presented.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 zero-parameter toggle with no annotations and no output schema, the description covers the core effect and reversibility, which is roughly adequate. It stops short of clarifying the boundary between this local toggle and account-level disconnects, and the truncation leaves the re-enable instruction unfinished.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. The baseline for a parameterless tool applies; nothing is missing on this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Turns Slack off in Local MCP'), which clearly separates it from siblings like slack_list_channels and slack_search_messages. It also clarifies this is a Local MCP toggle rather than an account-level disconnect. It does not, however, explicitly contrast itself against the many other *_disconnect tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when the tool is used (to stop Slack tools from reading the integration) but gives no explicit when-to-use/when-not guidance or named alternatives. The re-enable path is only hinted at ('until the user turns it back on in Local MCP's Settings').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slack_list_channelsAInspect
Lists channels in a Slack workspace, including public channels, private channels, and direct messages (DMs).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states what is listed, lacking details on side effects, authentication requirements, 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?
A single, front-loaded sentence under 20 words that efficiently communicates the tool's function without superfluous detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 parameters and no output schema, the description is mostly adequate. It could clarify which workspace is used, but given the tool name, it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters, so schema_description_coverage is 100%. The description adds no parameter info, but none is needed. Baseline for 0-param tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Lists' and resource 'channels', clearly stating it includes public, private, and DM channels. It effectively distinguishes from sibling tools like slack_list_workspaces and slack_read_channel_messages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs. alternatives is provided. The usage is implied as listing channels, but the description does not mention conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slack_list_workspacesAInspect
Lists the Slack workspaces (teams) the user has connected in Slack Desktop.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the source ('Slack Desktop') without detailing any behavioral aspects such as error handling, permission requirements, or potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise, and front-loaded with the key action and subject. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description is minimally adequate. It could provide more detail about what information is returned (e.g., workspace IDs, names) to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so schema description coverage is 100%. The description adds no parameter information, but the baseline for zero parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists Slack workspaces (teams) connected in Slack Desktop. It uses a specific verb ('Lists') and resource ('workspaces'), and distinguishes from sibling tools like slack_list_channels by specifying 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 explicit when-to-use or alternatives are mentioned. However, the purpose is straightforward and the context implies it is a prerequisite for tools requiring a workspace, but no guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slack_read_channel_messagesCInspect
Reads recent messages from a Slack channel or DM.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lacks any disclosure of behavioral traits such as which channel is read, number of messages retrieved, or rate limits. With no annotations provided, the description fails to inform the agent about important aspects of the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of a single sentence. However, it is so brief that it sacrifices necessary detail, which is not ideal for conciseness. It is structured adequately but lacks crucial 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 zero parameters and no output schema, the description is incomplete. It does not specify which channel or DM is read, how many messages are returned, or any filtering criteria. The tool's functionality is not fully contextualized.
Complex tools with many parameters or behaviors need more documentation. 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%. The description does not add any parameter semantics beyond what the schema already provides. 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 identifies the action ('Reads') and resource ('recent messages from a Slack channel or DM'). It distinguishes the tool from the sibling 'slack_search_messages' by specifying 'recent', but does not explicitly differentiate from other channel-related tools like 'slack_list_channels'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 context, prerequisites, or when it should not be used. The description only states the function without any usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slack_search_messagesCInspect
Searches Slack messages.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present and the description merely restates the operation. It does not disclose workspace scope, channel filtering, match behavior, authentication requirements, or result characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler. However, it is under-specified: there is room for meaningful detail without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no annotations, no output schema, and an empty input schema, this description is far too sparse. It omits how the search query is supplied, what scope is searched, and what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline of 4 applies. The description adds no parameter information, but none is required given the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb and resource ('Searches Slack messages'), making the tool's basic purpose understandable. It differentiates itself from sibling search tools by explicitly scoping to Slack, though it doesn't fully distinguish among Slack-specific message 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?
There is no guidance on when to use this tool versus alternatives like search_messages, teams_search_messages, or slack_read_channel_messages. No context, exclusions, or alternative conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stocks_get_chartCInspect
Gets historical price data for a stock symbol.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description fails to disclose how the symbol is specified (schema has no parameters) or what data is returned (no output schema). It contradicts the schema by implying a parameter that doesn't exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While concise (one sentence), the description omits critical information needed to use the tool correctly. It is under-specified rather than effectively 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?
The tool lacks parameters and output schema, and the description fails to explain how to specify the stock symbol or what the output contains. This is incomplete given the tool's apparent requirement for a symbol.
Complex tools with many parameters or behaviors need more documentation. 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 0 parameters, so the description should clarify how the tool obtains the symbol. Instead, it misleads by stating it uses a stock symbol without a corresponding parameter. Baseline for 0 params is 4, but this misrepresentation reduces the score.
Input schemas describe structure but not intent. Descriptions should explain 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 gets historical price data for a stock symbol. This distinguishes it from sibling tools like stocks_get_quote (current price) and stocks_search_symbol (symbol lookup).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 does not mention that it requires prior knowledge of a symbol or that stocks_search_symbol should be used first for symbol lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stocks_get_quoteDInspect
Gets current stock price and market data for one or more symbols (e.g.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states basic function; no disclosure of side effects, permissions, rate limits, or how symbols are provided given the empty schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short but cut off mid-sentence. Lacks completeness. Some value from initial wording but overall poor structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 likely requires symbol input and has no output schema, the description is severely lacking. It does not explain how to specify symbols or what market data is returned.
Complex tools with many parameters or behaviors need more documentation. 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 zero properties, but description implies symbols are needed. This contradiction is misleading. Since no param details exist in schema, the description fails to add meaningful 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?
Description starts with 'Gets current stock price and market data for one or more symbols' but truncates after '(e.g.', leaving it incomplete. It indicates verb and resource but is vague due to truncation and mismatch with empty 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 siblings like 'stocks_get_chart' or 'stocks_search_symbol'. No context provided for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stocks_search_symbolCInspect
Searches for a stock ticker symbol by company name (e.g.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says it searches for a symbol by company name but doesn't disclose return format, edge cases, limitations, or any side effects. This is insufficient for an agent to understand what happens when invoking the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short but appears to be an incomplete fragment, ending with '(e.g.' and no continuation. While conciseness is good, the truncation makes it poorly structured and incomplete, failing to fully communicate the intended message.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 (no params, no output schema), the description still needs to provide enough context for an agent to use it correctly. It fails to explain how to provide the company name, what the output looks like, or any example usage. The description is too truncated to be considered complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters, so the baseline is 4. The description adds the key semantic that the search is 'by company name,' which would be the implicit input. Even though the schema doesn't list a company_name parameter, the description gives the agent an idea of what the tool expects. No contradiction or additional parameter details are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for a stock ticker symbol by company name, using a specific verb ('searches') and resource ('stock ticker symbol'). It distinguishes from sibling tools like stocks_get_chart and stocks_get_quote, which have different purposes. However, the description is truncated ('e.g.' without examples), so it doesn't fully achieve complete clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. There is no mention of scenarios, prerequisites, or when not to use it. The description only states what it does, not how to decide to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_diagnosticsBInspect
Runs the same health check as run_diagnostics and sends the result to the LMCP team so they can look into a...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose a meaningful behavioral trait beyond the name: results are transmitted to the LMCP team, which signals an external data-sharing side effect. However, it says nothing about what exactly is sent, whether the user is notified, or whether consent/auth is required, and the trailing ellipsis leaves the behavior half-described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core action, which is good. But the text is truncated mid-sentence ('look into a...'), so the second half of the intended message is lost rather than deliberately 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 zero-parameter tool with no output schema and no annotations, the description should at minimum be complete. It conveys the two key facts (runs the health check, sends results to the team) but is truncated and omits what happens next, what is transmitted, or what the agent gets back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (empty object schema), so there is nothing for the description to disambiguate. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('health check') and explicitly relates itself to a sibling, run_diagnostics, by name. An agent can see this is run_diagnostics plus a report to the LMCP team. The sentence is cut off, so the full scope isn't stated, but the core action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The mention that it 'runs the same health check as run_diagnostics' implies the alternative for a purely local check, but the description never states when to use this over run_diagnostics or what triggers sending a report. Usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_qa_reportBInspect
Submits a QA run report.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a write/submit action but does not disclose permissions, side effects, idempotency, authentication requirements, or what happens to the submitted report, leaving important behavior unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no filler and the action is front-loaded. It is appropriately concise, though it is so terse that it provides little structural support beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description should do more to explain what the tool returns or what submitting a QA report entails. It provides only the bare action, leaving an agent without enough context to use it confidently alongside run_qa and other report-related tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to explain. Per the scoring baseline for zero-parameter tools, the description does not need to compensate for schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Submits a QA run report.' It makes the tool's basic action understandable without opening the schema. However, it does not distinguish this tool from related siblings such as run_qa, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or what alternatives exist. The description gives no prerequisites, timing, or context for choosing submit_qa_report over run_qa or other reporting tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
survey_respondBInspect
Shows or submits the short in-product survey Local MCP assigned to this machine.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states that the tool shows or submits a survey, but it does not disclose what side effects occur (e.g., interrupting the user, opening UI, permanently submitting responses), whether the operation is idempotent, or what happens if no survey is assigned. This is insufficient for a tool that appears to have user-facing 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 sentence that is immediately informative and front-loads the core action. It contains no filler or redundancy, earning the highest 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?
Despite the tool's simplicity (zero parameters, no output schema), the description leaves critical gaps: it does not clarify what triggers a show vs. submit, how the survey content is determined, or the expected outcome of calling the tool. The presence of the sibling 'survey_skip' suggests a workflow, but the description does not explain this tool's role in it, making the overall context 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 tool has zero parameters, and the schema coverage is 100%, so there are no parameter semantics to elaborate. Per the rubric, 0 parameters earns a baseline of 4. The description adds no parameter information, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows or submits an in-product survey assigned to the machine. It names the specific resource (survey) and indicates two possible actions. However, the dual verb 'shows or submits' is somewhat ambiguous about which action occurs in a given call, and no explicit distinction from the sibling 'survey_skip' is made, though the resource is clearly identified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives, such as survey_skip. The description does not specify scenarios where showing vs. submitting is appropriate, nor does it mention any prerequisites or conditions like the presence of a pending survey. The context is minimal and left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
survey_skipAInspect
Skips the short in-product survey Local MCP showed the user, for now — use this when the user doesn't want...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It does reveal that the skip is 'for now', implying a temporary dismissal rather than a permanent opt-out. However, it does not explain side effects, such as whether the survey will reappear, or if any state is stored. For such a simple action, this level of transparency is adequate but not comprehensive, so 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?
The description is a single sentence, which is concise, but it appears truncated—ending with 'doesn't want...'—leaving the thought incomplete. While brevity is a plus, the structural incompleteness suggests a lack of polish, preventing a higher score. It is not as concise as a fully formed, complete sentence would be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's trivial complexity (no parameters, no output schema), the description provides sufficient context: it states the action, the target, and the motivating scenario. It doesn't need to explain return values or complex behaviors. The only minor gap is the absence of details on what happens after skipping, but for a simple 'skip', the description is complete enough.
Complex tools with many parameters or behaviors need more documentation. 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 baseline for this dimension is 4. The description correctly omits parameter details since there are none. It does not need to compensate for any schema gaps because the schema fully defines the empty parameter set. Thus, the score aligns with 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 tool's function: 'Skips the short in-product survey Local MCP showed the user'. This is a specific verb (skip) applied to a distinct resource (the survey), and it inherently differentiates from the sibling tool 'survey_respond' by indicating a non-response action. The 'for now' qualifier adds temporary intent, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an explicit usage trigger: 'use this when the user doesn't want...' This tells the agent exactly when to invoke the tool. However, it does not explicitly mention alternatives or when not to use it, though the sibling 'survey_respond' is implied as the contrasting choice. The guidance is clear but not exhaustive, so it earns a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_call_historyBInspect
Lists the Microsoft Teams calls and meetings that ended in the account's 50 most recent chats, newest first...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose two useful traits: coverage is bounded to the 50 most recent chats and results are ordered newest first. However, it omits auth/permission needs, pagination, and what a call record contains, leaving real gaps for a zero-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the scope constraint stated early; there is no filler. The trailing ellipsis suggests the text may be truncated, which slightly undercuts an otherwise tight delivery.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter list tool with no output schema and no annotations, the description is adequate but thin. It never describes the return shape (e.g., call participants, duration, timestamps) or the permission requirements, which an agent would want given nothing else carries that 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?
The schema declares zero parameters, so there is nothing for the description to clarify; the baseline for a no-parameter tool is 4. No parameter-level semantics are required or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ("Lists") and resource (Microsoft Teams calls and meetings), plus scope ("50 most recent chats, newest first"). It implicitly reads as distinct from siblings like teams_read_chat_messages or teams_search_messages, but it never names or contrasts them, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use, when-not-to-use, or alternative routing guidance. With several sibling Teams retrieval tools (teams_read_chat_messages, teams_search_messages, teams_list_chats), the agent gets no help deciding when call history is the right pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_list_channelsAInspect
Lists the channels of a Microsoft Teams team (team_id from teams_list_teams), by name, from Microsoft 365.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no authentication requirement (an M365 account must be connected), no pagination or result-limit behavior, no indication of what happens if the team_id is invalid. 'From Microsoft 365' identifies the data source but adds little beyond the name.
Agents need to know what a tool does to the 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 front-loaded sentence with no filler; the action and resource come first and the prerequisite hint follows. Minor redundancy in 'by name, from Microsoft 365' marginally dilutes it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only listing with no output schema, the description covers what it returns (channel names), the data source, and the prerequisite call. Given the absence of annotations, a sentence on auth/pagination would have fully closed the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters and 100% description coverage, which would normally anchor this at 4. However, the description references a 'team_id from teams_list_teams' that does not exist anywhere in the input schema, creating a mismatch between prose and structured fields that an agent could stumble over.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (lists channels of a Microsoft Teams team) and names the sibling tool that supplies the prerequisite id, so an agent can distinguish it from teams_list_teams, teams_list_chats and teams_read_channel_messages. The trailing 'by name' is slightly ambiguous (channel names vs. sort order), which keeps it short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(team_id from teams_list_teams)' gives an explicit prerequisite chain, telling the agent to call teams_list_teams first. It stops short of stating exclusions or contrasting alternatives (e.g., when to use teams_read_channel_messages instead), so it is clear context without full when/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_list_chatsBInspect
Lists the Microsoft Teams chats of a Microsoft 365 account — direct messages, group chats and meeting chats...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no mention that a connected Microsoft 365 account is required, no pagination or result-ordering behavior, no indication of how many chats are returned or how they are sorted. Enumerating chat types is the only behavioral content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no padding, which is appropriate for a no-argument list tool. The trailing '...' is the only flaw, hinting at content that was cut off rather than an intentionally terse statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool the description is sufficient to invoke it, but it omits the prerequisite (a connected Microsoft 365 account) and any disambiguation from the many sibling chat/message-listing tools, leaving the agent to guess when this is the right call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4 — there is nothing for the description to explain beyond what an empty schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Lists the Microsoft Teams chats') and even enumerates the chat subtypes returned (direct messages, group chats, meeting chats), which is genuinely informative. It does not, however, distinguish itself from close siblings like teams_list_channels or teams_read_chat_messages, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives such as teams_list_channels (to find a channel) or teams_read_chat_messages (to read a specific chat). Usage is only implied by the name, and the trailing ellipsis suggests the description was truncated before any guidance could appear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_list_teamsAInspect
Lists the Microsoft Teams teams the Microsoft 365 account belongs to, by name.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the load. It does disclose that results are scoped to "the Microsoft 365 account belongs to," which implies the connected-account requirement and that it is a read operation. It says nothing about return format, pagination, or permission needs, but for a zero-parameter list tool the risk is low.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no redundant or filler content. The verb and resource come first, and nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema list tool, the description covers what is listed and the account scoping. It stops just short of the account-connection prerequisite and result shape, which keeps it from being fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline the description needn't document any. Nothing in the schema is left unaddressed, so 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Lists") and resource ("Microsoft Teams teams") plus the scoping to the M365 account. It's clear what the tool does, but it doesn't distinguish itself from close siblings like teams_list_channels or teams_list_chats, which an agent would need to disambiguate against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use guidance and no reference to alternatives. Given the surrounding teams_* family (teams_list_channels, teams_list_chats), the description gives the agent no basis for choosing this tool over them beyond the resource noun.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_read_channel_messagesBInspect
Reads the most recent posts of a Microsoft Teams channel (team_id from teams_list_teams, channel_id from te...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose a meaningful behavioral trait — 'most recent posts' implies a recency-limited window rather than full history — but says nothing about how many messages are returned, pagination, ordering, or required permissions/scopes.
Agents need to know what a tool does to the 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 definition is short and front-loads the action, which is good. But the trailing parenthetical is literally cut off mid-word ('from te...'), so the single supplementary sentence never completes its job and the whole definition reads as incomplete rather than tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only fetch with no output schema, no annotations, and an empty parameter schema, the description should at minimum pin down scope, return volume, and sibling disambiguation. It covers scope ('most recent posts') and ID provenance partially, but leaves the channel-vs-chat distinction, result size, and pagination unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero properties, so the baseline would normally be 4. The description does name the two identifiers an agent needs (team_id, channel_id) and where to obtain them, which is genuine value-add, but this directly conflicts with the empty schema and the channel_id provenance sentence is truncated, leaving the caller unsure how the arguments are actually supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Reads the most recent posts of a Microsoft Teams channel.' That is enough to distinguish it from teams_send_channel_message, but it never differentiates itself from the close sibling teams_read_chat_messages (channel vs chat), which is the ambiguity an agent is most likely to hit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical gives a useful workflow prerequisite chain ('team_id from teams_list_teams, channel_id from te...'), which implies you must list teams/channels first. However, it never states when to prefer this over teams_read_chat_messages or teams_search_messages, and the guidance is cut off before the channel_id source is complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_read_chat_messagesAInspect
Reads the most recent messages of a Microsoft Teams chat (chat_id from teams_list_chats), oldest first, fro...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose a behavioral trait the schema cannot: results are returned 'oldest first' and cover only the 'most recent' messages. However, it says nothing about authentication/account requirements, pagination, rate limits, or what happens when the chat is empty, and the truncated tail may have contained more.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then ordering, then the source of the identifier — a sensible information order with no filler. Evaluation is limited by the visible truncation, but what is present is tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema, no-annotation read tool, the description covers scope, ordering, and identifier provenance. It is missing the volume/limit behavior and any account or permission context, and the cut-off tail leaves it unclear whether those were stated.
Complex tools with many parameters or behaviors need more documentation. 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 declares zero properties, so the baseline is 4 and there are no parameters for the description to explain. It does add provenance for the implied chat_id ('from teams_list_chats'), which is more than the empty schema offers — though the mismatch between a referenced chat_id and an empty schema is a small inconsistency worth noting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Reads the most recent messages of a Microsoft Teams chat.' The scope ('most recent') and ordering ('oldest first') distinguish it from teams_read_channel_messages and teams_search_messages, though it never names those siblings explicitly. The sentence is truncated, so the full scope statement (likely a message limit) is not visible.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one useful routing hint — chat_id comes from teams_list_chats — which tells the agent how to obtain the prerequisite identifier. There is no statement of when to prefer this over teams_read_channel_messages or teams_search_messages, and no exclusions or preconditions beyond that single pointer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_search_messagesCInspect
Searches the Microsoft Teams chat and channel messages of a Microsoft 365 account with Microsoft Search: by...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It adds only that search is powered by 'Microsoft Search', which is a useful hint about behavior, but it says nothing about result scope, permissions required, or how chat vs channel messages are combined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but not concise in a useful sense: it terminates with a dangling preposition and a colon, i.e. it is under-specified rather than economical. Nothing is front-loaded beyond the resource 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?
A zero-parameter, no-annotation, no-output-schema tool is simple, but the description is a truncated fragment that never finishes its clause. An agent cannot tell what it may search by or what it receives back, so it is not complete enough to invoke confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters and 100% coverage, so the baseline is 4. However, the description explicitly opens a parameter clause ('...with Microsoft Search: by...') that is never completed and corresponds to no schema properties, which introduces confusion rather than meaning. This drops it to 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Searches the Microsoft Teams chat and channel messages') and identifies the backend (Microsoft Search), so the basic action is clear. However, it does not distinguish itself from close siblings such as teams_read_chat_messages, teams_read_channel_messages, or search_messages, and the sentence is truncated mid-thought ('by...'), leaving the scope ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use guidance, no mention of alternatives, and no condition that would tell an agent to pick this tool over teams_read_channel_messages or teams_read_chat_messages. The dangling 'by...' hints at filtering criteria but never states them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_send_channel_messageCInspect
Sends a text message to a Microsoft Teams channel via Graph API.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states the function but omits critical behavioral traits such as required permissions, whether the operation is reversible, rate limits, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence without waste, but it lacks any structural elements like usage context or bullet points. It is minimally adequate in length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the absence of output schema or annotations, the description is severely incomplete. It does not describe return values, error conditions, or prerequisites, making it nearly unusable for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty, implying an impossible tool (sending a message without any parameters). The description does not clarify this paradox or explain how the tool determines the channel or message content. Schematically 100% covered, but the coverage is meaningless.
Input schemas describe structure but not intent. Descriptions should explain 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 ('sends a text message') and target ('to a Microsoft Teams channel via Graph API'). It is specific enough to understand the tool's core function, though it does not differentiate from the sibling tool 'teams_send_message' which likely targets individual chats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 instead of alternatives. The sibling 'teams_send_message' could serve a similar but distinct purpose, but the description offers no distinction or context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_send_messageCInspect
Sends a text message to a Microsoft Teams chat as a connected Microsoft 365 work or school account (connect...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden for a mutation tool. It does disclose that a connected Microsoft 365 work or school account is required (unlike a personal account), which is real value, but says nothing about failure modes, whether the target chat must already exist, or what happens if the account is not connected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, which is good, but the text is visibly truncated mid-parenthetical, leaving an incomplete sentence in the definition. It is short, yet that shortness comes partly from missing content rather than efficient phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a send/write operation with no annotations, no output schema, and an empty parameter schema, the definition is materially incomplete. It never explains how the destination chat and message body are supplied when the tool accepts no arguments, which is the single most important thing an agent needs.
Complex tools with many parameters or behaviors need more documentation. 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 declares zero properties, so there are no parameters to disambiguate and the baseline is 4. However, with no arguments at all it is unclear how a caller targets a recipient or composes the text, which the description could have compensated for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: sends a text message to a Microsoft Teams chat. The word 'chat' usefully distinguishes it from the sibling teams_send_channel_message, though the truncation cuts off the qualifying clause and leaves the scope slightly ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use guidance, no exclusions, and no named alternatives. The dangling '(connect...' hints at a connected-account prerequisite but the sentence never completes, so the agent gets no actionable routing or precondition information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
telegram_connectBInspect
Links your own Telegram account to LMCP on this Mac.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not say whether connecting opens a browser, scans a QR code, or needs a phone number, nor whether the operation is reversible, what happens on failure, or what a duplicate connection does beyond 'on this Mac'.
Agents need to know what a tool does to the 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, front-loaded sentence with no filler. It is appropriately tight for a zero-parameter action, though it is arguably under-specified rather than optimally sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 connect tool with no annotations and no output schema, an agent still needs to know whether the call is interactive, what it returns on success, and what state it leaves behind. None of that is conveyed, leaving a real gap for a state-changing account-linking 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?
The tool takes zero parameters, so there is nothing for the description to clarify; the baseline of 4 applies. The description correctly avoids inventing parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: linking the user's own Telegram account to LMCP on this Mac. It is clearly distinguishable from telegram_disconnect and telegram_list_accounts by the verb, though it does not explicitly contrast itself with other connect-family siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose implies the trigger (you want Telegram linked), but there is no explicit when-to-use, no prerequisites, and no mention of alternatives or follow-up tools such as set_default_telegram_account or telegram_list_accounts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
telegram_disconnectBInspect
Disconnects a Telegram account from LMCP on this Mac: signs that session out on Telegram's side and removes...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden. It usefully reveals that the effect is server-side ('signs that session out on Telegram's side'), which is a non-obvious destructive side effect worth flagging. However, the sentence is truncated and never states what happens to local state, whether the operation is reversible, or whether re-authentication is required afterward.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence names the action and scope before any detail, with no filler. The apparent truncation of the clause '...and removes' means the description is shorter than intended rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no annotations and no output schema, the description covers the what and the remote effect but stops mid-clause. It never resolves what is removed locally, what happens to other connected accounts, or what state follows disconnection, leaving the agent with an incomplete picture of the end 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?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless schema applies. The description implicitly confirms no account identifier is passed, consistent with acting on a default/connected account.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with scope ('Disconnects a Telegram account from LMCP on this Mac'), which cleanly distinguishes it from telegram_connect and the other telegram_* siblings. It does not clarify which account is targeted (default vs. selected), which is the only notable gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use guidance, no prerequisites, and no mention of alternatives such as telegram_list_accounts or set_default_telegram_account. The agent must infer that this is the teardown counterpart to telegram_connect.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
telegram_list_accountsCInspect
List the Telegram accounts linked to LMCP on this Mac: each one's id (tg1, tg2, …), the label the user gave...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It never states that this is a side-effect-free read, whether it requires a prior telegram_connect, or what happens when no accounts are linked, and it only begins to describe the returned fields before being cut off.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is front-loaded and efficient in style, but it is truncated mid-phrase, which makes the entry structurally incomplete rather than 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?
With no output schema, the description is responsible for explaining what comes back. It names the id format (tg1, tg2, ...) and starts to describe the label field, but the truncation leaves the return shape and any remaining fields unexplained for this zero-param list 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?
The tool takes zero parameters, so the baseline is 4; there is nothing to disambiguate and the description does not need to compensate for any schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List the Telegram accounts linked to LMCP on this Mac') and scopes it to the local Mac, which distinguishes it from the many other account-listing siblings such as whatsapp_list_accounts. However, the sentence is truncated mid-thought ('the label the user gave...'), so the scope statement is incomplete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use guidance, no prerequisites, and no mention of siblings like telegram_connect, telegram_disconnect or set_default_telegram_account that an agent would need to pick between. Usage is only implied by the verb 'List'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
telegram_list_chatsBInspect
Lists your Telegram chats (people, groups, channels) with unread counts and the last message preview, newes...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It usefully names what comes back (unread counts, last message preview) and hints at ordering, but says nothing about read-only nature, pagination/limits, or the need for a connected Telegram account. Reasonable partial coverage, not enough to be strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is front-loaded and efficient, but it is clipped mid-word ('newes...'), so the structure is incomplete rather than tight. Size is appropriate for what is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must carry the return-value burden, and it partly does by naming unread counts and message previews. However, the truncation leaves the sort order, result limits, and account/auth prerequisites unspecified for an agent that needs to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; there is no parameter semantics to document and the schema is trivially complete. Nothing in the description is needed to compensate 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?
States a specific verb and resource ('Lists your Telegram chats') and enumerates the resource subtypes (people, groups, channels), which separates it from telegram_read_messages and telegram_search_messages. It stops short of a 5 because the sibling differentiation is implicit rather than named, and the description is visibly truncated mid-word ('newes...'), cutting off the ordering detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use or when-not-to-use guidance and no alternatives named, despite a crowded sibling set (telegram_search_messages, telegram_read_messages, telegram_list_accounts). The mention of unread counts weakly implies an overview use case, but the agent must infer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
telegram_read_messagesBInspect
Reads recent messages of one Telegram chat, newest first.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose ordering (newest first) and that it is a read operation, but omits authentication/account context, what 'recent' means, rate limits, and how the target chat is identified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, front-loaded sentence with no wasted words. The essential scope and ordering are communicated immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 zero parameters and no annotations, the description should clarify how the target chat is determined and what messages are returned. It states recent messages and newest-first ordering but leaves the chat-selection mechanism and return scope unclear.
Complex tools with many parameters or behaviors need more documentation. 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 there is no parameter semantics to add beyond the schema. Per calibration, a zero-parameter tool gives a baseline of 4 when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: reads recent messages of one Telegram chat, ordered newest first. It is clear what the tool does but does not explicitly differentiate itself from siblings like telegram_search_messages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no mention of prerequisites, and no comparison to alternatives such as telegram_search_messages or telegram_list_chats. The phrase 'one Telegram chat' implies a context but does not explain how to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
telegram_search_messagesBInspect
Searches your Telegram messages by text, across all chats or (with chat_id from telegram_list_chats) inside...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not state that the operation is read-only (only implied by 'Searches'), nor does it mention result limits, ordering, pagination, or authentication/account 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?
What text exists is front-loaded and free of filler, which is good. But the description terminates mid-sentence with an ellipsis, so it is under-specified rather than concise, and the reader is left without the full statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 search tool with no annotations and no output schema, the description should at least cover scope, return shape, and limits. Instead it is truncated and never completes its only substantive thought, and it names a parameter the schema does not define.
Complex tools with many parameters or behaviors need more documentation. 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 declares zero properties, so there is no parameter documentation to add to. The description nonetheless references a 'chat_id' argument that does not exist in the schema, which is a misleading dangling reference rather than useful elaboration.
Input schemas describe structure but not intent. Descriptions should explain 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 gives a specific verb+resource ('Searches your Telegram messages') plus the matching criterion ('by text'), which distinguishes it from telegram_read_messages and telegram_list_chats. However, it is truncated mid-sentence ('...inside...'), so the full scope of what is searched is never stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gestures at two modes (all chats vs. a specific chat) and points to telegram_list_chats as the source of chat_id, which is useful routing. But the guidance is cut off before the condition for scoping to a chat is completed, and no exclusions or when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
telegram_send_messageCInspect
Sends a Telegram message from your own account to one chat.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only that sending happens from "your own account," which hints at a user-auth context, but says nothing about required account state, failure modes, rate limits, or what happens when multiple accounts exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words, and the sender context precedes the destination. It is efficient, though it is arguably too terse for a mutation tool with unresolved targeting.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and an empty input schema, the description should explain prerequisites (connection/account selection) and what confirmation the caller gets. Neither is covered, leaving the agent unable to know whether the send succeeded or which account/chat was used.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty (0 params), so the usual baseline is 4, but the operation inherently requires a target chat and message body that appear nowhere in the schema, and the phrase "to one chat" points at target ambiguity the description never resolves. The description therefore adds no real parameter semantics and leaves a meaningful gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ("Sends a Telegram message") and scopes it ("from your own account to one chat"), which is enough to distinguish it from the platform siblings like whatsapp_send_message or teams_send_message. It does not, however, explicitly differentiate itself from telegram_connect/telegram_read_messages or state when this is the right send path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite note that an account must first be connected via telegram_connect, and no mention of how the default account (set_default_telegram_account) interacts with sending. The agent must infer all of this from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thunderbird_connectCInspect
Reports, per mail account of the Thunderbird profile on this computer, whether Local MCP can send from it:...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden but only vaguely states that it reports send capability. It does not disclose side effects, authentication requirements, idempotency, or whether it modifies connection state—critical for a tool named 'connect'. The incomplete trailing colon further obscures behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single truncated fragment that fails to complete its thought. While short, it is under-specified rather than concise, and the trailing ellipsis suggests missing content that an agent would need.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a connection-oriented tool, the description is far too incomplete. It does not explain what 'connecting' entails, what state changes occur, or what the tool returns beyond a vague mention of send capability. It leaves major gaps for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4 per the rubric. The description does not need to add parameter semantics beyond what the empty 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 is a truncated sentence fragment ending with a colon and ellipsis, making its purpose unclear. It says the tool 'Reports... whether Local MCP can send' from each account, but the tool name 'thunderbird_connect' and sibling 'thunderbird_disconnect' imply it should establish a connection—creating a mismatch that would confuse an agent trying to distinguish it from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool, when not to, or what alternatives exist (e.g., thunderbird_list_accounts, thunderbird_disconnect, other *_connect tools). The description offers no context for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thunderbird_disconnectCInspect
Stops Local MCP from sending from one Thunderbird account: removes the password Local MCP stored for it fro...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden, and it does add one concrete consequence: the stored password is removed. However, it stops there — it does not say whether other accounts are untouched, whether the account remains listed, whether the removal is reversible, or whether reconnecting is required afterward.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is front-loaded with the action, which is good. But the text is visibly truncated ("for it fro..."), so the definition is incomplete rather than merely concise — a structural defect, not 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 credential-affecting teardown tool with no annotations and no output schema, the description should state the full effect and any prerequisites. Instead it is truncated and leaves the agent unsure which account is affected, what state remains afterward, and what to do next.
Complex tools with many parameters or behaviors need more documentation. 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 zero parameters, which normally sets a baseline of 4. But the description speaks of acting on "one Thunderbird account," implying an account selector that the empty schema does not expose, so the description and schema are out of step. No format or identification guidance compensates for that implied but absent parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it stops Local MCP from sending via one Thunderbird account and removes the stored password. That distinguishes it from thunderbird_connect and the read/send siblings without needing the schema. It loses a point only because the sentence is cut off mid-thought ("for it fro..."), leaving the scope statement incomplete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use or when-not-to-use guidance and no named alternative (e.g. thunderbird_connect to re-establish). The agent must infer that this is the teardown counterpart to thunderbird_connect. Nothing tells it what happens if called when no account is connected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thunderbird_list_accountsBInspect
Lists the mail accounts of the Thunderbird profile on this computer: id, name, address, type (imap, pop3 or...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose a genuinely useful behavioral fact — the accounts come from the local Thunderbird profile on this computer, implying no network/auth round trip — and it partially enumerates the returned fields. It omits the connect prerequisite, error behavior when no profile exists, and whether the call has 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 front-loaded sentence with no padding, which is the right shape for a zero-arg list tool. However it terminates mid-token ('type (imap, pop3 or...'), so the enumeration it sets up is never delivered — the structure is efficient but unfinished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description is the only place return values can be documented, and it does start that work (id, name, address, type). But the list is truncated and the description never says how to reach a callable state (thunderbird_connect) or what happens with multiple profiles, leaving meaningful gaps 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 tool takes zero parameters, so per the rubric the baseline is 4. The description cannot and need not add parameter meaning beyond the empty 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?
States a specific verb and resource ('Lists the mail accounts of the Thunderbird profile') and scopes it to 'this computer', which separates it from remote-account siblings such as outlook_list_accounts or list_m365_accounts. It does not, however, explicitly name an alternative or state what makes Thunderbird accounts different, and the field enumeration is cut off mid-word.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 statement of when to use this tool versus the many lookalikes in the sibling list (list_email_accounts, list_accounts, outlook_list_accounts, telegram_list_accounts, whatsapp_list_accounts). No prerequisites are given either — notably whether thunderbird_connect must run first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thunderbird_list_emailsBInspect
Lists the newest messages of one Thunderbird folder, newest first: id, sender, recipients, subject, date, s...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses ordering and a partial field list, but says nothing about result limits, pagination, how many messages are returned, or authentication requirements. The truncated ending also leaves the disclosure incomplete.
Agents need to know what a tool does to the 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 visible text is a single front-loaded sentence with no filler, opening with the verb and resource and immediately giving ordering. The truncated ending is a delivery defect rather than verbosity, so it does not penalize concision itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 tool with no output schema, the description does helpfully enumerate returned fields (id, sender, recipients, subject, date...), which substitutes for the missing output schema. But it claims the tool targets 'one Thunderbird folder' while offering no folder parameter, and the sentence is cut off, leaving the caller unable to resolve how the folder and result set are determined.
Complex tools with many parameters or behaviors need more documentation. 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 defines zero parameters, so there is no parameter semantics for the description to add. Per the baseline for parameterless tools, this is adequate. This does, however, raise an unresolved question about which folder is used when no folder argument exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (lists the newest messages of a Thunderbird folder) and notes the ordering (newest first), which distinguishes it from thunderbird_search_emails and thunderbird_read_email. However, the text is truncated mid-sentence, so the full purpose statement and its differentiation from siblings remain partially unstated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 guidance is given. It never states when to pick this over thunderbird_search_emails, thunderbird_read_email, or the generic list_emails/list_messages siblings, nor any prerequisite such as an active Thunderbird connection. Usage must be inferred solely from the words 'newest messages'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thunderbird_read_emailCInspect
Reads one Thunderbird message by the id thunderbird_list_emails or thunderbird_search_emails returned: send...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it says only that one message is read. It does not describe the return shape, whether a message is marked read, required account/connection state, or error behavior for a missing id. For a no-annotation tool this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but defective: it terminates mid-sentence with 'returned: send...', so the most actionable part of the instruction (how to supply the id) is missing. Brevity comes from truncation rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and an empty parameter schema, the description is the only source of behavioral and input information, and it is both truncated and inconsistent with the schema about the id argument. An agent lacks what it needs to invoke this tool reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, which normally yields a baseline of 4. Here, however, the description explicitly references an 'id' input that the schema does not contain, creating a mismatch that an agent must resolve by guessing. That reduces the value of the parameter information below the zero-parameter 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 states a specific verb and resource ('Reads one Thunderbird message') and even names the sibling tools that produce the id, so the core purpose is discernible. However, the sentence is cut off ('returned: send...'), and the schema declares zero properties, so the stated id input has no structured counterpart. An agent understands what the tool does but cannot reconcile it with the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides implied routing: obtain the message id from thunderbird_list_emails or thunderbird_search_emails before calling. That is genuine usage context, but there is no explicit when-to-use/when-not guidance and no distinction from other read tools such as thunderbird_search_emails or proton_read_email.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thunderbird_search_contactsBInspect
Searches Thunderbird's address books on this computer (the personal one and the collected addresses) for `q...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose a useful behavioral detail — that it searches both the personal address book and the collected addresses — but says nothing about matching behavior, result caps, pagination, or any auth/connection requirement, and the text cuts off before the query semantics are explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
What exists is a single front-loaded sentence with no filler, and the scoping detail comes first. However, it is truncated mid-sentence, so the definition is structurally incomplete rather than genuinely 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?
With no annotations, no output schema, and an empty parameter schema, the description had to carry everything and does not: no return shape, no result limit, no connection prerequisite, and the query portion is cut off. An agent cannot confidently invoke this tool from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters are declared, which normally yields a baseline of 4, but the description references a `q` query term (truncated) that does not appear anywhere in the schema. That mismatch leaves the agent unsure what input this tool actually accepts, so the description adds ambiguity rather than compensating.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (searches) and resource (Thunderbird's address books on this computer), scoping it to personal and collected address books, which distinguishes it from thunderbird_search_emails. It does not explicitly differentiate itself from the other contact-search siblings (outlook_contacts_search, m365_search_contacts, whatsapp_search_contacts), and the sentence is truncated mid-clause.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 Thunderbird-specific framing implies when to use it over the other contact searchers, but there is no explicit when-to-use statement, no exclusion of alternatives, and no mention of prerequisites such as connecting an account first (thunderbird_connect).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thunderbird_search_emailsCInspect
Searches one Thunderbird account's messages for query in subject, sender, recipients and body text, ignor...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only lookup but says nothing about result limits, pagination, which account is targeted, or whether the search is case-insensitive; the sentence also breaks off mid-clause ('ignor...'), so any behavioral qualifier it intended is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening clause is well front-loaded with purpose and search fields, but the description is truncated mid-word, so it is under-specified rather than concise. Every fragment that exists earns its place; there just isn't enough of it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no annotations, no output schema, and an empty input schema, the description needs to carry nearly all the weight. Instead it is cut off, leaves the account-scoping clause unfinished, and omits result format and limits, so an agent cannot invoke it reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero properties, yet the description references a `query` parameter that the schema does not define, which is a mismatch rather than useful elaboration. With no parameters to document, the baseline is 4, but the dangling reference to an undocumented `query` argument creates ambiguity and lowers it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Searches ... messages') and enumerates the searched fields (subject, sender, recipients, body text), which clearly separates it from thunderbird_list_emails and thunderbird_read_email. It never finishes its thought, though, so the scope statement is incomplete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 statement of when to use this search versus thunderbird_list_emails, thunderbird_read_email, or thunderbird_search_contacts, and no prerequisites such as needing an account connected first. Usage is only implied by the verb 'Searches'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thunderbird_send_emailBInspect
Sends a plain-text message from one Thunderbird account, through that account's own outgoing mail server, w...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose two useful traits: the message is plain-text only, and delivery goes through the account's own outgoing mail server rather than a shared relay. It does not state authentication requirements, whether sending is confirmed to the user, or what happens on SMTP failure — and the truncation cuts off any further disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb leading, no filler, and the differentiating detail (own outgoing mail server) placed early. The only structural defect is that the text terminates mid-word, which is an artifact rather than padding, but it does leave the sentence incomplete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 send/mutation tool with zero annotations and no output schema, the description should cover prerequisites (connected account), recipient/body expectations, and error behavior. Instead it is truncated and silent on all of these, leaving the agent without enough context to invoke it reliably despite the sibling namespace being crowded with competing send tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters with no description gaps, and the rule assigns a baseline of 4 in that case. The description adds one meaningful constraint not expressible in an empty schema — that the body must be plain text — but it cannot supply recipient/subject/body semantics because no parameters are declared.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (sends a plain-text message) and scopes it to a Thunderbird account using that account's own outgoing mail server, which distinguishes it from the many other send_email siblings (m365_send_email, outlook_send_email, proton_send_email, send_email). However, the text is truncated mid-sentence, so the full scope of what it does cannot be confirmed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use or when-not-to-use guidance is given beyond the implied 'use this for Thunderbird accounts.' With siblings like send_email, proton_send_email and outlook_send_email in the same namespace, the description should explicitly route the agent (e.g., 'use when the sender account is a Thunderbird account'). Nothing indicates prerequisites such as thunderbird_connect being required first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
todo_complete_taskAInspect
Marks a Microsoft To Do task as complete.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says the task is marked complete but does not disclose whether the action is reversible, what permissions are required, whether it affects subtasks, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. It states the action and target immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and zero parameters, the description does not explain how the target task is identified. An agent cannot tell from the description whether the task is implicit from context or selected elsewhere, which is a significant invocation gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter information for the description to supplement. The baseline for zero-parameter tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Marks ... as complete') and resource ('Microsoft To Do task'). It distinguishes itself from sibling completion tools like todoist_complete_task and complete_omnifocus_task by naming the platform.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the platform-specific name and description, but there is no explicit guidance on when to use this versus todoist_complete_task, complete_omnifocus_task, or complete_reminder. No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
todo_create_taskCInspect
Creates a task in Microsoft To Do (via Reminders sync).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It only states 'Creates a task' and 'via Reminders sync', lacking details on side effects, failure modes, or required account setup. The mention of sync hints at coupling but is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it concise, but it is too brief and lacks structure. It 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 no parameters, no output schema, and the complexity of task creation, the description is incomplete. It does not explain what task is created, how the agent should specify it, or any prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema coverage is trivially 100%. The description adds no parameter info, which is acceptable for a parameterless tool, but it fails to clarify how the task content is provided (e.g., from context or defaults).
Input schemas describe structure but not intent. Descriptions should explain 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 (creates a task) and the target (Microsoft To Do) with a mention of the sync mechanism, which helps distinguish it from similar tools like create_reminder. However, it stops short of explicitly differentiating from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool over alternatives like create_reminder or create_omnifocus_task. There is no mention of prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
todo_get_foldersAInspect
Lists Microsoft To Do task lists.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Lists' indicates a read-only operation, which is a useful behavioral trait. However, it does not disclose any prerequisites (e.g., needing a connected Microsoft account) or return format details. For a simple listing tool this is acceptable but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no redundant words. It is front-loaded and appropriately 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?
Given the tool's simplicity (no parameters, no output schema, straightforward listing operation), the description is complete. An agent can accurately infer what the tool returns and when to invoke it based on the name and description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is trivially 100%. The description does not need to explain parameters. This matches the baseline of 4 for parameterless 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 clearly states the verb ('Lists') and the specific resource ('Microsoft To Do task lists'). This distinguishes it from sibling tools like 'todo_list_tasks' (which lists tasks, not task lists) and similar tools for other systems (e.g., 'get_reminder_folders'). The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage context: when an agent needs to retrieve all Microsoft To Do task lists. However, it does not explicitly mention alternatives or when not to use it (e.g., for tasks specifically). Since the context is clear but exclusions are absent, it earns a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
todoist_complete_taskAInspect
Mark a Todoist task complete (closes it).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior itself. It states the primary action and effect but omits details like irreversibility, idempotency, or error behavior. The 'closes it' phrase adds a little context, but the description is 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 one short sentence that is immediately informative and contains no wasted words. It's appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with zero parameters and no output schema, the description states the core action adequately. However, it doesn't mention how the target task is identified (e.g., via context), which is a minor gap given the zero-parameter design.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description doesn't need to explain parameters, and 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?
The description uses the specific verb 'mark' and names the resource 'Todoist task', with 'closes it' clarifying the effect. This clearly distinguishes it from siblings like complete_omnifocus_task or complete_reminder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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, nor any prerequisites or exclusions. It doesn't mention context like requiring a selected task or connection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
todoist_create_taskBInspect
Create a Todoist task.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Create a Todoist task' without explaining side effects, auth requirements, failure modes, or how task content is specified given zero parameters. This is minimal and leaves the agent guessing about the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler or redundancy. It is concise and to the point, appropriate for a tool with such a simple name and no parameters. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's simplicity, the description lacks essential context for an agent: it does not explain how to provide task details (given zero parameters), what happens after creation, or how this differs from similar tools. The sibling list includes 'todo_create_task' which may be an alias, but no clarification is given, leaving the description incomplete 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 input schema has zero parameters, and schema coverage is trivially 100%. Per the baseline for zero-parameter tools, the description need not add parameter details; the description adds no parameter semantics but none are necessary. The empty schema itself is a limitation but not the description's fault.
Input schemas describe structure but not intent. Descriptions should explain 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 'Create' and the resource 'Todoist task', clearly indicating the tool's function. While it restates the tool name almost verbatim, it does distinguish from other create-* tools by naming Todoist explicitly, so it is specific but not highly differentiated from the sibling 'todo_create_task' which may be identical.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like 'todo_create_task', 'create_omnifocus_task', or 'todoist_list_tasks'. There is no mention of prerequisites, context, or exclusions, leaving the agent without decision support for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
todoist_list_projectsAInspect
List your Todoist projects (id + name).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavior disclosure. It states the output includes id and name, but does not mention prerequisites (such as a connected Todoist account), whether archived projects are included, or any side effects. For a simple read-only list, 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, front-loaded sentence with no wasted words. It immediately states the action, resource, and output format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description is complete. It specifies the resource (projects), the scope (your Todoist), and the returned data (id + name). No additional context is necessary for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so per the rubric the baseline is 4. The description does not need to explain parameter semantics, and the empty input schema is unambiguous.
Input schemas describe structure but not intent. Descriptions should explain 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 ('Todoist projects'), and explicitly states the return fields (id + name). It clearly differentiates from siblings like todoist_list_tasks and connects to the Todoist 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?
The description clearly implies when to use this tool (when you need an overview of Todoist projects), but does not explicitly mention alternatives or exclusions. Sibling tools like todoist_list_tasks and connect_todoist exist, but no direct comparison is made.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
todoist_list_tasksAInspect
List active (incomplete) Todoist tasks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does reveal that only active (incomplete) tasks are returned, which is a useful behavioral trait. However, it does not mention that the operation is read-only, whether authentication is required, or whether it lists tasks across all projects or a specific scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the verb 'List' and the object, with no filler or repetition. Every word contributes to the meaning, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is largely sufficient. It clearly states the purpose and the key filter (incomplete tasks). However, the absence of an output schema means the return structure is not explicitly described, and prerequisites like Todoist connectivity are not mentioned, which slightly reduces 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 tool has zero parameters, so schema coverage is trivially 100%. The description need not explain any parameters, and the baseline for 0 parameters is 4. The description adds no parameter-specific information, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('List') and resource ('active (incomplete) Todoist tasks'), distinguishing it from sibling tools like todoist_list_projects (lists projects) and todoist_complete_task (completes tasks). The inclusion of 'Todoist' indicates the service, and the filter for incomplete tasks adds 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?
The description implies usage (use when you need to list active Todoist tasks) but does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions or prerequisites. No guidance is given for choosing between this and similar tools like todo_list_tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
todo_list_listsAInspect
Lists task folders/lists in Outlook Tasks, including nested subfolders.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It usefully discloses that nested subfolders are included, which is a behavioral detail beyond the schema. However, it omits read-only/safety context, permission requirements, and return format expectations for a list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. Every word contributes to identifying the target resource and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list tool with no output schema, the description is nearly complete. It could add a brief note on what the return values look like (e.g., list names and IDs), but the core purpose and scope are covered 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?
The tool has zero parameters, so per the rubric the baseline score is 4. The description does not need to explain parameter semantics because there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Lists') and resource ('task folders/lists') scoped to Outlook Tasks, with the additional detail of nested subfolders. It implicitly distinguishes from sibling task-listing tools like todo_list_tasks, but does not explicitly name or differentiate from todo_get_folders, so it falls short of a clear 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives such as todo_get_folders, todo_list_tasks, or todoist_list_projects. The purpose is implied by the name and description, but no when/when-not conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
todo_list_tasksCInspect
Lists tasks from a Microsoft To Do list (or any Reminders list).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden but only states it lists tasks. It does not disclose whether authentication is needed, how the target list is determined (given no parameters), or any side effects. Critical behavioral details are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous content, making it concise. However, it lacks structure (e.g., bullet points for key points) that could improve scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 context of many sibling tools for listing tasks (e.g., list_reminders, list_omnifocus_tasks) and no output schema, the description is incomplete. It does not explain how the tool integrates with other tools or what format the output takes.
Complex tools with many parameters or behaviors need more documentation. 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 schema coverage at 100%, the description need not explain parameters. However, it fails to clarify how the tool selects a specific list, which would aid usability. Score is baseline 3, as no additional value is provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists tasks from a Microsoft To Do or Reminders list, using a specific verb and resource. However, it does not explicitly differentiate from sibling tools like list_reminders or list_omnifocus_tasks, leading to slight ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as list_reminders or list_omnifocus_tasks. There are no usage conditions, prerequisites, or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ui_clickBInspect
Clicks an element (by element_ref, at its center) or a screen coordinate (by coords).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden but only mentions input modes. Lacks details on behavior if element not found, visibility requirements, or simulation accuracy.
Agents need to know what a tool does to the 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, directly conveys the action and options. 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?
Adequate for a simple click action but lacks details on return values, error handling, and behavior when both or neither parameter is given. No output schema to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite an empty input schema, the description introduces the two parameters (element_ref, coords) and explains their purpose. Baseline 4 for 0 schema parameters; adds value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action (clicks) and two target types (element_ref or coords). Distinguishes from browser-specific siblings by its generic 'ui_' prefix, but does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 no guidance on when to use this tool versus alternatives like chrome_click or safari_click. No when-not-to-use or prerequisite information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ui_find_elementDInspect
GUI automation — control a native app's interface.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description should explain side effects, access requirements, or failure modes. It merely says 'control a native app's interface,' which is extremely vague and non-behavioral.
Agents need to know what a tool does to the 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 only one sentence and there is no wasted prose, but it is under-specified to the point of being useless. It does not convey the tool's actual function, so this is not effective 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?
The tool has no annotations, no output schema, and a generic description. For a tool that presumably finds UI elements, the description should at least state that purpose. It is completely inadequate for understanding what the tool does or how to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty (0 params), and schema coverage is 100% vacuously. With no parameters to explain, the description cannot add parameter semantics, and the baseline of 4 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 'GUI automation — control a native app's interface' is generic and does not name the specific action 'find element'. It could apply to almost any UI tool, so it fails to distinguish itself from siblings like ui_get_element or ui_read_tree.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description gives no context, prerequisites, or exclusions, leaving the agent without any decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ui_get_elementAInspect
Re-resolves a previously returned element_ref (its bounds/state may have changed).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains that the tool re-resolves element bounds/state, but does not disclose potential failure modes (e.g., element no longer exists), or whether it issues a new UI query. With no annotations, more detail would be beneficial.
Agents need to know what a tool does to the 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 conveys the core purpose without any extraneous information. It is appropriately 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?
For a tool with no parameters and a straightforward purpose, the description provides sufficient context. No output schema exists, but the return value is implied by the description (updated element_ref). It is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description does not need to add parameter meanings. It is clear and sufficient for the no-parameter case.
Input schemas describe structure but not intent. Descriptions should explain 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 re-resolves a previously returned element_ref to update its bounds/state. This distinguishes it from siblings like ui_find_element (which finds new elements) and ui_click (which interacts with elements).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when an element may have changed state, but it does not explicitly state when to use this tool versus alternatives like ui_find_element, nor does it mention prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ui_keystrokeDInspect
Sends a key combination, e.g.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no additional behavioral context in the description, the agent has no information about side effects, whether the action is destructive, or if focus is required. The description is purely functional and incomplete.
Agents need to know what a tool does to the 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 but incomplete due to trailing 'e.g.' without content. While brevity is valued, this undermines clarity. A proper description should be self-contained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description must provide full context. It fails to define valid key combinations, behavioral expectations, or interaction with other UI tools. The tool is essentially undocumented.
Complex tools with many parameters or behaviors need more documentation. 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 properties, so schema coverage is 100%. However, the description fails to explain how to specify a key combination or what keys are accepted. The truncated example ('e.g.') shows the tool expects some input, but no guidance is given, making the parameter semantics unclear.
Input schemas describe structure but not intent. Descriptions should explain 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 'Sends a key combination' but ends with 'e.g.' without completing the example. The verb and resource are vaguely clear, but the missing example leaves ambiguity about what constitutes a valid key combination, especially given the large set of sibling UI 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 ui_keystroke versus alternatives like ui_type, safari_type, or other browser-specific tools. The description does not mention context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ui_read_treeAInspect
Returns a COMPACT accessibility tree of a running native app's labeled + interactive elements (buttons, lin...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It does disclose a key behavioral trait: the tree is 'COMPACT' and limited to 'labeled + interactive elements', which helps the agent know not to expect all nodes. However, it lacks details on whether accessibility permissions are required, how the tree is structured, or if there are any latency implications.
Agents need to know what a tool does to the 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 immediately states the primary purpose. It uses no filler words and every element ('COMPACT', 'labeled + interactive') adds value. Although truncated in the prompt, the provided text is highly 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?
The tool lacks an output schema and annotations, so the description should clarify the return format, but it only says 'accessibility tree' without specifying whether it is a string, JSON, or a visual representation. It also omits prerequisites like 'app must be running' or accessibility permissions. Given the zero-parameter simplicity, the description is incomplete for an agent to confidently use the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema is empty, so there are no parameter semantics to clarify. Per the rubric, a baseline of 4 is appropriate when there are no parameters; no additional description is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a 'COMPACT accessibility tree' of a running native app's 'labeled + interactive elements', using a specific verb ('Returns') and a specific resource. This distinguishes it from siblings like ui_get_element and ui_find_element, which target individual elements rather than the whole tree.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. It does not mention alternatives or conditions such as 'use this to get the full UI structure' or 'prefer ui_find_element for locating a single element'. The description is purely functional with no contextual placement among the many UI-related sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ui_typeCInspect
Types text into the focused control (or focuses element_ref first, then types).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It discloses the optional focusing step but is silent on error behaviors, support for special keys, input validation, or what happens if no control is focused. Additionally, it references 'element_ref' as an input, but the schema defines no parameters, creating inconsistency that undermines transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and efficiently conveys the core action. However, the mention of 'element_ref' without schema backing clutters the clarity. It earns a slight penalty due to this ambiguity but remains relatively 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 tool with no annotations, no output schema, and an empty input schema, the description should be more comprehensive. It lacks explanation of return values, input format for text, error conditions, and the nature of the focused control. Critical details are missing, making the tool hard to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters (100% coverage), so baseline is 3. The description adds little positive meaning—it mentions 'element_ref' which does not appear in the schema, potentially misleading the agent. It does not clarify what text to type or how to specify it, which is essential for a typing tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('types text') and resource ('focused control'), and mentions an optional preliminary focus step. However, it does not differentiate from sibling tools like chrome_type, safari_type, or web_type, which also type text. The lack of distinction limits clarity for an agent deciding between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., chrome_type, ui_keystroke). The description does not specify prerequisites, such as requiring a focused control, or mention cases where another tool should be preferred. This leaves 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.
ui_wait_for_elementBInspect
Deterministic synchronization — replaces all sleeps.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states deterministic synchronization and replacement of sleeps, but omits critical details: what happens if the element never appears (timeout, error?), how long it waits, whether it can be interrupted, and any side effects. This is insufficient for safe agent use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, earning its place with no wasted words. However, it is a phrase rather than a sentence, and could be restructured as a complete sentence for clarity while remaining concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no params, no output schema, no annotations), the description is the only source of information. It lacks coverage of error handling, timeout behavior, and how the tool determines which element to wait for (likely relying on prior context). This is insufficient for an agent to use it reliably alongside sibling UI tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty (0 parameters) with 100% coverage, so the schema already conveys all parameter info. The description adds no parameter-specific details, but per guidelines a baseline of 4 is appropriate for zero parameters. No improvement needed, though noting context-dependence would help.
Input schemas describe structure but not intent. Descriptions should explain 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 'Deterministic synchronization — replaces all sleeps' clearly indicates the tool is a smarter wait mechanism, and the name 'ui_wait_for_element' specifies it waits for a UI element. It conveys the purpose effectively but could more explicitly state it waits for an element to appear or become available.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool should be used instead of arbitrary sleep calls, but it provides no when-to-use vs. alternatives guidance. It does not compare with sibling tools like ui_find_element or other wait tools, nor does it mention prerequisites 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_calendar_eventCInspect
Updates an existing event in the Mac's Calendar app (Calendar.app) by ID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It does not disclose side effects, required permissions, error behavior (e.g., event not found), or that it modifies calendar data. It only says 'updates an existing event' without elaboration.
Agents need to know what a tool does to the 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, concise and front-loaded. However, it is under-specified given the missing parameters and behavioral details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is insufficient for a mutation tool with no output schema and no annotations. It fails to specify which fields can be updated, the input format, or what the response looks like. The missing ID parameter is a critical gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no properties, yet the description implies an ID parameter ('by ID'). This is misleading and a contradiction. Schema coverage is 100% (empty), so the description adds no value and actually creates confusion.
Input schemas describe structure but not intent. Descriptions should explain 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 ('updates'), resource ('existing event in Mac's Calendar app'), and method ('by ID'). It distinguishes from sibling tools like create_calendar_event and delete_calendar_event.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing an event ID from list_calendar_events) or scenarios where other tools like create_calendar_event are more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_local_mcpBInspect
Checks whether an LMCP update is available for this computer and whether one is already downloaded.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that this is a non-mutating check operation (updating availability + download status), which corrects the mutation-implying name. But it does not describe the shape of the result, whether it requires network/credentials, or what should happen next.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with no filler, and the core behavior is front-loaded. Appropriately sized for a simple zero-arg check.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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-param tool with no output schema, the description gives a reasonable sense of the return (update available? already downloaded?) but omits next-step routing to lmcp_install_upgrade and any environment/auth context. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to compensate for. Baseline of 4 applies; no additional parameter meaning is needed or expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Checks whether') and resource (LMCP update availability and download status). It importantly corrects the potentially misleading name 'update_local_mcp' by clarifying this is a check, not an install. However, it does not distinguish itself from related siblings like lmcp_upgrade_diagnostics or lmcp_state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 lmcp_upgrade_diagnostics, lmcp_state, lmcp_doctor, or lmcp_install_upgrade, nor any stated prerequisites or follow-up actions. The agent is left to infer context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_noteBInspect
Updates an existing note in Apple Notes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but provides minimal behavioral detail. It only states that the tool 'updates' a note, implying mutation, but does not disclose destructive consequences, permission requirements, or whether updates are incremental or overwriting.
Agents need to know what a tool does to the 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 concise and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and no parameters, the description is severely lacking. It fails to explain prerequisites, return values, or how the tool identifies the target note, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero properties, yet the tool presumably needs to identify which note to update. The description does not explain how this identification occurs (e.g., via implicit context or state), leaving a semantic gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('updates') and the resource ('existing note') within 'Apple Notes'. It effectively distinguishes itself from sibling tools like 'create_note', 'read_note', and 'search_notes' by specifying the update operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites (e.g., noting which note to update) or when to choose update over create or other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_reminderCInspect
Updates an existing reminder in Reminders.app.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist. The description lacks behavioral details: what fields can be updated, whether the operation is reversible, or any side effects. The empty input schema suggests potential incompleteness.
Agents need to know what a tool does to the 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 overly terse. It front-loads the purpose but omits necessary detail, making it borderline under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and an empty input schema, the description is severely incomplete. It does not specify how to identify the reminder, what fields are updatable, or the expected outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero properties, so the description adds no meaning. Even with 100% schema coverage (empty schema), it fails to clarify how to specify which reminder to update or what values to change.
Input schemas describe structure but not intent. Descriptions should explain 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 resource (existing reminder in Reminders.app). It distinguishes from siblings like create_reminder, delete_reminder, and complete_reminder, though no further detail is provided.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No prerequisites or context for when updates are appropriate, such as needing a specific reminder identifier or list membership.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_self_diagnosisAInspect
Returns the self-update health state: current version, latest available, pending update status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It implies a read-only diagnostic through 'Returns', and it lists the returned health fields, but it does not explicitly state read-only safety, permission needs, or side effects. The name 'update_self_diagnosis' adds slight ambiguity because it could be mistaken for an update action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It directly states what the tool returns and the key data fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no input parameters and no output schema, the description reasonably covers the return values an agent can expect. It is nearly complete for a simple zero-parameter diagnostic. However, it does not clarify how or when this diagnostic should be used relative to sibling diagnostic tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to document. This meets the baseline of 4 for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific read verb and resource: 'Returns the self-update health state', and it enumerates the key fields (current version, latest available, pending update status). This makes the tool's function clear. It does not, however, distinguish itself from diagnostic siblings like lmcp_doctor, lmcp_state, or lmcp_upgrade_diagnostics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 explicit guidance about when to use this tool versus alternatives. Given the many diagnostic and state-checking siblings in the toolset, an agent receives no routing help. The description only implies a context by describing what it returns.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_blur_regionAInspect
Pixelates/blurs one or more rectangles over the video — the tool for redacting PII (an email pane, a name)...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It indicates destructive behavior (blurring/pixelating) but does not explain how rectangles are specified, what the output is, or potential side effects like permanent changes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that conveys the core purpose without 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 no parameters and no output schema, the description should clarify how the agent invokes the tool. It lacks guidance on specifying rectangles or expected input, making it incomplete for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so baseline is 4. However, the description fails to explain how the tool determines which rectangles to blur, leaving ambiguity. It adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's action: pixelating/blurring rectangles over video for redacting PII. It distinguishes itself from other video tools like trim, concat, etc., by specifying its unique redaction purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states 'the tool for redacting PII', providing clear context for when to use it. It does not explicitly list when not to use it, but the use case is well-defined, and sibling tools cover other video operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_concatCInspect
Stitches multiple videos end-to-end, in order, into one NEW file (e.g.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions that a new file is created, but does not disclose how videos are selected, valid formats, output location, or any other behavioral traits. With no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is abruptly cut off, making it incomplete. It lacks proper structure and is not concise due to the truncation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 video concatenation and the lack of parameters or an output schema, the description is severely inadequate. The agent has no way to understand how to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and the description does not explain how to specify which videos to concatenate. Schema coverage is 100% by default, but the description adds no meaning; the agent cannot infer how to invoke the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts to state the purpose clearly - stitching videos end-to-end into a new file. However, it is cut off (ending with 'e.g.'), leaving the example incomplete, which slightly diminishes clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like video_trim or video_blur_region. Sibling tools exist for other video operations, but no differentiation is made.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_export_gifCInspect
Exports a video (or a [start_ms,end_ms] slice of it) to an optimized looping GIF — for README/social.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description mentions 'optimized looping GIF' and optional slice but does not disclose side effects (e.g., file output, temporary files) or requirements (how is video specified?). Insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, concise but omits critical details like how to specify the video. Not maximally efficient as it lacks front-loaded key info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is too sparse. It does not explain how to provide the video source or what the output format details are. Incomplete for a tool with this functionality.
Complex tools with many parameters or behaviors need more documentation. 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 zero parameters, yet description implies a [start_ms,end_ms] slice parameter. This is a contradiction: the description adds misleading information beyond schema. Baseline for 0 params is 4, but the contradiction warrants a 1.
Input schemas describe structure but not intent. Descriptions should explain 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 exports a video or a slice to an optimized looping GIF, with a specific use case (README/social). It distinguishes from video_trim and other siblings through its focus on GIF format and optimization.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The mention 'for README/social' implies a context but does not provide exclusion criteria or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_reframeDInspect
Crops a video to a target aspect ratio (e.g.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only says 'crops', implying a destructive or transformative operation, but provides no details on whether it modifies the original, creates a new file, or any side effects. No annotations exist to compensate.
Agents need to know what a tool does to the 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 but incomplete—it ends mid-sentence. It is underspecified rather than concisely complete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and a truncated description, the tool is severely incomplete. An agent cannot understand how to invoke it or what result 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, yet the description mentions a target aspect ratio without explaining how it is specified. The description adds no value beyond the empty 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 starts to say it crops a video to a target aspect ratio but is cut off, leaving ambiguity about what exactly it does. It fails to distinguish from sibling tools like video_trim or video_concat.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 use cases, or comparisons to related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_trimCInspect
Trims a video to one or more time ranges (milliseconds), concatenated in order into a NEW file — e.g.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It states that the tool trims and creates a new file, but fails to mention what happens to the original, output format, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and to the point, but it ends abruptly with 'e.g.' without completing the thought. It is concise but not fully structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool likely requires input parameters (time ranges), the empty schema and incomplete description make it impossible for an agent to invoke correctly. There is no output schema, and the description lacks details on file handling or result format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, yet the description implies time ranges in milliseconds are needed. This contradiction means the description fails to provide actual parameter semantics, making the tool unusable as specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool trims a video to one or more time ranges and concatenates them into a new file. However, it ends with 'e.g.' without providing an example, and it does not differentiate from the sibling 'video_concat' tool beyond implying trimming vs concatenation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 video_concat or video_export_gif. There are no usage conditions, prerequisites, or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_clickBInspect
Clicks an element on the current page.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are given, and the description does not disclose any behavioral traits such as wait behavior, click type, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, but it is not overly concise to the point of missing essential information. It earns its place by stating the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and parameters, the description is too minimal. It does not specify preconditions, postconditions, or what constitutes a successful click, especially important given many similar sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the baseline is 4. The description adds no extra parameter meaning, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action ('clicks') and the resource ('an element on the current page'), making the purpose clear. However, it does not distinguish itself from similar sibling tools like chrome_click or safari_click.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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, nor any context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_evalCInspect
Runs arbitrary JavaScript in a web session and returns the last expression's value, which must be a plain J...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the return contract (last expression value, must be a plain JSON-serializable value), which is genuinely useful, but it omits session requirements (does it create or reuse a session?), sandbox/security restrictions, timeout behavior, and whether DOM or network access is permitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is well front-loaded with the verb and resource, but it is literally cut off mid-token, so the most operationally important clause (the required return type) is never completed. Size itself is fine; the defect is completeness of the sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, no parameters, and a truncated description, an agent lacks the information needed to call this correctly: which session it targets, how the code is passed, and what shapes of return value are accepted. Only the return-value concept is addressed, and even that is 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 declares zero properties, which normally sets a baseline of 4. But the description implies an implicit code argument ('Runs arbitrary JavaScript') and a target session, neither of which appears in the schema, leaving a real ambiguity about how the script is actually supplied. That unresolved mismatch pulls it below the zero-param baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Runs arbitrary JavaScript in a web session') and names the return contract ('returns the last expression's value'), which is enough to distinguish it from siblings like web_extract or web_read. However, the sentence is truncated mid-word ('which must be a plain J...'), so the core value-type constraint is left incomplete, and there is no 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 when-to-use guidance, no prerequisites, and no alternatives are named. Given siblings such as web_extract, web_find, and web_read, the agent gets no signal about when raw JS evaluation is preferable to those higher-level tools, or whether a web session must already exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_extractBInspect
Scrapes structured data from the current page.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. It only says 'scrapes structured data,' omitting whether the operation is read-only, modifies page state, or requires specific conditions. The agent cannot infer side effects or dependencies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but lacks additional context such as output format or usage note. It earns its place but could be more helpful without much bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters, no output schema, and no annotations, the description is insufficient. The term 'structured data' is vague, and the agent is left guessing about the return format or any constraints. More completeness is needed to set expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100%. The description adds no parameter detail, but the baseline is 4 for no parameters, as parameter documentation is not needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scrapes structured data from the current page, using a specific verb ('scrapes') and resource ('current page'). Among siblings like web_read and web_find, this distinguishes it as a structured extraction tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over alternatives. The agent receives no context about prerequisites (e.g., page must be loaded) or when to choose web_extract instead of web_read or web_find.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_findAInspect
Finds elements on the current page of a web session so you can decide what to click or type into.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states it 'finds elements' but does not detail what information is returned (e.g., CSS selectors, text, coordinates) or any side effects (e.g., highlighting). Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is concise, front-loaded, and every word adds value. No wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description is reasonably complete. It explains the tool's purpose and typical workflow placement. However, it could benefit from describing the return type or format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so baseline is 4. The description does not need to add parameter info. It hints at output usage but lacks details on return format, which is acceptable given no 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 tool finds elements on the current web page, using a specific verb ('find') and resource ('elements on the current page'). It distinguishes itself from siblings like web_click or web_type by indicating it is a precursor step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage before clicking or typing ('so you can decide what to click or type into'), providing context. However, it does not explicitly mention when not to use it or list alternatives among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_loginBInspect
Opens a real browser window on the Mac for the user to sign into a website themselves (you never handle the...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and discloses that the tool requires user interaction in a real browser window. However, it does not describe what happens after login or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise but truncated, missing a complete statement. It is front-loaded but incomplete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and no annotations, the description should provide complete context. It explains the action but omits what happens after login (e.g., return value or success indication).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so the description does not need to add parameter semantics. Baseline for zero parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool opens a real browser window for user sign-in, distinguishing it from other web automation tools. It uses a specific verb and resource, but is slightly truncated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when manual user login is needed, but does not explicitly state when not to use it or mention alternatives among the many sibling web tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_readAInspect
Reads the current page of a web session so you can reason over it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits. It only states 'reads the current page', lacking details on output format, side effects, or requirements. The minimal disclosure is insufficient for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with a clear verb-object structure. It is front-loaded and contains no wasted words, earning its place efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no parameters, the description covers the basic action. However, it omits what exactly is read (HTML, text, markdown) or how the output is structured, which could leave an agent uncertain about the return value.
Complex tools with many parameters or behaviors need more documentation. 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 (trivial), the description adds no parameter-specific meaning. Baseline for zero-parameter tools is 4, and the description succinctly describes the action without needing parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads the current page of a web session for reasoning. It uses a specific verb ('reads') and resource ('current page of a web session'), and implicitly distinguishes from siblings like 'web_navigate' or 'web_click'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for reading page content but offers no explicit when-to-use or when-not-to-use guidance. It does not mention alternatives like 'web_extract' or 'web_eval', leaving differentiation to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_screenshotBInspect
Captures a PNG screenshot of the current page of a web session (returned inline so web AIs can see it).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the output is returned inline but does not disclose whether the session is preserved, any side effects, or dependencies. For a tool with zero annotations, more transparency is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence of 14 words that front-loads the action. Every word adds value, with no redundancy. Very 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 tool with no parameters and no output schema, the description adequately covers the core functionality. It specifies the output type (PNG) and format (inline). Minor gaps: does not specify if it captures viewport or full page, or if an active session is required, but these are implied by 'current page of a web session'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema coverage is 100%. The description adds no parameter info, which is appropriate. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (captures) and the resource (PNG screenshot of current page). It specifies the output format and purpose (returned inline for web AIs). However, it does not explicitly distinguish from sibling tools like screenshot_capture or web_read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There is no mention of prerequisites (e.g., need an active web session) or exclusions. The description only states what it does, not the context of use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_session_closeAInspect
Closes a web-automation session's window and frees it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It states 'frees it' but does not explain what is freed (memory, handles, auth). No mention of impact on other sessions or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: one sentence conveying the core action with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple tool with no parameters and no output schema. However, missing guidance compared to many sibling tools; could mention return value or confirmation.
Complex tools with many parameters or behaviors need more documentation. 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 zero parameters, so no parameter info needed. Baseline for 0 params is 4; description adds no param info but also doesn't need to.
Input schemas describe structure but not intent. Descriptions should explain 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 'closes' and the resource 'web-automation session's window', and the action 'frees it' is specific. It distinguishes from sibling tools like web_session_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., closing a specific tab vs entire session). No prerequisites or side effects mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_session_deleteAInspect
Deletes a SAVED web-automation login profile: closes its window if open, erases its cookies and site data f...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It transparently lists consequences: closing the open window and erasing cookies and site data, which clearly conveys that this is a destructive operation. It could explicitly say 'irreversible', but 'deletes' and 'erases' are already strong signals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the action front-loaded and the side effects listed compactly after a colon. Every word contributes meaning, and there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, destructive tool with no output schema, the description covers the core action and its immediate effects well. The only slight gap is that it does not specify which profile is deleted when multiple saved profiles exist, but the absence of parameters implies a context-determined or singleton target.
Complex tools with many parameters or behaviors need more documentation. 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 there is no parameter documentation burden on the description. The schema is trivially 100% covered, and the baseline for zero-parameter tools is appropriately high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Deletes') and a specific resource ('SAVED web-automation login profile'). It also enumerates concrete effects, which makes it clearly distinct from siblings like web_session_close that only close an active session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance about when to choose this tool over related alternatives such as web_session_close or web_login, and it does not mention any prerequisites or exclusions. The destructive use case is implied but never framed as a choice point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_session_listAInspect
Lists your web-automation login profiles: every SAVED login (persisted on disk, so web_login/web_navigate c...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses that logins are persisted on disk and that the operation is a list (read-only), but does not explain return format, side effects, or whether profiles can be expired/invalid. The truncated clause may have added more, but based on visible text this is 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 front-loaded and efficient, beginning with the purpose. However, the text appears truncated mid-sentence, so the structure is incomplete and a full sentence is not presented.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 list tool with no output schema, the description is largely complete: it states what is listed and that entries are saved on disk. The truncated mention of web_login/web_navigate slightly reduces completeness, and return details are not specified, but the tool is simple enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty with zero parameters, so the baseline of 4 applies. There are no parameter semantics to document, and the description doesn't need to compensate for schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States 'Lists your web-automation login profiles' and scopes to 'every SAVED login (persisted on disk)', clearly distinguishing this from sibling actions like web_login or web_session_close. The verb 'Lists' plus the specific resource makes the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description references web_login/web_navigate as consumers of saved logins, implying when to use the list. However, it does not explicitly state exclusions or alternative tools, so it provides clear context but not full when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_showAInspect
Brings a web session's browser window to the FRONT so the USER can take over directly — solve a CAPTCHA, co...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose all behavioral traits. It only mentions bringing the window to front and user takeover, omitting details like side effects, prerequisites (e.g., existing session), or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but it appears truncated (ends with 'co...'), which reduces clarity and professionalism.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 no parameters and no output schema, the description is fairly complete. It explains the primary action and a common use case. However, it could mention the relationship to browser sessions or session management tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. No param information is needed, and the description doesn't need to compensate.
Input schemas describe structure but not intent. Descriptions should explain 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 brings a web session's browser window to the front for user interaction, e.g., to solve a CAPTCHA. It distinguishes from sibling tools that perform automated actions like clicking, navigating, or reading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when user intervention is needed, like solving CAPTCHAs. It provides context but lacks explicit when-not-to-use instructions or alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_typeCInspect
Types text into a form field (input/textarea) or a rich-text editor (a contenteditable element) on the curr...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and mostly does not meet it. It does distinguish plain input/textarea from contenteditable rich-text targets, which is a useful behavioral nuance, but it never says whether typing replaces or appends to existing content, whether the field must already be focused, or whether a web session must be open.
Agents need to know what a tool does to the 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 one visible sentence is front-loaded and efficient, but it is cut off mid-word ('on the curr...'), leaving the description incomplete. There is no waste, but there is also no intact structure to evaluate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and no parameters, the description is the only source of context, and it omits session/authentication requirements, focus prerequisites, and how typed content is delivered. For a web automation write action it is not complete enough to call confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties, so the nominal baseline is 4, but for a tool whose whole job is inserting text the description never explains how the text or the target element is supplied (presumably from prior element-finding state). That omission, combined with the truncated ending, keeps it at 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and target: 'Types text into a form field (input/textarea) or a rich-text editor (a contenteditable element) on the curr[ent page]'. That is more precise than a bare name, and the element-type enumeration is useful. It does not distinguish itself from the close sibling ui_type, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites (e.g. whether the target must first be focused or located via ui_find_element/web_find), and no mention of the alternative ui_type. An agent has to infer all routing 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.
web_wait_forAInspect
Waits (polls, not a fixed sleep) until an element appears on the page, or times out.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that it polls rather than sleeping and that it times out, which is useful behavioral information. However, it fails to mention what happens on timeout (error vs. silent return), what it returns, or how the element is identified given no parameters, leaving significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It front-loads the key action ('Waits'), clarifies the mechanism ('polls, not a fixed sleep'), and states the termination condition ('appears... or times out'). This is appropriately 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?
Despite the low complexity, the description is incomplete. It doesn't specify how the target element is chosen (since there are no parameters), what the timeout duration is, what happens on timeout, or what the return value indicates. This ambiguity could prevent an agent from using 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?
The input schema has zero parameters, so the baseline is 4. The description doesn't add parameter details, but it also doesn't need to for zero params. However, it mentions 'an element' without clarifying how that element is specified, which is a slight omission but doesn't reduce the score below 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 waits (polls) until an element appears or times out. It uses a specific verb and resource, making the core purpose clear, though it doesn't explicitly differentiate from sibling wait tools like chrome_wait_for or safari_wait_for.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (wait for an element rather than a fixed sleep) but provides no explicit guidance on when to choose this tool over alternatives, nor any exclusions or prerequisites. The 'polls, not a fixed sleep' hint gives some context, but it's not enough to guide tool selection among the many sibling wait tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whatsapp_connectAInspect
Link WhatsApp to Local MCP by showing a QR code right here in the chat — no Terminal needed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the primary behavioral trait: it shows a QR code in the chat, requiring user action to scan. No annotations are provided, so the description carries the full burden. It effectively communicates the non-destructive, user-interactive nature of the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently communicates the tool's action and benefit. It contains no 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?
Given the tool's simplicity (no parameters, no output schema), the description is nearly complete. It explains what it does and how, though it could explicitly mention that the user needs to scan the QR code with their phone. Still, it provides sufficient context for an AI agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema is empty. The description adds meaningful context beyond the schema by explaining that a QR code is displayed in the chat, which is the core mechanism. This fully compensates for the lack of parameters, exceeding the baseline of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: linking WhatsApp to Local MCP via a QR code shown in the chat. It uses a specific verb ('Link') and resource ('WhatsApp'), and it distinguishes itself from other WhatsApp-related sibling tools like whatsapp_disconnect, whatsapp_list_chats, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly tells when to use the tool: when you want to connect WhatsApp without using the terminal. It does not provide explicit exclusions or alternatives, but given the lack of other WhatsApp connect tools among siblings, the usage context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whatsapp_create_groupCInspect
Creates a WhatsApp group and adds the given participants.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only states the action. It does not mention side effects, required authentication, error handling, or any limitations. The implication of creating a group is clear, but no additional transparency 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 that is concise and easy to parse. It wastes no words, though it could benefit from additional 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 lack of annotations, output schema, and parameter definitions, the description is too sparse. It omits critical context such as prerequisites (e.g., whether WhatsApp must be connected), return values, and error conditions, making it incomplete 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 input schema is empty, yet the description references 'given participants', implying parameters that do not exist in the schema. This mismatch fails to explain how participants are specified, and the description does not compensate for the lack of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain 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 ('Creates a WhatsApp group') and the resource ('WhatsApp group'), which distinguishes it from sibling tools like whatsapp_group_info or whatsapp_send_message. However, the phrase 'adds the given participants' implies parameters that are not defined in the schema, slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as whatsapp_list_groups or whatsapp_send_message. There is no mention of prerequisites (e.g., WhatsApp connection) or exclusions, leaving the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whatsapp_diagnoseBInspect
WhatsApp health check (wacli doctor): which account is linked (number), last sync time, store lock, message...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It discloses the checks performed and implies a read-only health inspection, but it does not explicitly state whether any state is changed, whether it contacts the network, or how errors and malformed outputs are handled.
Agents need to know what a tool does to the 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 the purpose front-loaded and immediately followed by useful details. It is compact, though the trailing 'message...' reads as incomplete or cut off, slightly weakening the structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-argument diagnostic, the core purpose and output areas are covered, but with no annotations or output schema, more context would help: prerequisites such as an active WhatsApp connection, return format, and whether the command is safe/non-destructive are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so no parameter clarification is needed. The description focuses on what the diagnostic reports rather than input semantics, which is appropriate for a no-argument tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('health check') and resource ('WhatsApp'), and lists concrete outputs such as linked account, last sync time, and store lock. It is clearly distinct from other whatsapp_* tools by focusing on diagnosis rather than messaging or connection setup, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to run this diagnostic versus related tools like whatsapp_sync, whatsapp_connect, or run_diagnostics. The phrasing implies troubleshooting use, but there are no stated conditions, exclusions, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whatsapp_disconnectAInspect
Unlink WhatsApp from Local MCP — logs out the linked device on this Mac (via wacli).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'logs out the linked device' but does not detail side effects, reversibility, or state changes after disconnection, leaving the agent underinformed about the tool's impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the action and context. Every word is meaningful, and there is no redundant or 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 action with no parameters, annotations, or output schema, the description is relatively complete. It tells the agent what the tool does and how, but could benefit from noting expected outcomes (e.g., connection state). Still adequate given simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the input schema fully describes this (100% coverage). The description adds no parameter information, but this is acceptable given the absence of parameters. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (unlink/logout), the resource (WhatsApp from Local MCP, linked device on this Mac), and the mechanism (via wacli). It effectively distinguishes from the sibling tool 'whatsapp_connect'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 context that this tool is for disconnecting WhatsApp from Local MCP, implying use after a connection is established. However, it does not explicitly state when to use or not use this tool, nor mention alternatives beyond the implicit 'whatsapp_connect'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whatsapp_group_infoBInspect
Fetches a WhatsApp group's live info + participant list.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It only states 'Fetches' (read-only) but fails to mention any side effects, required connection state, what 'live info' specifically includes, or return format. This is a significant gap for a tool that might depend on external state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the verb and resource. It is appropriately sized for the tool's simplicity, though 'live info' is a bit vague and could be more precisely stated without much added length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description is mostly adequate but lacks details on what 'live info' encompasses and how the group is specified. Given the absence of output schema and annotations, more context about return values and usage would 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 input schema has zero parameters, so no parameter documentation is needed. The description doesn't need to explain any parameters, but it also doesn't clarify how the tool identifies which group to fetch, which could be confusing. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Fetches') and clearly identifies the resource ('WhatsApp group's live info + participant list'). This distinguishes it from siblings like 'whatsapp_list_groups' which lists groups rather than details for a specific group, though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus other WhatsApp tools, nor any prerequisites such as needing an active connection or selecting a group first. The description gives no context for its intended use case or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whatsapp_list_accountsBInspect
List the WhatsApp accounts linked to Local MCP on this Mac: each one's id (wa1, wa2, …), the label the user...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It implies a harmless read and describes the returned entry shape (id such as wa1/wa2, a user label), which is useful, but it does not state read-only semantics, whether accounts must be connected first, or what an empty list means. The text is also visibly truncated.
Agents need to know what a tool does to the 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 sentence is front-loaded with the verb and scope, and the parenthetical id examples are compact. It is cut off mid-sentence, so full efficiency cannot be confirmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only source of behavioral information, and it covers scope and partial return shape. It stops short of stating prerequisites, what to do when the list is empty, or how the result relates to whatsapp_connect / set_default_whatsapp_account.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify; baseline is 4. The mention of ids and labels describes outputs rather than inputs, which is harmless.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('WhatsApp accounts linked to Local MCP on this Mac'), and even begins enumerating the returned fields. It is distinguishable from the many other list_accounts-style siblings because the platform and scope (this Mac) are named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use guidance is given, and no alternatives are named. An agent cannot tell from the text whether this should be called before whatsapp_connect, before set_default_whatsapp_account, or as a standalone check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whatsapp_list_chatsAInspect
Lists WhatsApp conversations with last message preview.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It correctly indicates a read operation with a preview, but does not disclose pagination, authentication requirements, or any side effects. The behavioral insight is 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, clear sentence with no wasted words. It is front-loaded and efficiently conveys 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?
No output schema is provided, and the description does not explain what properties each chat entry contains (e.g., name, last message sender, timestamp). The agent lacks sufficient information to interpret the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the input schema is empty. The description adds no parameter info because none exist. According to guidelines, 0 parameters yields a baseline of 4, which 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 tool lists WhatsApp conversations with a last message preview. The verb 'lists' and noun 'conversations' are specific, and it is distinct from sibling tools like whatsapp_read_messages or whatsapp_search_messages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., whatsapp_search_messages for searching, or signal_list_chats for Signal). The description lacks any contextual cues for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whatsapp_list_groupsAInspect
Lists the WhatsApp groups this account is in (from the local store — run whatsapp_sync first if a just-crea...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden. It discloses that data comes 'from the local store,' implying a cached/local snapshot rather than live data, and warns about the need to sync. This is meaningful behavioral context beyond the tool's name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with a critical usage hint. Every word earns its place, and the structure is front-loaded with the main 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 simple zero-parameter list tool without an output schema, the description is adequately complete. It explains what it lists and adds a sync prerequisite. It could mention the return format, but that is less critical for a list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is trivially 100%. The description adds no parameter details because none exist. Per the rubric, a 4 is the baseline for 0 params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Lists the WhatsApp groups this account is in,' which is a specific verb+resource+scope. It distinguishes from sibling tools like whatsapp_list_chats by explicitly focusing on groups rather than all chats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 includes a clear prerequisite: 'run whatsapp_sync first if a just-crea...' This tells the user when additional setup is needed. However, it does not mention alternatives like whatsapp_group_info or explicitly state when NOT to use this tool, so it loses a point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whatsapp_read_messagesCInspect
Reads messages from a specific WhatsApp chat.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description only states 'reads messages' without disclosing behavioral traits such as whether messages are marked as read, chat selection constraints, or rate limits. The burden is high due to missing annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise but vague. It lacks front-loading of critical information, and the term 'specific' is unclear without corresponding parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complexity is low, but no output schema exists. The description fails to explain what the returned messages include (e.g., content, metadata). For a read tool, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters (100% coverage), so baseline is 4. However, the description mentions 'specific WhatsApp chat,' implying a parameter that doesn't exist, contradicting the schema. This contradiction lowers the score.
Input schemas describe structure but not intent. Descriptions should explain 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 tool reads messages from a specific WhatsApp chat, but does not specify how to identify the chat. With no parameters in the schema, the concept of 'specific chat' is unsupported, creating ambiguity. It distinguishes from siblings like 'whatsapp_search_messages' but not clearly from 'read_messages'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'whatsapp_list_chats' or 'whatsapp_search_messages'. The description lacks context for appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whatsapp_read_pollBInspect
Reads WhatsApp poll results.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only says 'Reads' without explaining output format, behavior when no polls exist, or any side effects. This is essentially just the verb, providing no meaningful behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no fluff, but it is under-specified for a tool that could benefit from more context. It is not a tautology, but it is minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and no parameters, the description is insufficient for an agent to understand how to invoke the tool correctly. It doesn't specify how a poll is identified (e.g., current chat, most recent poll) or what results are returned, relying on implicit context not provided.
Complex tools with many parameters or behaviors need more documentation. 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 empty schema is already complete. The description adds no parameter details, but none are needed since there are none to explain.
Input schemas describe structure but not intent. Descriptions should explain 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 (Reads) and the resource (WhatsApp poll results), distinguishing it from sibling tools like whatsapp_read_messages and whatsapp_send_poll. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as whatsapp_read_messages. It doesn't mention prerequisites (e.g., requiring a WhatsApp connection) or which poll to read, leaving the agent without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whatsapp_search_contactsCInspect
Searches your WhatsApp contacts (synced metadata) by name or number — use it to resolve a person to their J...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of disclosing behavior. 'Searches' implies a read-only operation, but it does not mention prerequisites (e.g., syncing via whatsapp_sync), potential staleness of synced metadata, or what the return value looks like. This is minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence but is truncated mid-phrase ('to their J...'), making it incomplete. It is not well-structured because the essential point is cut off, and the reader is left with an unfinished thought.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fails to explain how to use the tool given the empty parameter schema, what it returns (no output schema), or any preconditions like syncing contacts. The truncation exacerbates the incompleteness, leaving critical information missing for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, but the description claims the tool searches 'by name or number', suggesting the agent can specify these fields. This is a direct contradiction between the description and the schema, leaving the agent unable to provide the necessary input. The description adds misleading meaning rather than clarifying the empty 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 ('Searches your WhatsApp contacts') and the resource, and specifies the search criteria ('by name or number'). It also provides a use case ('use it to resolve a person to their J...'). However, the sentence is truncated, cutting off the exact purpose, and the empty parameter schema contradicts the implied input, preventing a higher score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage context: 'use it to resolve a person to their J...' This tells the agent when to apply the tool. It does not mention alternatives or exclusions, but the context is sufficiently specific for most scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whatsapp_search_messagesBInspect
Offline full-text search across all WhatsApp chats.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description only states 'offline' and 'all chats' but fails to disclose read-only nature, permission requirements, or limitations of the search.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with 10 words conveys the core purpose without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description omits how to specify a search query (no input schema provides a query parameter), leaving the tool's usage unclear despite a simple concept.
Complex tools with many parameters or behaviors need more documentation. 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, the description adds context (offline, all chats) beyond the empty schema, meeting the baseline for no 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 tool does an offline full-text search across all WhatsApp chats, using a specific verb and resource, distinguishing it from sibling tools like 'search_messages'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whatsapp_send_fileCInspect
Sends a file attachment to a WhatsApp chat.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description fails to disclose behavioral traits such as whether the tool is destructive, required permissions, or rate limits. It only states it sends a file, which implies mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise, but it lacks structure and front-loading of critical information like required inputs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is too brief given the tool's complexity (involves file I/O and messaging). No output schema or annotations exist, making it incomplete for safe usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0 parameters in the schema, the description implies a file attachment and chat context, but no parameters are defined to specify these. The description adds no semantic value beyond the empty 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 sends a file attachment to a WhatsApp chat. However, it does not differentiate from the sibling 'whatsapp_send_message' or specify file types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., 'whatsapp_send_message' for text). No prerequisites mentioned (e.g., must be connected via 'whatsapp_connect').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whatsapp_send_messageBInspect
Sends a text message to a WhatsApp chat.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure, yet it only states the basic action without mentioning side effects, prerequisites, or error conditions like requiring a prior connection or non-existent chat.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words, but it could be slightly more informative without breaching conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and lack of output schema, the description is too sparse—missing context like requiring a connection via whatsapp_connect or specifying the chat identifier.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so schema coverage is trivially 100%. The description adds no value beyond the schema, but the baseline for zero parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'sends' and the specific resource 'text message to a WhatsApp chat', which distinguishes it from sibling messaging tools like send_email or signal_send_message.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., signal_send_message), nor any prerequisites such as needing a WhatsApp connection or chat identification.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whatsapp_send_pollCInspect
Sends a poll to a WhatsApp chat/group — everyone in the chat sees it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only mentions that everyone in the chat sees the poll, which is a minimal behavioral trait. It does not disclose potential side effects, required permissions, connection requirements, or error behavior, leaving significant gaps 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, concise sentence with no wordiness. It is front-loaded with the core action. However, it is under-specified, lacking essential information. Given the conciseness dimension focuses on economy of expression rather than completeness, a score of 4 is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 not simple; sending a poll requires multiple pieces of information and likely has prerequisites, such as an active WhatsApp connection. The schema is empty and there is no output schema or annotations. The description does not cover prerequisites, how to indicate the target chat, poll options, or failure scenarios, making it incomplete for safe and correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no properties, so there are no formal parameters. The description does not explain how to specify the poll question, options, or target chat/group. Since the tool logically requires such details, the absence of any parameter guidance is a major deficiency. The baseline for 0 params is 4, but the description fails to clarify that the tool relies on natural language context or another mechanism, so it drops to 2.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: sending a poll to a WhatsApp chat/group, and adds a specific behavioral detail that everyone in the chat sees it. It effectively distinguishes itself from sibling tools like whatsapp_send_message and whatsapp_send_file by focusing on the 'poll' object type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as whatsapp_send_message. It does not mention prerequisites (e.g., WhatsApp connection), target selection, or exclusions. The only implied usage is for sending polls, but no explicit when/when-not guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whatsapp_syncCInspect
Starts WhatsApp pulling the latest messages, groups and contacts into the local store and returns right awa...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
'Returns right awa...' (truncated) suggests it returns immediately before the sync completes, which is a critical behavioral trait - it implies an asynchronous operation. But this is cut off and incomplete, and with no annotations, the description leaves key behaviors (auth requirements, whether it blocks, error handling) undocumented. The truncated text severely limits transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence but is truncated at 'returns right awa...', which is a severe structural flaw for an agent-facing definition. The front-loaded verb is good, but the incomplete sentence fails to deliver critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotations, and the description is cut off mid-word. For a tool that appears to trigger an async background sync, an agent needs to know it returns immediately, whether to poll for completion, and what state it populates. The truncation makes this 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?
Zero parameters, so baseline 4 applies. The description doesn't need to explain parameter semantics since none exist, and it doesn't confuse the matter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (pulling) and resource (messages, groups, contacts into the local store), which is clear enough. However, with many WhatsApp siblings (whatsapp_read_messages, whatsapp_list_groups, whatsapp_search_messages), it doesn't clearly distinguish sync from read/list operations - the relationship (sync populates the store that reads use) is not spelled out.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is a startup/refresh operation via 'Starts WhatsApp pulling', but it doesn't explicitly state when to use sync vs whatsame_read_messages or whatsapp_list_chats. An agent must infer that sync should be called before reading, without confirmation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
window_focusAInspect
Brings a window (by window_id from list_windows) to the front and activates its app.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the core behavior (focus and activate) but does not disclose potential side effects (e.g., focus stealing), error conditions (e.g., invalid window_id), or required permissions. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence of 14 words, front-loading the action. Every word is necessary; no redundancy or extraneous details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a rich sibling ecosystem, the description is too minimal. It lacks prerequisites, error handling, or behavioral nuances expected for a focus-changing tool. Should provide more context for safe agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters. Per calibration, baseline is 4. The description adds context by stating that the window_id comes from list_windows, which is meaningful beyond the empty 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 (brings to front, activates) and the resource (window), referencing the source of window_id from list_windows. This is specific and distinguishes from sibling tools like window_set_frame.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that window_id comes from list_windows, hinting at appropriate usage, but lacks explicit when-to-use, when-not-to-use, or alternatives. It provides minimal guidance for an agent to decide between this and other window tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
window_set_frameDInspect
Pins a window (by window_id) to fixed bounds {x,y,w,h} in global points, so every take is framed identicall...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description fails to disclose any side effects, prerequisites, or constraints (e.g., whether the window must be visible, what happens if bounds are invalid). This is a significant gap for a tool that modifies window state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single incomplete sentence. While concise, it fails to convey essential information, and the truncation indicates it is not well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's purpose (setting window frame) and the absence of an output schema, the description should explain prerequisites (e.g., how to obtain window_id) and the exact behavior. The current description is incomplete and provides minimal 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?
The input schema is empty, yet the description mentions 'window_id' and bounds {x,y,w,h} as parameters. This contradiction between the schema and the description provides no useful guidance. With zero parameters documented, the description adds no value beyond confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it pins a window to fixed bounds, which is a clear verb+resource action. However, the truncated ending and lack of differentiation from sibling tools like 'window_focus' reduce clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when or when not to use the tool. The mention of 'every take is framed identically' hints at use for consistent recording, but no alternative tools or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
word_appendAInspect
Appends text to the end of an existing Word (.docx) document at path, preserving the document's existing...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the only source of behavioral info. It adds value by stating it preserves the document's existing content, but the truncated description gives no details on error handling, permissions, or formatting effects. This is a moderate level of disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence that front-loads the core action ('Appends text') and key resource (existing Word document at path). Every word earns its place, making it highly 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?
As a mutating tool with no annotations, no output schema, and an incomplete input schema, the description fails to cover expected return values, error conditions, preconditions, or side effects beyond preservation. The agent cannot fully anticipate the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description references a `path` parameter, but the input schema has zero properties. This mismatch is confusing for an agent, and no type, format, or requiredness details are provided. The schema cannot be used at all, and the description only names the parameter without explaining it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool appends text to an existing .docx file at a path, using a specific verb and resource. This distinguishes it from siblings like word_create (which creates new documents) and word_read (which reads).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 qualifier 'existing' implies it should be used for existing documents rather than new ones, but no explicit exclusions or alternative tools are mentioned. It provides context but not definitive when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
word_createBInspect
Creates a new Word (.docx) document at path with the given text content (and an optional title rendered a...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only says 'Creates a new Word document' without covering overwrite behavior, permission requirements, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly names the action and key inputs. It contains no redundant filler, and the structure is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 file-creation tool with no annotations and no output schema, the description lacks crucial context such as return values, file overwrite behavior, formatting support, and error conditions. It is not sufficiently complete for confident 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 no properties, yet the description names the key parameters: `path`, text content, and an optional title. This adds essential meaning beyond the schema, though it omits types and required status.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a new Word (.docx) document at a specified path, with text content and an optional title. This specific verb+resource combination distinguishes it from sibling tools like word_append and word_read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 is given for when to use this tool versus alternatives. The word 'new' implies it is for creating documents while word_append modifies existing ones, but that contrast is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
word_readAInspect
Reads text content from a Word document (.docx file).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It states the output is text content, but it does not explain how the tool determines which .docx file to read since no parameters are provided. This is a significant gap in transparency regarding invocation and potential limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the essential information without any fluff or repetition. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and no parameters, the description should provide more context about how the file is specified and what exactly is returned. The description only says 'text content' but omits critical operational details, leaving the agent without enough information 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?
The tool has zero parameters, so schema coverage is trivially 100%. Per the baseline for 0 params, the description need not explain parameters. However, the description does not clarify the implicit mechanism for selecting the file, which is a minor gap, but the baseline 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 tool's function: 'Reads text content from a Word document (.docx file).' The verb 'Reads' and the resource 'Word document (.docx file)' are specific, and it is easily distinguished from siblings like word_append and word_create which modify or create documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving text from .docx files, but it does not explicitly state when to use it over alternatives like pdf_read or file_read, nor does it mention any exclusions or context such as local file paths or integration with other tools. Usage is inferred rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zalo_connectAInspect
Link Zalo to Local MCP by showing a QR code right here in the chat.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose side effects (e.g., whether state is modified), required user interaction (scanning QR), or if the tool is destructive. Minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. Fully 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 zero-parameter, no-output tool, the description is adequate but sparse. Missing details like whether it returns success/failure, whether the QR requires external scanning, or if it connects immediately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (schema coverage 100%), so the baseline is 4. The description adds no parameter info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Link Zalo to Local MCP') and the mechanism ('by showing a QR code right here in the chat'). It distinguishes from sibling tools like zalo_disconnect and zalo_list_chats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 it's for initial setup, but does not explicitly state when to use it vs. alternatives (e.g., after connection is established, use other Zalo tools). No when-not-to or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zalo_diagnoseAInspect
Reports Zalo's link state and what to do next if Zalo tools aren't working.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It indicates the tool reports state and next steps, implying read-only behavior, but it does not explicitly state whether any changes are made, what permissions are needed, or what potential side effects exist. This is acceptable for a diagnostic tool but leaves room for more detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the action and resource, immediately followed by the use case. No unnecessary words or repetition. Highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple diagnostic tool with no parameters and no output schema, the description provides sufficient context: purpose and when to use it. It could elaborate on what 'link state' means or the format of the report, but the current text covers the essentials 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?
The tool has zero parameters and the schema coverage is 100% (vacuously). The description doesn't need to explain parameters, so the baseline of 4 applies. It avoids adding irrelevant parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Reports') on a specific resource ('Zalo's link state') and adds the purpose of guiding next steps if Zalo tools fail. This distinguishes it from sibling tools like zalo_connect and zalo_send_message, which have different functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'if Zalo tools aren't working' provides a clear condition for when to use this diagnostic tool. While it doesn't explicitly name alternatives, the context implies it is for troubleshooting Zalo connectivity, setting it apart from other diagnose tools (e.g., whatsapp_diagnose) or connection tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zalo_disconnectAInspect
Unlink Zalo from Local MCP (removes the saved session on this Mac).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the key behavioral trait: it removes the saved session locally. No annotations are provided, so the description carries full burden. It does not mention whether server-side disconnection occurs, but the local effect is explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that efficiently conveys the tool's purpose 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?
Given the tool's simplicity (no parameters, no output schema, low complexity), the description is complete. It sufficiently explains what the tool does and the outcome.
Complex tools with many parameters or behaviors need more documentation. 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 properties, so there are no parameters to describe. The description adds no parameter information, which is acceptable as schema coverage is 100% and no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Unlink Zalo from Local MCP') and the effect ('removes the saved session on this Mac'). It distinguishes from sibling tools like 'zalo_connect' by implying the opposite action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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, but the purpose is straightforward. The description implies it is used when disconnecting Zalo from the local system, but lacks details on prerequisites or side effects.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zalo_list_chatsAInspect
Lists your Zalo conversations — friends and groups — so you can pick a recipient.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states it lists conversations but gives no details on authentication, rate limits, or output structure. The behavior is straightforward but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded with key information. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description is minimal. It could specify what information is returned per conversation (e.g., name, ID) to aid agent 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?
No parameters exist, baseline score of 4 applies. The description adds no parameter-specific detail, which is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists Zalo conversations (friends and groups) for picking a recipient, using specific verb and resource. It distinguishes from other Zalo tools but not from sibling chat list tools for other platforms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage before sending a message ('so you can pick a recipient') but provides no explicit when-to-use or alternatives. For a simple tool, guidance is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zalo_read_messagesBInspect
Reads recent Zalo messages that Local MCP captured while linked.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for disclosing behavioral traits. It states the tool reads messages (implying a read-only operation) but does not clarify side effects, permission requirements (e.g., OAuth scopes), or limits like message count or time range for 'recent'. The dependence on being 'linked' is vague.
Agents need to know what a tool does to the 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 concise and front-loaded. However, it could be slightly improved by clarifying the 'captured' and 'linked' concepts, which would reduce potential confusion without significantly increasing length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should provide more context. It lacks information about the return format (e.g., message content, sender, timestamps), pagination, or error conditions. For a simple read tool with no parameters, it is minimally adequate but leaves gaps for an AI agent to make 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?
The input schema has zero parameters and 100% schema description coverage. With no parameters to document, the description naturally adds no parameter details, but the baseline of 4 is appropriate. The description implicitly confirms that no user input is required beyond invoking the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'reads' and the resource 'recent Zalo messages', and it differentiates from sibling tools like 'zalo_list_chats' (lists chats, not messages) and 'zalo_search_messages' (searches for specific messages). However, the phrase 'that Local MCP captured while linked' introduces some ambiguity about whether messages are stored locally or fetched in real-time.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. With siblings like 'read_messages' (generic), 'zalo_search_messages', and 'signal_read_messages', the description does not explain the specific use case or prerequisites (e.g., needing an active Zalo connection or prior capture). The agent must infer context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zalo_search_messagesDInspect
Searches your captured Zalo messages by text.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but provides no behavioral details: e.g., whether it searches locally or live, if connection is required, or what happens if no messages are captured. The claim 'by text' contradicts a schema with zero parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but omits essential information, making it under-specified rather than concise. It could be more efficient while still conveying necessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description should thoroughly explain the tool's function, scope, and behavior. Instead, it provides only a vague single sentence, leaving the agent without adequate context 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?
The input schema has zero parameters, yet the description specifies 'by text', implying a text input that does not exist. No parameter-level clarification is provided, and the description does not compensate for the missing parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool's name with minimal additional information ('by text'), but fails to clarify how the search works since the input schema has no text parameter. It does not distinguish this tool from sibling tools like search_messages or signal_search_messages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites (e.g., must be connected to Zalo). The description lacks context for appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zalo_send_messageCInspect
Sends a Zalo message to a conversation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations; description only says 'sends' without disclosing behavioral traits such as whether previous connection is required, whether it returns a message ID, or what happens on failure.
Agents need to know what a tool does to the 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 is concise but too brief for a tool with no parameters; fails to provide essential context on how inputs are obtained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description omits prerequisites (e.g., connection step), message format, and conversation identification method. For a 0-param tool, it lacks completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters; description does not explain how the tool knows which conversation or what message content. Baseline for 0 params is 4, but lack of explanation reduces score.
Input schemas describe structure but not intent. Descriptions should explain 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 'Sends', resource 'Zalo message', and target 'conversation'. It distinguishes from sibling messaging tools by specifying Zalo platform.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 send_message or signal_send_message. No prerequisites mentioned (e.g., need to connect to Zalo first).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zoom_list_recordingsAInspect
Lists Zoom meeting recordings saved locally on this Mac (~/Documents/Zoom), newest first: meeting name, dat...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the location (~/Documents/Zoom), sorting order (newest first), and listed fields (meeting name, date). It does not mention read-only status or permissions, but the behavior is sufficiently transparent for a simple list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence, but it is truncated ('dat...'), which suggests incomplete information. While concise, truncation undermines clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no input schema or output schema, the description covers the essential behavior (source, sorting, fields) but is truncated and lacks details about potential errors or limitations (e.g., only local files, no search/filtering).
Complex tools with many parameters or behaviors need more documentation. 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 description needs to add no parameter info beyond the schema. It adds value by describing the output content (meeting name, date), which compensates for the lack of 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 tool lists locally saved Zoom recordings from ~/Documents/Zoom, sorted newest first, including meeting name and date. It uses a specific verb ('Lists') and resource, distinguishing it from the sibling 'zoom_read_transcript' which reads transcript content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for browsing local recordings but provides no explicit guidance on when to use or not use this tool versus alternatives. No exclusions or context for sibling tools like 'zoom_read_transcript' are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zoom_read_transcriptCInspect
Reads the text artifacts of a local Zoom recording: the transcript/captions (.vtt or closed_caption.txt, cl...
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The truncated description lacks disclosure of behavioral traits such as file location requirements, format specifics, or error conditions. Carries the full burden but fails to deliver.
Agents need to know what a tool does to the 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 truncated sentence. It is not appropriately sized; the truncation indicates poor structure and incompleteness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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, no annotations, and a truncated description. The tool's complexity is low, but the description fails to provide complete context about return values or operation details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the description does not need to add parameter meaning. Schema coverage is 100% trivially, so baseline is appropriate at 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 indicates it reads transcript/captions from a local Zoom recording, but is truncated, leaving ambiguity about the exact artifacts. It is a specific verb+resource but incomplete, reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like zoom_list_recordings. The description does not provide context for appropriate use or prerequisites.
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.
33 tool updates
v3.0.421- Added
gdrive_disconnect - Added
m365_create_draft - Added
obsidian_list_vaults - Added
obsidian_read_note - Added
obsidian_search_notes - Added
obsidian_write_note - Added
onedrive_disconnect - Added
proton_connect - Added
proton_disconnect - Added
proton_list_emails - Added
proton_read_email - Added
proton_search_emails - Added
proton_send_email - Added
set_default_telegram_account - Added
set_default_whatsapp_account - Added
slack_disconnect - Added
submit_diagnostics - Added
telegram_connect - Added
telegram_disconnect - Added
telegram_list_accounts - Added
telegram_list_chats - Added
telegram_read_messages - Added
telegram_search_messages - Added
telegram_send_message - Added
thunderbird_connect - Added
thunderbird_disconnect - Added
thunderbird_list_accounts - Added
thunderbird_list_emails - Added
thunderbird_read_email - Added
thunderbird_search_contacts - Added
thunderbird_search_emails - Added
thunderbird_send_email - Added
whatsapp_list_accounts
2 tool updates
v3.0.418- Added
list_m365_accounts - Added
set_default_m365_account
41 tool updates
v3.0.416- Removed
connect_chatgpt - Added
connect_evernote - Added
disconnect_evernote - Added
echo - Added
evernote_create_note - Added
evernote_list_notebooks - Added
evernote_read_note - Added
evernote_update_note - Added
explorer_list - Added
explorer_search - Added
gdrive_set_scope - Added
image_playground_generate - Added
outlook_calendar_create_event - Added
outlook_calendar_delete_event - Added
outlook_calendar_list_events - Added
outlook_calendar_list_names - Added
outlook_contacts_list - Added
outlook_contacts_search - Added
outlook_create_folder - Added
outlook_flag_email - Added
outlook_forward_email - Added
outlook_get_contact - Added
outlook_list_accounts - Added
outlook_list_emails - Added
outlook_move_email - Added
outlook_read_email - Added
outlook_reply_all - Added
outlook_reply_email - Added
outlook_save_attachment - Added
outlook_search_emails - Added
outlook_send_email - Added
recipe_publish - Added
run_qa - Added
search_evernote - Added
shortcuts_list - Added
shortcuts_run - Added
shortcuts_view - Added
submit_qa_report - Added
todo_list_lists - Added
update_local_mcp - Added
update_self_diagnosis
1 tool update
v3.0.413- Added
enable_service
1 tool update
v3.0.410- Added
lmcp_doctor
1 tool update
v3.0.386- Added
connect_chatgpt
3 tool updates
v3.0.377- Added
delete_note - Added
gdrive_delete_file - Added
web_session_delete
27 tool updates
v3.0.374- Removed
chrome_click - Removed
chrome_evaluate_js - Removed
chrome_fill_form - Removed
chrome_go_back - Removed
chrome_history - Removed
chrome_list_tabs - Removed
chrome_navigate - Removed
chrome_query_selector_all - Removed
chrome_read_tab - Removed
chrome_search_tabs - Removed
chrome_setup_check - Removed
chrome_type - Removed
chrome_wait_for - Removed
list_safari_bookmarks - Removed
safari_click - Removed
safari_evaluate_js - Removed
safari_fill_form - Removed
safari_go_back - Removed
safari_history - Removed
safari_list_tabs - Removed
safari_navigate - Removed
safari_query_selector_all - Removed
safari_read_tab - Removed
safari_search_tabs - Removed
safari_setup_check - Removed
safari_type - Removed
safari_wait_for
12 tool updates
v3.0.371- Added
agent_ack - Added
agent_checkin - Added
agent_inbox - Added
agent_mesh_create - Added
agent_mesh_invite - Added
agent_mesh_join - Added
agent_mesh_revoke - Added
agent_mesh_status - Added
agent_send - Added
agent_sent - Added
agents_list - Removed
lmcp_welcome
30 tool updates
v3.0.365- Added
connect_todoist - Added
delete_reminder_folder - Removed
delete_reminder_list - Added
disconnect_todoist - Added
get_reminder_folders - Removed
list_reminder_lists - Added
lmcp_install_upgrade - Added
lmcp_upgrade_diagnostics - Added
rename_reminder_folder - Removed
rename_reminder_list - Added
report_friction - Removed
signal_friction - Added
survey_respond - Added
survey_skip - Added
todo_get_folders - Removed
todo_list_lists - Added
todoist_complete_task - Added
todoist_create_task - Added
todoist_list_projects - Added
todoist_list_tasks - Removed
update_local_mcp - Removed
update_self_diagnosis - Added
whatsapp_create_group - Added
whatsapp_diagnose - Added
whatsapp_group_info - Added
whatsapp_list_groups - Added
whatsapp_read_poll - Added
whatsapp_search_contacts - Added
whatsapp_send_poll - Added
whatsapp_sync
11 tool updates
v3.0.359- Added
file_list - Added
file_read - Added
file_search - Added
file_write - Removed
fs_list - Removed
fs_read - Removed
fs_search - Added
signal_compose_guidance - Removed
signal_send_message - Added
teams_search_messages - Added
ui_read_tree
13 tool updates
v3.0.357- Added
chrome_history - Added
m365_get_contact - Added
m365_list_contacts - Added
m365_list_emails - Added
m365_list_events - Added
m365_read_email - Added
recipe_run - Added
recipe_runs - Added
recipe_save - Added
record_marker - Added
rename_reminder_list - Added
reply_email - Added
safari_history
107 tool updates
v3.0.352- Added
chrome_click - Added
chrome_go_back - Added
chrome_navigate - Added
chrome_query_selector_all - Added
chrome_read_tab - Added
chrome_search_tabs - Added
chrome_setup_check - Added
chrome_type - Added
chrome_wait_for - Added
complete_reminder - Added
configure_clients - Added
connect_m365_account - Added
connect_servicenow - Added
create_calendar_event - Added
create_draft - Added
create_email_folder - Added
create_note - Added
create_omnifocus_task - Added
create_referral_invites - Added
create_reminder - Added
create_reminder_list - Added
daily_brief - Added
delete_calendar_event - Added
delete_reminder - Added
delete_reminder_list - Added
disconnect_m365_account - Added
disconnect_servicenow - Added
excel_create - Added
excel_read - Added
excel_write_cell - Added
finder_list - Added
finder_search - Added
fs_list - Added
fs_read - Added
fs_search - Added
gdrive_file_info - Added
gdrive_list_files - Added
gdrive_read_file - Added
gdrive_search_files - Added
gdrive_write_file - Added
get_audit_log - Added
get_config - Added
get_contact - Added
get_datetime - Added
get_m365_person - Added
get_weather - Added
list_accounts - Added
list_calendar_events - Added
list_calendar_names - Added
list_contacts - Added
list_email_accounts - Added
list_email_folders - Added
list_emails - Added
list_m365_people_insights - Added
list_message_chats - Added
list_missing_permissions - Added
list_omnifocus_folders - Added
list_omnifocus_projects - Added
list_omnifocus_tags - Added
list_omnifocus_tasks - Added
list_reminder_lists - Added
list_reminders - Added
list_safari_bookmarks - Added
list_windows - Added
lmcp_state - Added
lmcp_welcome - Added
m365_create_event - Added
m365_delete_event - Added
m365_reply_email - Added
m365_search_contacts - Added
m365_search_emails - Added
m365_send_email - Added
move_email - Added
nordvpn_diagnose - Added
nordvpn_servers - Added
nordvpn_status - Added
notion_list_databases - Added
notion_list_pages - Added
notion_list_workspaces - Added
notion_open_page - Added
notion_read_database - Added
onedrive_file_info - Added
onedrive_list_files - Added
onedrive_move_file - Added
onedrive_read_file - Added
onedrive_set_scope - Added
onedrive_write_file - Added
outlook_diagnose - Added
pdf_read - Added
permissions_status - Added
ppt_create - Added
ppt_read - Added
read_email - Added
read_messages - Added
read_note - Added
recipe_delete - Added
recipe_discover - Added
recipe_export - Added
recipe_get - Added
recipe_import - Added
recipe_install - Added
recipe_list - Added
report_problem - Added
request_feature - Added
save_attachment - Added
screen_record_status - Added
ui_menu_bar_click
36 tool updates
v3.0.341- Added
chrome_evaluate_js - Added
chrome_fill_form - Added
chrome_list_tabs - Removed
chrome_read_tab - Removed
chrome_search_tabs - Removed
chrome_setup_check - Removed
chrome_type - Added
complete_omnifocus_task - Removed
daily_brief - Added
gdrive_root - Removed
get_config - Removed
get_weather - Removed
list_calendar_names - Added
list_displays - Added
list_notes - Removed
list_omnifocus_folders - Removed
list_omnifocus_tags - Added
list_referral_candidates - Added
media_probe - Added
notion_read_page - Added
notion_search - Added
onedrive_delete_file - Added
onedrive_root - Added
onedrive_search_files - Removed
ppt_create - Added
run_diagnostics - Added
run_terminal_command - Added
safari_click - Added
safari_evaluate_js - Added
safari_fill_form - Removed
save_attachment - Removed
screen_record_status - Added
search_contacts - Added
search_emails - Added
ui_get_element - Removed
ui_menu_bar_click
120 tool updates
v3.0.341- Removed
chrome_click - Removed
chrome_evaluate_js - Removed
chrome_fill_form - Removed
chrome_go_back - Removed
chrome_list_tabs - Removed
chrome_navigate - Removed
chrome_query_selector_all - Removed
chrome_wait_for - Removed
complete_omnifocus_task - Removed
complete_reminder - Removed
connect_m365_account - Removed
connect_servicenow - Removed
create_calendar_event - Removed
create_draft - Removed
create_email_folder - Removed
create_note - Removed
create_omnifocus_task - Removed
create_referral_invites - Removed
create_reminder - Removed
create_reminder_list - Removed
delete_calendar_event - Removed
delete_reminder - Removed
delete_reminder_list - Removed
disconnect_m365_account - Removed
disconnect_servicenow - Removed
excel_create - Removed
excel_read - Removed
excel_write_cell - Removed
finder_list - Removed
finder_search - Removed
fs_list - Removed
fs_read - Removed
fs_search - Removed
gdrive_file_info - Removed
gdrive_list_files - Removed
gdrive_read_file - Removed
gdrive_root - Removed
gdrive_search_files - Removed
gdrive_write_file - Removed
get_audit_log - Removed
get_contact - Removed
get_datetime - Removed
get_m365_person - Removed
list_accounts - Removed
list_calendar_events - Removed
list_contacts - Removed
list_displays - Removed
list_email_accounts - Removed
list_email_folders - Removed
list_emails - Removed
list_m365_people_insights - Removed
list_message_chats - Removed
list_notes - Removed
list_omnifocus_projects - Removed
list_omnifocus_tasks - Removed
list_referral_candidates - Removed
list_reminder_lists - Removed
list_reminders - Removed
list_safari_bookmarks - Removed
list_windows - Removed
lmcp_state - Removed
lmcp_welcome - Removed
m365_create_event - Removed
m365_delete_event - Removed
m365_get_contact - Removed
m365_list_contacts - Removed
m365_list_emails - Removed
m365_list_events - Removed
m365_read_email - Removed
m365_reply_email - Removed
m365_search_contacts - Removed
m365_search_emails - Removed
m365_send_email - Removed
media_probe - Removed
move_email - Removed
nordvpn_diagnose - Removed
nordvpn_servers - Removed
nordvpn_status - Removed
notion_list_databases - Removed
notion_list_pages - Removed
notion_list_workspaces - Removed
notion_open_page - Removed
notion_read_database - Removed
notion_read_page - Removed
notion_search - Removed
onedrive_delete_file - Removed
onedrive_file_info - Removed
onedrive_list_files - Removed
onedrive_move_file - Removed
onedrive_read_file - Removed
onedrive_root - Removed
onedrive_search_files - Removed
onedrive_set_scope - Removed
onedrive_write_file - Removed
outlook_diagnose - Removed
pdf_read - Removed
permissions_status - Removed
ppt_read - Removed
read_email - Removed
read_messages - Removed
read_note - Removed
recipe_delete - Removed
recipe_get - Removed
recipe_list - Removed
recipe_run - Removed
recipe_runs - Removed
recipe_save - Removed
record_marker - Removed
rename_reminder_list - Removed
reply_email - Removed
report_problem - Removed
request_feature - Removed
run_diagnostics - Removed
run_terminal_command - Removed
safari_click - Removed
safari_evaluate_js - Removed
safari_fill_form - Removed
search_contacts - Removed
search_emails - Removed
ui_get_element
TDQS
Scored across 323 tools
Many tool families are genuinely near-duplicates with no meaningful boundary (file_list / finder_list / explorer_list all 'list files in a directory', and a thicket of overlapping diagnostics/update tools: run_diagnostics, lmcp_doctor, submit_diagnostics, update_local_mcp, update_self_diagnosis, lmcp_upgrade_diagnostics). Provider prefixes (m365_, outlook_, thunderbird_, proton_, signal_) do help separate account-specific tools, but at 323 tools there are numerous clusters where an agent must guess.
Everything is snake_case, which is good, but the convention is mixed: some tools are verb_noun (create_note, list_emails) while others are noun_verb or bare nouns (agent_inbox, agent_checkin, task families like todo_complete_task vs complete_reminder). Prefixes also vary arbitrarily across the same domain (file_/finder_/explorer_, slack_/teams_).
323 tools is an extreme mismatch for a single server surface, far beyond the 3-15 range and even the 50+ 'extreme' bucket. The volume itself creates selection noise regardless of how well-scoped the individual integrations are.
Coverage across the domains it targets (mail, calendar, tasks, files, messaging, browser/GUI automation, media, Office docs) is broad, with per-provider list/read/create/update/delete lifecycles mostly present. The problem is redundancy rather than missing operations, with only minor gaps (e.g. some provider setup/diagnostic edges).
Maintenance
Related MCP Connectors
Mail, Calendar, Messages, Notes, Contacts, Slack on your Mac for AI. Remote needs Pro or free trial.
Connect any mailbox to Claude, ChatGPT & AI: read, send, reply, schedule & search emails.
Use your Mac, Windows or Linux computer from ChatGPT, Claude or Codex: files, commands, documents.
Build and run agents and automations across hundreds of apps using natural language.
Related MCP Servers
- AlicenseAqualityDmaintenanceA collection of tools that enables Claude AI and Cursor to access native macOS applications such as Messages, Notes, Contacts, Emails, Reminders, Calendar, and Maps through the Model Context Protocol.7275 npm19MIT
- AlicenseNot gradedqualityAmaintenanceConnect AI with any macOS app. Deep integration with native apps like Calendar, Mail, Notes, plus UI control for all applications. Works with Claude, Cursor, Raycast, and any MCP-compatible AI.45MIT
- AlicenseNot gradedqualityDmaintenanceIntegrates with Apple apps on macOS to enable AI-powered automation of Messages, Notes, Contacts, Mail, Reminders, Calendar, and Maps.275 npmMIT

ToolPiperofficial
AlicenseNot gradedqualityAmaintenance426+ MCP tools for macOS, all on-device — local AI inference (llama.cpp on Metal), voice, vision OCR, local RAG, browser automation, and ~140 system actions across 26 macOS domains. Nothing leaves your Mac.2MIT