MS 365-21V MCP Server
The MS 365-21V MCP Server provides AI clients with delegated access to Microsoft 365 services in the 21Vianet (China) environment via OAuth 2.1 and Streamable HTTP, covering email, calendar, files, SharePoint, Teams, and organizational data.
Authentication & Session Management
Check authentication and authorization status
Start and complete local device-code login (development only)
Clear local authentication cache
Execute previously approved sensitive operations using confirmation tokens
User & Organization Management
Get the signed-in user's profile
List, search, and get detailed profiles of organization users
Get a user's manager or list direct reports
List group memberships for a user
List, get details of, and browse members/owners of Entra/Microsoft 365 groups
Check group membership (including transitive)
List, search, and read messages (including unread and recent)
Manage folders: list, get, create, rename, delete, browse children
Send, draft, reply, forward, move, copy, and delete messages
Mark messages as read/unread
Handle attachments: list, read, add (base64 up to 3 MB), delete
Calendar
List events by time range and view calendar details
Manage calendars: list, create, rename, delete
Create, update, cancel, delete events, and respond to invitations
Query free/busy availability for users, rooms, or distribution lists
Handle recurring events and attachments (list, add, delete)
OneDrive
Get drive metadata and quota
List, search, and browse files/folders (including recent)
Download (base64 up to 10 MB) and upload small files
Create folders, rename, move, copy, delete items
Manage sharing: create links, invite people, list permissions
List and restore file version history
SharePoint
Search sites, get site details by ID or hostname/path
List, create, update, delete lists and manage columns
CRUD operations on list items, with delta sync support
Manage document libraries: browse, search, get items; create folders, upload/delete files
Download files as base64 (up to 10 MB)
Smart Aggregation
Summarize emails intelligently
Analyze calendar conflicts
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MS 365-21V MCP ServerCheck my calendar for tomorrow's meetings"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MS 365-21V MCP Server
让支持 MCP 的 AI 客户端,以你的身份使用世纪互联 Microsoft 365。
查询邮件、安排日程、检索 OneDrive 和 SharePoint,连接 Microsoft Graph 中国区;保留用户权限、操作确认和审计边界。
快速上手 · 完整部署 · 使用场景 · 工具目录 · English
非 Microsoft 或 21Vianet 官方产品。需要世纪互联租户和管理员授权,不适用于直接连接全球版 Microsoft 365 或个人 Outlook 账号。本文中的业务示例需要对应模块与权限,初始配置只开放个人资料查询。
先看它能帮你做什么
你对 AI 说 | 能力 | 启用条件 |
“获取我的个人资料,确认当前登录账号。” | 验证 OAuth → Graph 链路 | 快速上手的默认场景 |
“列出最近 5 封邮件,只显示主题和发件人。” | 邮件读取 | Mail 模块、 |
“检查明天的会议是否有时间冲突。” | 日程冲突分析 | Calendar + Smart 模块、对应权限与角色 |
“在我的 OneDrive 中查找项目计划。” | 文件检索 | OneDrive 模块、 |
“整理回复内容,发送前让我确认。” | 邮件写入与确认 | 额外写权限;保持 |
工具会返回数据供 AI 客户端使用,不会因为接入 MCP 而授予用户原本没有的数据权限。完整角色、scope 和工具映射见工具目录。
Related MCP server: Microsoft 365 MCP Server
为什么专门做一个 21V 版本
中国区身份与数据端点:围绕 21V Entra 和 Microsoft Graph 中国区设计,而不是只替换全球版服务的域名。
客户端接入更统一:Streamable HTTP + OAuth bridge,通过一个 MCP 地址连接;服务端使用当前用户的 delegated permissions / OBO。
可控制的工具与写操作:App Roles、按模块与 scope 过滤、常用工具直达/长尾工具发现,以及确认与脱敏审计。
覆盖邮件、日历、OneDrive、SharePoint、Teams、联系人、组织用户、Microsoft Search 和智能聚合。代码中实现了工具,不等于你的租户已授权,也不等于每个全球云 API 都在 21V 可用。
快速开始
只使用别人已经部署好的服务?
不需要克隆仓库,也不需要自己创建 Entra 应用。向管理员获取 HTTPS MCP 地址及使用权限,在支持 Streamable HTTP 和 OAuth 的客户端添加它,然后登录。参见用户使用说明。
第一次部署?从“读取我的资料”开始
准备 Node.js 22+、Git,以及能配置 Entra 应用、同意权限并分配角色的管理员。先按快速上手完成单应用配置,再运行:
git clone https://github.com/mdwsk88/ms-365-21v-mcp-server.git
cd ms-365-21v-mcp-server
npm run setup向导只询问 Tenant ID、API Client ID 和服务地址。它生成最小 .env,不会覆盖已有文件,也不会要求你把 client secret 放进命令行。编辑 .env 中的 MS_CLIENT_SECRET,使用 secret 的 Value,不是 Secret ID,然后运行:
npm run doctor
npm ci
npm run build
npm run start:http本机桌面客户端连接 http://localhost:3000/mcp。远程或云端客户端需要能够访问的 HTTPS 地址;云端客户端的 localhost 不是你的电脑。
成功标准: 在客户端完成登录,调用 auth_status,再成功执行 graph_get_me。健康检查通过或能看到工具,都不等于 Graph 权限已经配置成功。
初始配置保持 OAuth、App Roles、审计和操作确认开启,只加载个人资料模块。后续按需启用邮件、日历等功能,不用一次申请全部权限。逐步启用只读邮件
已有部署请先运行 npm run doctor,不要重新生成或覆盖 .env。Docker、双应用、反向代理和生产检查见完整部署说明。
使用已发布的 Docker 镜像
配置好 Entra 和 .env 后,可以直接使用镜像,无需在本机编译:
docker compose -f docker-compose.release.yml pull
docker compose -f docker-compose.release.yml up -d默认镜像为 ghcr.io/mdwsk88/ms-365-21v-mcp-server:v0.1.0,支持 Linux amd64 / arm64。配置文件下载、首次启动和升级回退见 Docker 镜像说明,更新记录见 Releases。
配置错了,从哪里查?
npm run doctor
npm run --silent doctor -- --json离线检查会提示缺失或占位凭据、错误的云端点、地址覆盖、端口格式和单/双应用凭据不匹配等常见问题。它不打印配置值、不访问网络,也不修改 Entra。检查通过不代表管理员同意、Conditional Access 或真实 OAuth/Graph 调用已经验证。
客户端兼容性
仓库此前记录 WorkBuddy、Qoder Work、Codex 和 Dify 已完成远程连接、OAuth、工具发现与调用验证;这不是本次维护对这些客户端最新版的重新认证。详细记录保留在完整部署说明。
其他客户端需要支持 Streamable HTTP、OAuth 资源元数据/授权服务器发现、浏览器回调和 Bearer token。客户端能打开登录页面,也仍可能被租户 MFA、设备合规或用户分配策略拦截。
安全边界
远程服务使用 HTTPS;生产凭据放入 Secret Manager;只授予实际需要的 Graph delegated permissions 和 App Roles。不要为解决登录问题关闭认证或直接开放全部模块。
使用中国区 Graph 不自动保证端到端数据不出境:工具结果还会发送给你选择的 AI 客户端/模型服务。上线前需审核客户端数据流、日志留存、模型供应商及组织合规要求。详见威胁模型和安全策略。
文档与参与
目标 | 入口 |
首次跑通、检查配置、逐步启用功能 | |
Docker、双应用、角色、生产部署 | |
实际使用方式与提示词 | |
工具及所需权限 | |
回调、设备策略与登录问题 | |
后续维护优先级与发布记录 |
项目解决了你的 21V 接入问题,欢迎点一个 Star,也欢迎提交脱敏的使用反馈或客户端兼容性记录。贡献前请阅读 CONTRIBUTING.md;安全漏洞不要公开提交 Issue。
License
Apache License 2.0。Microsoft、Microsoft 365、Microsoft Entra、Microsoft Graph 等名称属于各自商标权利人,参见 TRADEMARKS.md。
Available Tools
153 toolsauth_clear_local_cacheClear Local Auth CacheA
Development only. Delete locally cached tokens and pending device-code login state. Chinese intents / 中文意图: 清除本地登录, 退出本地登录, 删除缓存令牌.
| 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 transparency. It states the destructive action (deleting cached tokens and pending login state) and adds a 'Development only' caveat, but it does not disclose potential side effects on the current session or clarify that this is local-only, which would be useful 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 extremely concise and front-loaded. The first sentence 'Development only.' immediately communicates the context, followed by a precise action statement. The Chinese intent examples add multilingual value without bloat. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description is largely complete. It covers the purpose, the environment restriction, and the exact state cleared. However, it could go slightly further by stating whether this impacts server-side auth sessions or what the expected result is, which would enhance 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?
With zero parameters, the schema is trivially 100% covered. The baseline for no parameters is 4, and since there are no parameters to explain, the description does not need to add parameter semantics. It correctly avoids unnecessary detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to delete locally cached tokens and pending device-code login state. It uses a specific verb ('Delete') with a clear resource and distinguishes itself from sibling auth tools like auth_start_device_login and auth_complete_device_login.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 usage context: 'Development only.' This indicates when the tool should be used (development environments) but does not explicitly mention alternatives or exclusions beyond environment. The uniqueness of the action makes usage context reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auth_complete_device_loginComplete Local Device LoginA
Development only. Poll the token endpoint after the user enters the device code, then cache the token locally. Token values are not returned. Chinese intents / 中文意图: 完成本地登录, 完成设备码登录, 保存本地令牌.
| Name | Required | Description | Default |
|---|---|---|---|
| timeoutSeconds | No | Polling timeout in seconds. Defaults to 120. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses key behaviors: polling, local caching, and that 'Token values are not returned.' It also notes 'Development only,' providing a usage constraint. However, it omits error/timeout 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 and front-loaded with the core action. The addition of Chinese intents is supplementary but still compact. Every sentence serves a purpose, though the localization list could be seen as extra.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description covers the essential flow (poll, cache, no token return) and the development-only caveat. It could be more complete by explicitly referencing the preceding auth_start_device_login step, but overall 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 only parameter, timeoutSeconds, is fully described in the schema. The tool description does not add further parameter semantics, but with 100% schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb and resource: 'Poll the token endpoint after the user enters the device code, then cache the token locally.' This distinguishes it from sibling auth tools like auth_start_device_login and auth_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 provides clear context for when to use: after the user enters the device code, and it restricts usage to 'Development only.' It does not explicitly name alternatives, but the sequencing with the device login flow is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auth_start_device_loginStart Local Device LoginA
Development only. Start a 21V Entra device-code login and cache the result locally. Chinese intents / 中文意图: 本地登录, 设备代码登录, 开发调试登录.
| Name | Required | Description | Default |
|---|---|---|---|
| scopes | No | Optional one-time scope override. Defaults to MS_GRAPH_SCOPES. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It explicitly discloses 'Development only' and that the result is cached locally, which are important behavioral traits. It does not detail the interactive device-code prompt or local cache format, but it provides meaningful transparency beyond a vague verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded: a development-only warning, the core action, and the caching result. The Chinese intent list adds value for multilingual intent matching without unnecessary 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 low-complexity tool with one optional parameter and no output schema, the description is largely complete: it states the purpose, context, and side effect. It omits the next step (e.g., use auth_complete_device_login) and what the tool returns, but the sibling list and title make this inferable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters and already describes the optional scopes override and its default. The description adds no extra parameter semantics, but the baseline of 3 applies because the schema does the heavy lifting sufficiently.
Input schemas describe structure but not intent. Descriptions should explain 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 a specific action: 'Start a 21V Entra device-code login and cache the result locally.' It names the resource (Entra device-code login), the verb (start), and the side effect (cache locally). This differentiates it from sibling tools like auth_complete_device_login and auth_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 gives clear context with 'Development only' and implies when to use the tool (when initiating a local device-code login). However, it does not explicitly contrast with or point to related tools, such as auth_complete_device_login for finishing the flow, nor does it state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auth_statusCheck Auth StatusA
Inspect MCP auth state, local token state, remote OAuth/OBO configuration, and current request user details. Token values are never returned. Chinese intents / 中文意图: 查看认证状态, 检查登录状态, 诊断授权问题.
| 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. It adds a key privacy disclosure that token values are never returned, and the verb 'Inspect' implies read-only behavior. It does not mention network side effects or rate limits, but for a zero-parameter status tool, this is adequate.
Agents need to know what a tool does to the world before 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, with key information front-loaded in the first sentence. The Chinese intent mapping adds value without unnecessary bloat, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even without an output schema, the description conveys what information is exposed (auth state, token state, OAuth/OBO configuration, user details) and the critical privacy boundary. It is sufficient for a read-only diagnostic 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 tool has zero parameters and schema coverage is 100%, so the baseline is 4. The description adds meaningful context about what the status inspection covers, which is sufficient 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?
The description uses the specific verb 'Inspect' and enumerates the exact resources covered (MCP auth state, local token state, remote OAuth/OBO configuration, current request user details). It clearly distinguishes this tool from sibling auth tools that start, complete, or clear login flows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 it, including '诊断授权问题' (diagnose authorization issues) and checking login status. It does not explicitly name alternatives or exclusions, but the diagnostic intent and read-only scope differentiate it from mutation-focused auth siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_add_file_attachmentAdd File Attachment To EventB
Add a base64-encoded file under 3 MB to a calendar event. Chinese intents / 中文意图: 给会议添加附件, 给日程附加文件.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Attachment file name. | |
| eventId | Yes | Event ID. | |
| isInline | No | Whether this is an inline attachment. | |
| contentId | No | Optional inline content ID. | |
| contentType | Yes | MIME type. | |
| contentBase64 | Yes | Base64 content, under 3 MB decoded. |
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 mentions the size limit and base64 encoding, but does not describe the expected outcome (append vs replace), error handling for oversized files, permission requirements, or side effects. This leaves significant behavioral ambiguity 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 two short sentences, front-loading the essential English statement and appending a Chinese translation that aids non-English users. There is no wasted information; every word contributes to clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the six parameters, no annotations, no output schema, and the presence of sibling tools for attachments (mail_add_file_attachment, calendar_list_attachments, etc.), the description is incomplete. It lacks context on prerequisites, relationship to other attachment tools, and inline attachment behavior, making it insufficient for an agent to fully understand when and how to invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are already documented in the input schema. The description reiterates the base64/size constraint already present in the contentBase64 field, adding no new semantic meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Add a base64-encoded file under 3 MB to a calendar event.' It specifies the resource (calendar event) and the operation (add file attachment), distinguishing it from email attachment tools like mail_add_file_attachment because of the explicit 'calendar event' scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its use case—adding attachments to calendar events—but provides no explicit guidance on when to choose this over alternatives such as mail_add_file_attachment. The Chinese intents are simple translations, not usage context. No exclusions or alternative suggestions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_cancel_eventCancel Calendar EventA
Cancel a meeting organized by the signed-in user and notify attendees. Requires delegated Calendars.ReadWrite. Chinese intents / 中文意图: 取消我组织的会议, 取消会议并通知参会人, 发送会议取消通知.
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | Optional cancellation message. | |
| eventId | Yes | Event ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing side effects. It explicitly states that attendees are notified and the required permission, which are critical. It doesn't mention irreversibility or the ultimate fate of the event, but the key behavioral aspects are covered.
Agents need to know what a tool does to the world before 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: two sentences covering the core behavior and permission, followed by Chinese intent examples. It is front-loaded and contains no fluff 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 two-parameter cancellation tool with no output schema, the description covers essential context: the action, the actor constraint, required permission, and the notification side effect. It could benefit from explicit mention of when not to use it (e.g., when not the organizer), but it is adequately 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?
Both parameters are fully described in the schema (100% coverage, each with descriptions). The tool description adds no additional parameter-level meaning beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (cancel), the target resource (a meeting organized by the signed-in user), and the side effect (notify attendees). This distinguishes it from sibling tools like calendar_delete_event by emphasizing the notification behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 clear context: only meetings organized by the signed-in user can be cancelled, and it requires delegated Calendars.ReadWrite. However, it doesn't explicitly contrast with calendar_delete_event or calendar_respond_to_event, so it lacks explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_create_calendarCreate CalendarA
Create an additional calendar for the signed-in user. Chinese intents / 中文意图: 创建新日历, 新建项目日历, 添加一个日历.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Calendar name. |
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 that the calendar is 'additional' and scoped to the 'signed-in user,' clarifying that it does not create a shared or delegated calendar. However, it does not mention permission requirements, duplicate-name behavior, or what the response returns, leaving notable gaps for a create 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 core English description is a single, front-loaded sentence that delivers the purpose efficiently. The Chinese intent block is redundant but compact and serves intent-matching for non-English queries, so it does not meaningfully harm readability or 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 one-parameter creation tool, the description plus full schema coverage cover the essential semantics of what the tool does and what input it takes. However, with no annotations and no output schema, the description does not disclose the return value, required auth scopes, or behavior on duplicate names, making it adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents the single parameter `name` with 100% coverage, so the schema carries the descriptive burden. The description adds no parameter-level semantics beyond what the schema already states, warranting the baseline score 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 states 'Create an additional calendar for the signed-in user,' providing a specific verb (create), resource (calendar), and scope (additional, user-scoped). This clearly distinguishes it from siblings like calendar_create_event, calendar_list_calendars, and calendar_update_calendar. The Chinese intent phrases reinforce the same meaning without introducing 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 context through 'additional calendar' and 'signed-in user,' suggesting when it applies. However, it offers no explicit when-not-to-use guidance, no exclusions, and no pointer to alternatives like calendar_update_calendar or calendar_delete_calendar for related operations. Usage is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_create_eventCreate Calendar EventA
Create an event or meeting in the signed-in user default calendar. Requires delegated Calendars.ReadWrite. Chinese intents / 中文意图: 创建会议, 新建日程, 安排会议, 创建日历事件.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | End time. | |
| body | No | Event body. May contain HTML. | |
| start | Yes | Start time. | |
| subject | Yes | Event subject. | |
| location | No | Location. | |
| attendees | No | Attendees. | |
| isOnlineMeeting | No | Whether to create an online meeting. |
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 permission requirement and default calendar scope, but doesn't mention side effects such as invitation sending to attendees, online meeting creation behavior, or return value. This is a gap for a write tool with no 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 two concise sentences, front-loading the primary action and permission requirement. The Chinese intents add multilingual value without unnecessary bulk, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has moderate complexity with nested start/end objects, optional attendees, and an online meeting flag. With no output schema or annotations, the description could disclose more about return behavior and side effects, but it's reasonably scoped for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions (e.g., dateTime format, timeZone default, attendee type enum), so the description adds no extra parameter semantics. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (create) and resource (event/meeting in the signed-in user's default calendar), clearly distinguishing it from sibling calendar tools like update, cancel, or delete. It also states the required permission, making the intent 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?
It clearly states the tool creates an event/meeting in the default calendar and requires delegated Calendars.ReadWrite, providing a clear context for invocation. It doesn't explicitly mention alternatives, but the action is self-evident compared to other calendar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_delete_attachmentDelete Calendar Event AttachmentB
Delete an attachment from a calendar event. Chinese intents / 中文意图: 删除会议附件, 移除日程附件.
| Name | Required | Description | Default |
|---|---|---|---|
| eventId | Yes | Event ID. | |
| attachmentId | Yes | Attachment ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden of behavioral disclosure. It only states the action without any details about side effects, permanence, permissions, or error conditions. For a destructive operation like deletion, 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 description is two short sentences, with the primary English statement first and a redundant Chinese translation second. It is front-loaded, uses no filler, and each part serves a purpose (the Chinese aids multilingual intent recognition).
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 a mutation with no output schema and no annotations. The description does not explain what happens after deletion, whether the action is reversible, or any prerequisites. Context such as the need to have an existing attachment ID or the impact on the event would improve completeness, but these are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides descriptions for both parameters ('Event ID.' and 'Attachment ID.'), yielding 100% coverage. However, these descriptions are tautological with the parameter names. The tool description itself adds no further meaning about where to find these IDs or how they relate, but since the schema covers them, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Delete an attachment from a calendar event.' It uses a specific verb and resource, distinguishing it from siblings like mail_delete_attachment and calendar_list_attachments. The Chinese intent phrase reinforces the purpose without adding 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?
No guidance is provided on when to use this tool versus alternatives. For example, it does not mention that one first needs to obtain attachment IDs via calendar_list_attachments, or that deletion is permanent. There is no exclusion or alternative context, leaving the agent to infer usage solely 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.
calendar_delete_calendarDelete CalendarA
Delete an additional calendar and its events. Chinese intents / 中文意图: 删除日历, 移除项目日历.
| Name | Required | Description | Default |
|---|---|---|---|
| calendarId | Yes | Calendar ID to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior fully. It does state the significant side effect that deleting the calendar also deletes its events, which is useful. However, it does not mention irreversibility, permission requirements, or other potential impacts like shared access removal, leaving gaps in 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 core description is a single, front-loaded sentence: 'Delete an additional calendar and its events.' It is concise and free of fluff. The Chinese intents line is a compact, purposeful addition for multilingual support without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete operation with one parameter, the description is mostly complete. It covers the primary action and the cascade to events. However, it lacks an explicit warning about permanence or any prerequisites. Since there is no output schema and the main effect is clear, it is reasonably complete but could be stronger.
Complex tools with many parameters or behaviors need more documentation. Simple 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 provides 100% coverage with a clear description for calendarId ('Calendar ID to delete.'). The tool description adds no further meaning, format, or usage detail for the parameter. Per the rubric, with high schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action with a specific verb ('Delete') and resource ('calendar'), and adds the key detail that it also deletes the calendar's events. This distinguishes it from sibling tools like calendar_delete_event and calendar_update_calendar. The qualifier 'additional' also hints at scope, 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 no explicit guidance on when to use this tool versus alternatives. It does not mention that deleting individual events should use calendar_delete_event, nor does it state restrictions (e.g., primary calendar cannot be deleted). The context is implied but not spelled out, 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.
calendar_delete_eventDelete Calendar EventB
Delete a calendar event. Requires delegated Calendars.ReadWrite. Chinese intents / 中文意图: 删除会议, 取消日程, 删除日历事件.
| Name | Required | Description | Default |
|---|---|---|---|
| eventId | Yes | Calendar event ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavioral traits. It mentions the delegated Calendars.ReadWrite requirement, but does not state that deletion is irreversible or clarify whether it affects the whole series or a single occurrence. For a destructive operation, 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 extremely concise, with three short sentences: purpose, permission requirement, and Chinese intent aliases. Every sentence earns its place 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?
Although the tool is simple (one parameter, no output schema), the description fails to distinguish 'delete' from the closely related sibling 'calendar_cancel_event'. It also doesn't mention whether deletion is permanent or affects only specific event types, leaving ambiguity 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 input schema provides 100% coverage with a clear description for 'eventId' ('Calendar event ID.'). The description adds no additional parameter context beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete a calendar event') with a specific verb and resource. However, it does not differentiate from the sibling tool 'calendar_cancel_event', which likely performs a similar operation. This gives clear purpose but no 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?
There is no guidance on when to use this tool versus alternatives like 'calendar_cancel_event'. The description only states a permission requirement, not usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_get_eventGet Calendar EventA
Read details for a calendar event. Requires delegated Calendars.Read. Chinese intents / 中文意图: 查看会议详情, 查看日程详情, 读取日历事件.
| Name | Required | Description | Default |
|---|---|---|---|
| eventId | Yes | Calendar event ID. |
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 this is a read operation and requires delegated Calendars.Read permission, which is valuable. However, it provides no detail on error behavior, response contents, or other side effects, which is a gap for a tool with no 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 compact two sentences plus Chinese examples, with every piece earning its place. It conveys purpose, permission, and language support without 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?
For a simple single-parameter read tool, the description provides good coverage: purpose, permission, and Chinese alternatives. It lacks a pointer to how to obtain the eventId (e.g., via calendar_list_events) and what 'details' includes, but the absence of an output schema reduces the need. Overall, it is nearly 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 already provides 100% coverage of the single parameter (eventId described as 'Calendar event ID'). The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Read details for a calendar event' with a specific verb and resource. This distinguishes it from sibling tools like calendar_list_events (listing) and calendar_update_event (modifying). The Chinese intents further reinforce the 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 Chinese intents give examples of when to use it (view meeting details, read event), and the permission requirement is stated. However, it does not explicitly contrast with alternatives such as calendar_list_events or calendar_get_schedule, nor does it state when not to use it. This leaves usage guidance mostly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_get_scheduleGet Free Busy ScheduleA
Get free/busy availability for users, rooms, or distribution lists in a time range. Supported in 21V and requires delegated Calendars.Read. Chinese intents / 中文意图: 查看同事忙闲, 查询会议室是否空闲, 找共同空闲时间.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | Availability range end. | |
| start | Yes | Availability range start. | |
| schedules | Yes | User, room, or list SMTP addresses. | |
| availabilityViewInterval | No | Availability slot size in minutes. Defaults to 30. |
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 a permission requirement ('requires delegated Calendars.Read') and a regional support constraint ('Supported in 21V'), which is valuable. However, it does not describe the return format, behavior when no availability exists, or any error conditions, leaving meaningful 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 compact: two sentences cover the core function and constraints, followed by concise Chinese intent examples. Every sentence adds value, and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, nested objects, and no output schema, the description provides a decent overview but fails to mention the response shape or edge cases such as empty requests. It is adequate for a read-only query tool but not fully complete without output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds minimal extra context by mentioning 'users, rooms, or distribution lists' which maps to the 'schedules' parameter, and 'time range' aligning with start/end, but it does not provide deeper semantics than the schema already 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?
Description states 'Get free/busy availability for users, rooms, or distribution lists in a time range' with a specific verb and resource, clearly distinguishing it from sibling calendar tools like list_events or list_view. It also provides Chinese intent phrases, reinforcing its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys clear use cases (checking availability for coworkers/rooms, finding common free time) but does not explicitly exclude alternatives or name when to prefer this over calendar_list_events. It implies usage context well but lacks explicit 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.
calendar_list_attachmentsList Calendar Event AttachmentsA
List attachment metadata for a calendar event. Chinese intents / 中文意图: 查看会议附件, 列出日程附件, 会议有没有附件.
| Name | Required | Description | Default |
|---|---|---|---|
| eventId | Yes | Event ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden. The phrase 'attachment metadata' explicitly indicates that actual file content is not retrieved, and 'List' implies a non-destructive read operation. While it omits details like auth requirements or error behavior, this is a reasonable disclosure for a read-only list 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, front-loaded sentence that directly states the purpose. The additional Chinese intents are helpful for multilingual contexts but are somewhat redundant; still, the overall structure is tight and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description adequately conveys the action and output type ('attachment metadata'). It does not detail the metadata fields, but given the low complexity, this 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?
Schema coverage is 100% with a single 'eventId' parameter described as 'Event ID'. The tool description adds no extra meaning beyond aligning the parameter with 'calendar event', so it meets 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 uses a specific verb 'List' and clearly identifies the resource as 'attachment metadata for a calendar event'. This distinguishes it from sibling tools like mail_list_attachments and calendar_add/delete_attachment, 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?
Usage context is implied: the tool is used when one wants to see attachment metadata for a calendar event. However, it does not explicitly mention when to use it over alternatives or provide exclusions, relying on the reader to infer from the sibling tool list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_list_calendarsList My CalendarsA
List calendars for the signed-in user. Requires delegated Calendars.Read. Chinese intents / 中文意图: 查看日历列表, 列出我的日历, 有哪些日历.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of calendars to return, from 1 to 100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that it requires delegated Calendars.Read and operates on the signed-in user's data, which is useful context. However, it does not explain default behavior for the optional 'top' parameter, ordering, or what happens if no calendars exist, so it only partially covers 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 brief and front-loaded with the primary action, followed by the permission requirement and multilingual hints. Every sentence serves a purpose, and it avoids 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?
The description covers the purpose and permission clearly, but lacks details on default behavior and return format, especially since there is no output schema. The optional 'top' parameter's default value is not explained, leaving some ambiguity for a 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 schema fully documents the single 'top' parameter with description, min, max, so schema coverage is 100%. The description adds no additional meaning about the parameter, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'List calendars for the signed-in user' with a clear verb and resource, and the title reinforces it. This clearly distinguishes it from sibling tools like calendar_list_events that handle events rather than calendars.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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: listing the signed-in user's calendars, with a permission requirement. It does not explicitly mention alternatives or when not to use it, but the scope is unambiguous, earning a 4 rather than a 3.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_list_event_instancesList Recurring Event InstancesB
List occurrences of a recurring event in a date-time range. Chinese intents / 中文意图: 查看重复会议实例, 查看周期日程的每次会议, 展开循环会议.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of instances to return. | |
| eventId | Yes | Recurring series master event ID. | |
| endDateTime | Yes | Range end in ISO 8601 format. | |
| startDateTime | Yes | Range start in ISO 8601 format. |
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, but it only states the basic function. It does not describe return value shape, timezone handling, limitations (e.g., max instances), or behavior for non-recurring events.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core description is concise and front-loaded. The additional Chinese intent phrases ('查看重复会议实例', etc.) may aid multilingual intent matching but are somewhat redundant for an AI agent evaluating tool semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 operation with fully covered parameters and no output schema, the description is minimally viable. However, it lacks context around edge cases (e.g., non-recurring events), timezone behavior, and result ordering, which could matter for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in the schema. The description aligns with the startDateTime/endDateTime fields but adds no additional semantic 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 uses a specific verb+resource structure ('List occurrences of a recurring event in a date-time range') and clearly distinguishes this tool from sibling calendar tools like calendar_list_events or calendar_get_event by focusing on recurring event instances.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 exclusions, prerequisites, or cases where other calendar tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_list_eventsList My Calendar EventsA
List upcoming calendar events for the signed-in user. Use for today, this week, or upcoming meeting queries. Requires delegated Calendars.Read. Chinese intents / 中文意图: 查看我的日历, 查看今天会议, 查看本周日程, 查看接下来的会议.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of events to return, from 1 to 50. | |
| daysAhead | No | How many days ahead to query, from 1 to 30. |
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 useful context by mentioning 'Requires delegated Calendars.Read' and clarifies scope to 'the signed-in user.' However, it doesn't disclose response format, sorting, pagination, or how 'upcoming' is determined (beyond what schema params imply).
Agents need to know what a tool does to the world before 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 and front-loaded with the main action. It includes usage, permission, and multilingual hints in a compact format. The Chinese intent list adds some length but is useful for multilingual contexts and doesn't detract significantly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 two well-documented parameters and no output schema, the description covers key aspects: scope, usage, permissions, and intent. It is not missing critical information 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?
Schema description coverage is 100%, and both parameters (top, daysAhead) have clear descriptions. The tool description does not add additional meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List upcoming calendar events for the signed-in user' with a specific verb and resource. It distinguishes itself from sibling tools like calendar_list_calendars (list calendars) and calendar_get_event (single event) by focusing on upcoming events for the signed-in user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is provided: 'Use for today, this week, or upcoming meeting queries.' This gives clear context for when to invoke the tool. It doesn't explicitly name alternatives but the usage context is sufficient for an agent to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_list_viewList Calendar ViewA
List single and recurring event instances in an explicit date-time range. Requires delegated Calendars.Read. Chinese intents / 中文意图: 按时间范围查看日历, 查看指定日期的会议, 展开重复日程.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of events to return. | |
| timeZone | No | Response time zone. Defaults to China Standard Time. | |
| endDateTime | Yes | Range end in ISO 8601 format. | |
| startDateTime | Yes | Range start in ISO 8601 format. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries this burden. It adds useful behavioral details: 'Requires delegated Calendars.Read' and expansion of 'single and recurring event instances.' However, it does not disclose pagination behavior, response format, or explicitly confirm there are no side effects beyond the verb 'List.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: a clear core statement, a required permission, and a brief Chinese intent list. Every part earns its place, and the Chinese intents add useful multilingual guidance without bloating the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, read-only list operation with full schema coverage, the description is sufficiently complete: it states purpose, scope, and permission. The lack of an output schema and absence of explicit return-shape/pagination details create minor gaps, but not enough to significantly hinder an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all four parameters, including formats and defaults. The tool description adds no parameter-level meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'List single and recurring event instances in an explicit date-time range,' which uses a specific verb, resource, and scope. It clearly distinguishes itself from sibling tools like calendar_list_events or calendar_list_event_instances by emphasizing both recurrence expansion and explicit range.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 this tool: when listing event instances across an explicit date-time range. It also adds an auth prerequisite ('Requires delegated Calendars.Read'). However, it does not explicitly name alternatives or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_respond_to_eventRespond To Calendar EventA
Accept, tentatively accept, or decline a meeting invitation. Requires delegated Calendars.ReadWrite. Chinese intents / 中文意图: 接受会议邀请, 拒绝会议邀请, 暂定会议, 回复会议邀请.
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | Optional response comment. | |
| eventId | Yes | Calendar event ID. | |
| response | Yes | Response action. | |
| sendResponse | No | Whether to send the response to the organizer. Defaults to true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing side effects. It mentions the required permission but fails to state that this is a write operation that mutates the event, may notify the organizer, or that sendResponse defaults to true. This is insufficient 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 two sentences, front-loaded with the core action, and includes only essential information: the action, permission, and Chinese equivalents. There is no redundancy or filler, so 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?
The description provides the essential purpose and permission, while the schema covers parameter details. However, it lacks usage guidelines versus alternatives, omits behavioral consequences (e.g., organizer notification), and there is no output schema or return value information. These gaps make it minimally viable, not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by mapping Chinese intents (接受会议邀请, 拒绝会议邀请, 暂定会议) to the response enum values, aiding interpretation of non-English requests. This goes beyond the schema's plain descriptions and helps with parameter selection.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 identifies the action (accept, tentatively accept, or decline) on a meeting invitation, making it clear what the tool does. It distinguishes itself from sibling calendar tools like create/update/cancel event by focusing on the 'respond' action, and the addition of Chinese intents further clarifies the 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 states a required permission (delegated Calendars.ReadWrite) but does not explicitly say when to use this tool versus alternatives. No exclusions or alternative tool references are provided, so usage context is implied by the name and sibling list rather than clearly described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_update_calendarRename CalendarB
Rename one of the signed-in user calendars. Chinese intents / 中文意图: 重命名日历, 修改日历名称.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | New calendar name. | |
| calendarId | Yes | Calendar ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It indicates a mutating rename action but does not disclose potential side effects, permission requirements, reversibility, or whether the calendar ID changes. This is a significant transparency gap for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the English purpose and followed by a Chinese translation. It is concise and free of fluff; the Chinese addition is a useful localization but somewhat redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple rename tool with two well-documented parameters and no output schema, the description covers the basic purpose. However, the absence of annotations and behavioral details like error cases or effects on sharing make it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for both parameters, so the baseline is 3. The description adds minimal value beyond the schema, only clarifying the calendarId refers to a signed-in user's calendar. It does not explain how to obtain the calendarId or additional 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?
Description states 'Rename one of the signed-in user calendars' with a specific verb and resource, clearly distinguishing it from create/delete calendar operations and event updates. The title 'Rename Calendar' reinforces the 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?
It implies usage on the signed-in user's own calendars, but provides no explicit when-to-use or alternatives. It does not reference sibling tools such as calendar_create_calendar or calendar_delete_calendar, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_update_eventUpdate Calendar EventA
Update a calendar event. Provide only the fields to change. Requires delegated Calendars.ReadWrite. Chinese intents / 中文意图: 修改会议, 更新日程, 改会议时间, 调整日历事件.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | New end time. | |
| body | No | New body. May contain HTML. | |
| start | No | New start time. | |
| eventId | Yes | Calendar event ID. | |
| subject | No | New subject. | |
| location | No | New location. | |
| attendees | No | New attendee list. | |
| isOnlineMeeting | No | Whether this should be an online meeting. |
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 partial-update behavior and the required permission (delegated Calendars.ReadWrite), which are valuable. However, it omits potential side effects such as attendee notifications, and does not describe return values or error behavior, leaving gaps for a no-annotation, no-output-schema 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 appropriately sized and front-loaded. The core action ('Update a calendar event') appears first, followed by the patch semantics, permission requirement, and compact Chinese intent list. Each element earns its place without verbosity 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 tool with 8 parameters, nested start/end objects, no annotations, and no output schema, the description covers the primary purpose, patch semantics, and permission but leaves out return value details, attendee notification behavior, and potential constraints (e.g., whether start/end must be updated together). The schema handles parameter documentation well, but the overall operational context 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?
Schema description coverage is 100%, so the baseline is 3. The description adds meaningful semantics beyond the schema by stating 'Provide only the fields to change', which clarifies that unspecified fields remain untouched—a key intent for PATCH-style operations. This goes beyond the per-field 'New ...' descriptions in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action with a specific verb and resource: 'Update a calendar event'. The phrase 'Provide only the fields to change' further distinguishes it from create/delete/cancel operations and clarifies the partial-update semantics. The listed Chinese intents (修改会议, 更新日程, etc.) reinforce the intended use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Provide only the fields to change' implies the tool is for modifying existing events rather than creating or deleting them, and the Chinese intent examples offer clear user-phrase triggers. The mention of 'Requires delegated Calendars.ReadWrite' gives a prerequisite, but it does not explicitly state when not to use this tool or compare it to siblings like calendar_update_calendar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confirm_executeExecute Approved OperationA
Continue a pending sensitive operation after the same signed-in user approved its web preview. This tool never grants approval itself. Call it only after the user says the confirmation page was approved; the token is user-bound, one-time, and short-lived. Chinese intents / 中文意图: 继续执行我刚刚在网页确认的操作, 执行已批准的敏感操作.
| Name | Required | Description | Default |
|---|---|---|---|
| confirmToken | Yes | One-time token returned by the pending operation. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It reveals crucial traits: the token is user-bound, one-time, and short-lived, and the tool never grants approval. However, it does not explicitly state potential side effects (e.g., whether the operation is destructive) or error behavior, which would add further 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 English text is concise, with two sentences that efficiently communicate purpose and usage. The addition of a Chinese translation line is redundant for an AI agent but does not harm clarity; it merely adds a bit of length. Overall, it is well-structured and free of 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 tool with one parameter, no output schema, and no annotations, the description is fully contextual. It explains the exact flow (pending operation, web preview approval, token constraints), the precondition, and the tool's non-approval role. There are no significant gaps that would hinder correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes confirmToken as 'One-time token returned by the pending operation,' but the description adds meaningful semantics: the token is user-bound, short-lived, and must belong to the same signed-in user who approved the preview. This goes beyond the schema's basic type/role 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: 'Continue a pending sensitive operation after the same signed-in user approved its web preview.' This specifies the verb (continue), the object (pending sensitive operation), and the condition (after user approval), which distinguishes it from sibling tools like auth_complete_device_login that handle login flows, not operation 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 provides explicit usage guidance: 'Call it only after the user says the confirmation page was approved' and 'This tool never grants approval itself.' This gives a clear when-to-use condition and a when-not-to-use (it does not approve), which is sufficient for an agent to decide when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_createCreate ContactA
Create a mailbox contact for the signed-in user. Requires delegated Contacts.ReadWrite. Chinese intents / 中文意图: 创建联系人, 新增联系人, 添加邮箱联系人.
| Name | Required | Description | Default |
|---|---|---|---|
| surname | No | Surname. | |
| jobTitle | No | Job title. | |
| givenName | No | Given name. | |
| companyName | No | Company name. | |
| displayName | No | Display name. | |
| mobilePhone | No | Mobile phone number. | |
| businessPhones | No | Business phone numbers. | |
| emailAddresses | No | Contact email addresses. |
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 discloses the permission requirement and the user scope, which is useful. However, it omits behavior like return value, default folder, or error conditions, leaving some important aspects 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 extremely concise: two sentences. The first sentence states the action and permission, and the second provides Chinese intent synonyms. Every part serves a purpose, with 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?
For a simple create operation with all optional parameters, the description covers the core purpose, scope, and permission. It leaves out details like the destination folder and return value, but these are partially inferable from the sibling tool list and the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% property description coverage, so all 8 parameters are already documented. The description adds no additional parameter semantics, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a mailbox contact for the signed-in user, using a specific verb and resource. It distinguishes itself from sibling tools like contacts_create_folder and contacts_update, and the Chinese intent mapping reinforces the purpose across languages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 by specifying the target (signed-in user) and the required permission (delegated Contacts.ReadWrite), helping an agent decide when to use this tool. However, it does not explicitly mention exclusions or alternative tools, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_create_folderCreate Contact FolderA
Create a personal contact folder. Chinese intents / 中文意图: 创建联系人文件夹, 新建通讯录分组.
| Name | Required | Description | Default |
|---|---|---|---|
| displayName | Yes | Contact folder name. |
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 'personal' folder, but does not mention side effects, permissions, return values, or any requirements. For a create operation, this is a minimal disclosure and misses opportunities to clarify behavior beyond the obvious 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 two sentences: an English statement and a Chinese translation. Both are concise, front-loaded with the main action, and contain no redundant information. It is 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?
The tool is simple with one parameter and no output schema, so the description is minimally sufficient. However, the lack of annotations means more context would be helpful, such as prerequisites or when to use it. The current description is adequate but does not exceed expectations for a simple create tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the sole parameter displayName, which is clearly described as 'Contact folder name.' The description adds no extra parameter information, but the baseline of 3 applies because the schema already handles the semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a personal contact folder' with a specific verb and resource, distinguishing it from sibling tools like contacts_create (creating a contact) and contacts_delete_folder (deleting a folder). The Chinese intents are an additional language clue, enhancing 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 the tool is used when creating a contact folder, but it does not explicitly discuss alternatives or provide exclusion criteria. No guidance is given on when to use this versus other folder-related tools, though the name and context make it somewhat obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_deleteDelete ContactA
Delete a mailbox contact for the signed-in user. Requires delegated Contacts.ReadWrite. Chinese intents / 中文意图: 删除联系人, 移除联系人, 删掉邮箱联系人.
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | Yes | Contact ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the required permission (delegated Contacts.ReadWrite) and scope (signed-in user's mailbox contact), which is helpful. However, it does not mention that deletion is irreversible or describe any side effects, which would strengthen transparency 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 concise and front-loaded: the core action is in the first sentence, the permission requirement in the second, and multilingual intents are appended without clutter. Every sentence adds value and the overall length is appropriate for a simple delete 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?
Given the tool's simplicity (one required parameter, no nested objects, no output schema), the description covers the essential context: what is deleted, for whom, and under what permission. It lacks an explicit irreversibility warning, but for a basic delete operation, the provided information is nearly 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 already fully documents contactId with the description 'Contact ID.' (100% coverage), so the baseline is 3. The tool description adds minimal param-specific meaning beyond confirming the contact belongs to the signed-in user's mailbox, which is a slight enhancement but not substantial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 and resource: 'Delete a mailbox contact for the signed-in user.' It also explicitly distinguishes this from sibling tools like contacts_delete_folder by naming 'mailbox contact,' and the included Chinese intents reinforce the intended 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 clear context: it targets the signed-in user's mailbox contact and requires delegated Contacts.ReadWrite permission. It does not explicitly mention alternatives or when-not-to-use, but the purpose is specific enough that an agent can select it appropriately among siblings like contacts_update or contacts_delete_folder.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_delete_folderDelete Contact FolderB
Delete a personal contact folder. Chinese intents / 中文意图: 删除联系人文件夹, 移除通讯录分组.
| Name | Required | Description | Default |
|---|---|---|---|
| folderId | Yes | Contact folder ID to delete. |
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 the deletion but omits critical consequences such as whether contacts inside the folder are also deleted, whether the action is reversible, or whether specific 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?
The description is extremely concise: one English sentence and one Chinese localization sentence. Both are purposeful and the key action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive one-parameter tool with no output schema and no annotations, the description is too sparse. It fails to mention important operational context such as cascading deletion of contained contacts or irreversibility, leaving the agent without sufficient information to anticipate consequences.
Complex tools with many parameters or behaviors need more documentation. Simple 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 fully describes folderId as 'Contact folder ID to delete' with 100% coverage. The description adds no additional parameter meaning, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Delete a personal contact folder.' This clearly distinguishes it from sibling tools like contacts_create_folder, contacts_update_folder, and contacts_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, nor are any prerequisites, exclusions, or context provided. The description only states the action without explaining typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_getGet ContactA
Read complete details for one personal contact. Chinese intents / 中文意图: 查看联系人详情, 读取联系人信息.
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | Yes | Contact ID. |
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 'Read complete details', which conveys a read-only operation, but does not clarify error handling, permission requirements, or what 'complete details' entails. This is minimal disclosure for a tool with no 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 extremely concise with the main action front-loaded in the first sentence. The added Chinese intent mapping is a minor extra but does not add fluff. 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?
The tool is simple (one parameter, no output schema), and the description explains the core purpose. However, it does not describe return value structure or any edge cases (e.g., non-existent contact), leaving the agent without full context for 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?
Schema coverage for contactId is 100% with a basic description ('Contact ID'). The tool description adds context that it's for a personal contact, which is marginal. Since the schema already documents the parameter, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb ('Read') and clearly defines the resource ('complete details for one personal contact'). This distinguishes it from sibling tools like contacts_list and contacts_search, which are for listing and searching, not fetching a single contact's full details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 a single contact detail lookup, but it does not explicitly state when to choose this tool over alternatives such as contacts_list or contacts_search, nor does it mention exclusions or prerequisites like having a valid contactId.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_listList My ContactsA
List mailbox contacts for the signed-in user. Requires delegated Contacts.Read. Chinese intents / 中文意图: 查看我的联系人, 列出通讯录联系人, 查看邮箱联系人.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of contacts to return, from 1 to 100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It notes the required delegated Contacts.Read permission, which is useful, but it does not mention pagination, sorting, or potential errors. The read-only nature is implied 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 compact: one English sentence with purpose and permission, followed by Chinese intent examples. It is front-loaded and every part adds value, with no 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?
The tool is simple with one parameter and no output schema, but the description lacks explicit clarification about scope (e.g., whether it includes contacts from all folders) and does not differentiate it from contacts_list_folder_contacts. It is adequate but could be more complete given the sibling context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides full description for the only parameter 'top' (range 1-100), so baseline is 3. The description does not add extra semantic meaning beyond the schema, which is acceptable given 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 the tool's purpose: listing mailbox contacts for the signed-in user. It uses a specific verb ('List'), resource ('mailbox contacts'), and scope ('for the signed-in user'), distinguishing it from folder-specific or 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?
The description implies usage when a user wants to see their own contacts, but it does not explicitly provide alternatives or exclusions (e.g., for folder-scoped contacts, use contacts_list_folder_contacts). The permission requirement and multilingual examples give some context, but no direct comparison to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_list_folder_contactsList Contacts In FolderB
List personal contacts in a selected contact folder. Chinese intents / 中文意图: 查看联系人分组内容, 列出文件夹联系人, 查看通讯录分组.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of contacts to return. | |
| folderId | Yes | Contact folder ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the basic operation but adds no details about behavior such as whether it returns only direct folder members, if pagination is needed, or if any side effects occur. The description is minimal and largely redundant with 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 brief and to the point. The additional Chinese intent phrases add some bulk but are not excessive, and the main sentence is efficient. It is not overly verbose, meriting a score above the minimum.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 operation, the description covers the core purpose, and the schema fully documents parameters. However, it lacks any usage guidance or behavioral context beyond what the tool name implies, so it is only minimally complete for effective tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'top' and 'folderId' documented in the input schema. The description does not add additional meaning to these parameters beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'List personal contacts in a selected contact folder.' This specifies the verb (list), the resource (personal contacts), and the scope (in a selected folder), distinguishing it from sibling tools like contacts_list (lists all contacts) and contacts_list_folders (lists 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. It does not mention contacts_list, contacts_search, or contacts_list_folders, nor does it give any context about prerequisites or exclusions. The Chinese intents merely offer synonyms for the same action, providing no usage differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_list_foldersList Contact FoldersB
List personal contact folders. Chinese intents / 中文意图: 查看联系人文件夹, 列出通讯录分组.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of folders to return. |
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 'List personal contact folders' and does not describe the return format, whether system folders are included, pagination behavior, or authentication requirements. This is a minimal description with no additional 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 very concise, with a single English sentence and a Chinese translation. The Chinese text repeats the meaning and may be useful for multilingual intent matching, but it is not essential. Overall, the description is front-loaded and wastes no 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 simplicity of the tool (one optional parameter, no output schema), a basic description might suffice, but this one omits any indication of what the returned data looks like or how the response is structured. It also doesn't clarify the exact scope of 'personal contact folders' or if it excludes shared contacts. The description meets the minimum viable standard but lacks 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 sole parameter 'top' is fully documented in the schema with a description ('Number of folders to return') and constraints (minimum 1, maximum 100), providing 100% schema coverage. The tool description adds no further semantic meaning to this parameter, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' with the resource 'personal contact folders', clearly distinguishing the tool from sibling tools like contacts_list_folder_contacts which lists contacts within a folder. The scope 'personal' disambiguates from shared or public 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?
The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention that contacts_list_folder_contacts is for contacts within folders, nor does it state any prerequisites or exclusion criteria. The tool's name partially implies its use case, but the description itself lacks usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_searchSearch My ContactsB
Search personal contacts by name prefix. Chinese intents / 中文意图: 搜索联系人, 按姓名查联系人, 查找个人通讯录.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of contacts to return. | |
| query | Yes | Name prefix to search. |
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 says 'search personal contacts by name prefix' without disclosing read-only nature, case sensitivity, pagination, or error behavior. The Chinese intent examples do not add behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, the first being the core functionality. The second sentence lists Chinese intents, which is extra but not harmful; however, it could be seen as slightly unnecessary. Overall, 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?
For a simple search tool with fully described schema, the description is minimally adequate. It does not describe return values (no output schema) or usage context, nor does it mention alternatives. However, the purpose is straightforward, so it is not severely 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?
Schema description coverage is 100%, so baseline is 3. The description repeats 'name prefix' but adds no additional meaning beyond what the schema already provides for query and top 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 searches personal contacts by name prefix, which is a specific verb and resource. It distinguishes from sibling tools like contacts_list or contacts_get by detailing the search scope (personal contacts) and method (prefix).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 instead of alternatives such as contacts_list or contacts_get. It gives no explicit context, exclusions, or alternative recommendations. The only hint is the prefix search nature, which implies use for partial name lookups, but this is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_updateUpdate ContactA
Update a mailbox contact for the signed-in user. Provide only the fields to change. Requires delegated Contacts.ReadWrite. Chinese intents / 中文意图: 更新联系人, 修改联系人, 编辑联系人信息.
| Name | Required | Description | Default |
|---|---|---|---|
| surname | No | Surname. | |
| jobTitle | No | Job title. | |
| contactId | Yes | Contact ID. | |
| givenName | No | Given name. | |
| companyName | No | Company name. | |
| displayName | No | Display name. | |
| mobilePhone | No | Mobile phone number. | |
| businessPhones | No | Business phone numbers. | |
| emailAddresses | No | Contact email addresses. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure. It explains the permission requirement, the partial-update semantics, and that it applies to the signed-in user's mailbox. It does not detail return values or error behavior, but the essential mutation behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences plus a compact Chinese intent line. It front-loads the purpose, adds a critical usage guideline, and includes the permission note without unnecessary 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?
The description, combined with the fully documented schema, gives enough context for correct invocation. It covers permission, scope, and partial-update semantics. It lacks output/error details but this is acceptable given no output schema and the tool's relative simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by stating that only the fields to change need to be provided, which clarifies the optionality and partial-update behavior beyond what the schema's individual field descriptions offer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 updates a mailbox contact for the signed-in user, using a specific verb and resource. It distinguishes from sibling tools like contacts_create and contacts_delete, and explicitly notes partial updates with 'Provide only the fields to change.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly indicates this is for updating an existing contact and mentions the required delegate permission (Contacts.ReadWrite). It does not explicitly name alternatives or exclusions, but the context is clear enough for an agent to select this tool over creation/deletion commands.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_update_folderRename Contact FolderB
Rename a personal contact folder. Chinese intents / 中文意图: 重命名联系人文件夹, 修改通讯录分组名称.
| Name | Required | Description | Default |
|---|---|---|---|
| folderId | Yes | Contact folder ID. | |
| displayName | Yes | New folder name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only says 'Rename a personal contact folder.' It does not disclose behavioral traits such as whether the rename is permanent, whether it affects existing contacts, or if any special 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?
The description is a single, front-loaded sentence stating the operation, followed by a concise Chinese translation. It is appropriately sized and every word contributes to 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?
The tool is simple with two self-explanatory parameters and full schema coverage, so the description is minimally sufficient. However, it lacks contextual details such as whether the folder must be a personal folder vs. a system folder, or any side effects, 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 input schema provides full coverage with descriptions for both parameters (folderId and displayName), so the description does not need to add much. However, the description adds no additional parameter-level meaning beyond what the schema already states, meriting a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (rename) and the object (personal contact folder), distinguishing it from sibling tools like contacts_create_folder and contacts_delete_folder. The Chinese translation reinforces the same intent without 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 creating or deleting a folder. It does not mention any prerequisites, exclusions, or context in which renaming is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_copy_itemCopy OneDrive ItemA
Copy a OneDrive file or folder asynchronously to another folder. The response may include an operation monitor URL. Chinese intents / 中文意图: 复制OneDrive文件, 复制网盘文件夹, 创建文件副本.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Source item ID. | |
| newName | No | Optional name for the copy. | |
| parentItemId | Yes | Destination parent folder ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses an important behavioral trait: the copy is asynchronous and may return an operation monitor URL. Since no annotations are provided, this partially fulfills the transparency burden. However, it omits details about permissions, error handling, and whether the copy preserves metadata.
Agents need to know what a tool does to the world before 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 and front-loaded with the core purpose. The Chinese intent lines are redundant for an English-only workflow but do not significantly bloat the description. One extra sentence could be trimmed, but overall it 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?
For a moderately simple asynchronous copy tool, the description covers the primary behavior (async, monitor URL) and all parameters are fully documented in the schema. It could add caveats about long-running operations or failure modes, but it is sufficiently complete 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 input schema already covers all parameters with descriptions at 100% coverage, so the baseline is 3. The description does not add alternative meanings or nuances; it only restates the target folder concept in prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 action ('Copy'), the resource ('OneDrive file or folder'), and the destination ('to another folder'). It also notes asynchronous execution, which distinguishes it from synchronous copy tools and from sibling tools like move or rename. The Chinese intents reinforce the 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 clear context for when to use the tool: when duplicating an item to another folder. It does not explicitly mention alternatives or exclusions, but the copy vs. move distinction is implicit via the verb and the sibling tool names (drive_move_item).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_create_folderCreate OneDrive FolderA
Create a folder in the signed-in user OneDrive root or under a parent folder. Requires delegated Files.ReadWrite. Chinese intents / 中文意图: 创建OneDrive文件夹, 新建网盘文件夹, 创建目录.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | New folder name. | |
| parentItemId | No | Optional parent folder ID. Defaults to the root folder. | |
| conflictBehavior | No | How to handle name conflicts. Defaults to rename. |
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 the delegated Files.ReadWrite permission and target location, but it omits behavior around name conflicts (despite the schema enum), return values, and error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core description is concise and front-loaded with the action and target. The Chinese intent line adds a bit of length but serves a clear multilingual purpose. No redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple create operation with a well-described schema, the description is serviceable. However, without an output schema, it does not mention return object shape, and it lacks explicit sibling differentiation or conflict-behavior caveats, leaving moderate gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters, so the baseline is 3. The description adds context about root/parent location that maps to parentItemId, but it does not add significant syntax or format details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Create') and resource ('folder in the signed-in user OneDrive root or under a parent folder'), clearly distinguishing it from sibling tools like mail_create_folder, contacts_create_folder, and sharepoint_create_drive_folder by 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?
It clearly states the intended context (signed-in user's OneDrive, root or parent folder) and the required permission. However, it does not explicitly mention when not to use it or contrast with sharepoint_create_drive_folder, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_delete_itemDelete OneDrive ItemA
Delete a file or folder in the signed-in user OneDrive. Requires delegated Files.ReadWrite. Chinese intents / 中文意图: 删除OneDrive文件, 删除网盘文件, 删除文件夹.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | OneDrive item ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the permission requirement, which is useful, but does not clarify whether deletion is permanent or goes to recycle bin, or any side effects on folder contents. This is a partial 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 concise and front-loaded with the core purpose. The additional Chinese intent phrases add localization value but are not essential for the core understanding, slightly reducing 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 simple delete operation with one parameter, the description covers the core purpose, scope (OneDrive), and permission. It falls short of explaining permanence or error behavior, but these are less critical for such a straightforward 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 covers the itemId parameter fully with a description 'OneDrive item ID.' The tool description does not add further meaning to the parameter, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Delete) and the resource (file or folder in the signed-in user OneDrive). It also distinguishes from sibling tools like sharepoint_delete_drive_item by specifying OneDrive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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: it's for the signed-in user's OneDrive, and it mentions the required delegated permissions (Files.ReadWrite). However, it does not explicitly state when not to use it or name alternatives (e.g., sharepoint_delete_drive_item), so it lacks exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_download_fileDownload OneDrive FileA
Download a OneDrive file and return its bytes as base64. The MCP response is limited to 10 MB. Chinese intents / 中文意图: 下载OneDrive文件, 读取网盘文件内容, 获取文件base64.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | File item ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It usefully states that output is base64 and that the MCP response is limited to 10 MB, which is critical for size expectations. However, it does not mention permissions, read-only status, or failure behavior on missing/invalid item IDs, leaving room for more 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 core behavior and the 10 MB limitation are stated in the first two sentences, keeping the most important information front-loaded. The third sentence with Chinese intent alternatives is somewhat extra but serves multilingual intent recognition without being verbose. Overall the description is compact and free of unnecessary 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 single-parameter download tool with no output schema, the description explains the return format (base64), the key constraint (10 MB), and the resource type (OneDrive file), which is enough for invocation. It does not cover error handling or large-file alternatives, but the simplicity of the tool makes this acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple 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 fully documents the only parameter itemId as 'File item ID', giving 100% schema coverage. The description does not add additional parameter-level meaning or format guidance beyond what the schema already provides. The baseline of 3 is appropriate since the schema carries the parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Download a OneDrive file' – a specific verb and resource – and further clarifies it returns base64 bytes. This distinguishes it from metadata tools like drive_get_item and from sharepoint_download_file by scoping to OneDrive. The added Chinese intent examples reinforce the 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 usage for downloading file content, but it does not explicitly state when to prefer this tool over siblings like drive_get_item or sharepoint_download_file. It also does not mention exclusions such as files larger than 10 MB being unsuitable. The Chinese intent mapping offers some context but no tool-selection boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_get_driveGet My OneDriveA
Read signed-in user OneDrive metadata, owner, type, and quota. Chinese intents / 中文意图: 查看我的OneDrive信息, 查看网盘容量, 查看OneDrive配额.
| 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 for behavioral disclosure. It explicitly states 'Read', indicating a non-destructive, read-only operation. It also discloses the types of data returned (metadata, owner, type, quota). It does not mention potential edge cases like missing OneDrive or auth failures, but for a simple no-parameter read, the transparency is adequate and above average.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences: the primary English description and a Chinese intent list. Every word contributes value, and the structure is front-loaded with the core purpose. It is concise without being 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 the tool is a simple, zero-parameter read operation with no output schema, the description is complete. It states the main purpose and the key data returned (metadata, owner, type, quota). There are no hidden parameters or side effects to describe, and the explanation is sufficient for an 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 input schema has zero parameters, so the baseline is 4. There are no parameter semantics to explain. The description does not need to add parameter details, and it appropriately focuses on the return values instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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: 'Read signed-in user OneDrive metadata, owner, type, and quota.' It uses a specific verb ('Read') and identifies the resource (signed-in user's OneDrive). This distinguishes it from sibling tools like drive_list_root (lists files) or drive_get_item (gets a specific item), so purpose clarity is high.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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: to retrieve the signed-in user's OneDrive metadata, including quota. The Chinese intents ('查看我的OneDrive信息, 查看网盘容量, 查看OneDrive配额') reinforce these use cases. However, it does not explicitly mention alternatives or exclusions (e.g., use drive_list_root for files). Thus it has clear context without explicit comparisons, aligning with a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_get_itemGet OneDrive ItemA
Read metadata for a file or folder in the signed-in user OneDrive. Requires delegated Files.Read. Chinese intents / 中文意图: 查看OneDrive文件详情, 查看网盘文件信息, 读取文件元数据.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | OneDrive item ID from a list or search result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the transparency burden. It discloses the read-only nature and permission requirements, but does not describe the return format, whether folder metadata differs from file metadata, or any error conditions. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences plus an optional Chinese intent helper. It front-loads the primary purpose, includes a key permission detail, and 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?
For a simple read tool with one parameter and no output schema, the description covers the essential context: what it reads, where (signed-in user OneDrive), and the required permission. It lacks explicit return-value details but 'metadata' implies what is returned, making this sufficient for a low-complexity 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 already describes the only parameter (itemId as 'OneDrive item ID from a list or search result') with 100% coverage. The description text adds no further parameter context, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read metadata') and clearly identifies the resource ('file or folder in the signed-in user OneDrive'). This distinguishes it from sibling tools like drive_download_file (downloads content) and sharepoint_get_drive_item (uses SharePoint instead of OneDrive).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 required permission ('delegated Files.Read') and implies a read-only usage context. It does not explicitly mention alternatives or when-not-to-use, but the scope is clear enough for an agent to choose this over download or list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_invite_itemInvite People To OneDrive ItemA
Grant selected people read or write access to a OneDrive item and optionally send an invitation. Chinese intents / 中文意图: 共享OneDrive文件给指定人员, 邀请同事访问文件, 授予文件权限.
| Name | Required | Description | Default |
|---|---|---|---|
| roles | Yes | Granted roles. | |
| itemId | Yes | File or folder item ID. | |
| message | No | Optional invitation message. | |
| recipients | Yes | People to invite. | |
| requireSignIn | No | Require sign-in. Defaults to true. | |
| sendInvitation | No | Send invitation email. Defaults to true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the transparency burden. It clearly states the core side effect (granting read/write access) and the optional invitation. However, it does not disclose whether existing permissions are replaced, whether the caller needs special ownership rights, or what happens if recipients already have access. 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 two sentences long, front-loaded with the core English action, and the Chinese intent mapping adds useful multilingual coverage without unnecessary verbosity. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, the 100% schema coverage, and the absence of an output schema, the description provides enough context for an agent to understand the action and its optional invitation behavior. It could be improved by noting how this relates to permission replacement or invite vs. share-link flows, but it is not incomplete for selection purposes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds semantic context by mentioning 'selected people' (recipients), 'read or write access' (roles), and 'optionally send an invitation' (sendInvitation), but it does not add detail beyond what the schema already provides for message, itemId, or requireSignIn.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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: 'Grant selected people read or write access to a OneDrive item and optionally send an invitation.' This uses a specific verb and resource, and the mention of OneDrive plus 'selected people' distinguishes it from sibling tools like drive_create_share_link (link-based sharing) and sharepoint_invite_drive_item (SharePoint-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 does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions. For example, it does not clarify whether to prefer this over drive_create_share_link for link-based sharing or sharepoint_invite_drive_item for SharePoint items. Usage context is only implied by the action itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_list_childrenList OneDrive Folder ItemsB
List files and folders under a selected OneDrive folder. Chinese intents / 中文意图: 查看OneDrive文件夹内容, 展开网盘目录, 列出文件夹里的文件.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of children to return. | |
| parentItemId | Yes | Parent folder item ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden, but it only states the action. It does not disclose that it returns immediate children, is a read-only operation, supports pagination via `top`, or what the response structure will be. This leaves the agent to infer core behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The primary sentence is concise and front-loaded. The Chinese intents line is redundant as a direct translation, but it may serve multilingual intent matching. Overall, the description is compact and efficient, though not maximally so.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 output schema and no annotations, so the description should explain what the response contains or how to use the results. It does not describe return fields, pagination limits beyond the `top` property, or any other context needed to make full use of the tool. This is a significant gap for a listing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds little beyond schema: it frames `parentItemId` as 'selected OneDrive folder' but does not clarify `top` or any parameter nuances. It is adequate but not additive to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List') and resource ('files and folders under a selected OneDrive folder'), clearly distinguishing it from sibling tools like `drive_list_root`, `drive_list_recent`, and `drive_search_items`. The Chinese intent line reinforces the same purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool over alternatives, no exclusions, and no prerequisites. It merely implies usage by mentioning 'selected OneDrive folder', but does not describe navigation context or compare with other listing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_list_permissionsList OneDrive Item PermissionsA
List permission and sharing metadata for a file or folder in the signed-in user OneDrive. Requires delegated Files.Read. Chinese intents / 中文意图: 查看OneDrive权限, 查看文件共享权限, 查看谁能访问文件.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | OneDrive item ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that it requires delegated Files.Read permission, which is useful. As a list operation, the verb implies read-only behavior, but it does not discuss other behavioral aspects such as response shape, pagination, or handling of empty permission lists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with additional Chinese intents. It is front-loaded with the core action and includes the auth requirement, but the Chinese translation section adds bulk without new information for English agents.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-parameter tool, the description covers the purpose, auth scope, and general resource type. It does not specify return format, but the name and description imply the output is permission metadata; no output schema is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter itemId is described in the schema as 'OneDrive item ID.' The description reinforces that it applies to a file or folder but adds no further semantics beyond the schema, so the baseline for full schema coverage 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 uses the specific verb 'List' with resource 'permission and sharing metadata for a file or folder in the signed-in user OneDrive', clearly identifying its scope. The mention of 'signed-in user OneDrive' distinguishes it from the SharePoint permission listing sibling (sharepoint_list_drive_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. It states a required permission (Files.Read) but does not explain scenarios, prerequisites, or exclusions relative to similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_list_recentList Recent OneDrive ItemsA
List files recently used by the signed-in user. Chinese intents / 中文意图: 查看最近使用的文件, 列出最近打开的OneDrive文件, 我的最近文档.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of recent items to return. |
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 add useful context by specifying that results are scoped to the signed-in user and filtered by recency. However, it does not disclose limitations such as whether only metadata is returned, how 'recent' is defined, or that this is a read-only operation beyond the verb 'List.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The primary sentence is a crisp, front-loaded definition of the tool's purpose. The Chinese intent variants add multilingual guidance without significant bloat, keeping the overall description compact and 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 single-parameter, read-only list tool, the description covers the essential semantics: resource, scope, and recency. With no output schema, it would be slightly stronger to describe the returned item shape, but the low complexity makes the current text reasonably 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 only parameter, `top`, is fully documented in the schema with the description 'Number of recent items to return,' providing 100% schema coverage. The tool description adds no parameter-specific meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with the specific verb 'List,' identifies the resource as 'files,' and clearly scopes it to 'recently used by the signed-in user,' which matches the title. This distinguishes it from related tools like drive_list_root, drive_list_children, and drive_search_items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'recently used by the signed-in user' provides a clear retrieval context, making it apparent when this tool should be selected. It does not explicitly mention alternatives or exclusion cases, but the context is unambiguous and sufficient for a simple list operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_list_rootList My OneDrive RootA
List files and folders in the signed-in user OneDrive root. Requires delegated Files.Read. Chinese intents / 中文意图: 查看我的OneDrive, 查看网盘根目录, 列出OneDrive文件.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of files or folders to return, from 1 to 100. |
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 clearly indicates a read-only 'List' operation and discloses the specific auth requirement ('Requires delegated Files.Read'). It also specifies the user scope ('signed-in user'), which is valuable. It does not discuss pagination or output format, but these are less critical 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 front-loaded with the core purpose, followed by a permission note and a list of Chinese intent examples. The intent list is useful for multilingual agent routing and not excessive. Each sentence serves a distinct purpose, and the overall length is appropriate 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?
For a tool with one optional parameter and no output schema, the description adequately covers purpose, permission, and user-scope. It could mention that the result is limited to immediate children of the root or the optional top parameter, but those are already implied by the schema and the word 'root'. The Chinese intents enhance contextual completeness for language-driven 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 already covers the only parameter (top) with a clear description and bounds. The tool description adds no additional meaning to the parameter, so the baseline of 3 for high schema coverage is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('List files and folders') and a specific resource ('the signed-in user OneDrive root'), clearly distinguishing it from sibling tools like drive_list_children or drive_search_items. The scope is explicit: root of OneDrive for the signed-in user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 root-level listing and includes Chinese intent phrases like '查看我的OneDrive' as examples of user queries that should route here. It also states the required permission (delegated Files.Read), providing a prerequisite. However, it does not explicitly contrast with alternatives such as drive_list_children or drive_list_recent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_list_versionsList OneDrive File VersionsA
List retained versions of a OneDrive file. Chinese intents / 中文意图: 查看OneDrive版本历史, 列出文件旧版本, 查看文档版本.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | File item ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It states the action ('List retained versions') but does not disclose additional behaviors such as read-only nature, permission requirements, pagination, or response format. The description adds minimal behavioral context 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 extremely concise, with a single clear sentence plus a useful Chinese intent translation. Both sentences add value; there is no wordiness 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?
The tool is simple with one parameter, but the absence of an output schema and annotations means the description should hint at return values or related tools. It does not explain what the list contains or how it connects to drive_restore_version, leaving some contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage for the single parameter (itemId) with a description. The tool description does not add any further explanation about the parameter, so it provides no additional 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+resource: 'List retained versions of a OneDrive file.' This clearly distinguishes it from the sibling tool sharepoint_list_drive_versions, which is for SharePoint. The included Chinese intents further clarify the tool'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 implies usage for OneDrive files, which differentiates it from the SharePoint counterpart. However, it does not explicitly mention alternatives or when-not-to-use scenarios, so it lacks full exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_move_itemMove OneDrive ItemA
Move a file or folder in the signed-in user OneDrive to a new parent folder. Requires delegated Files.ReadWrite. Chinese intents / 中文意图: 移动OneDrive文件, 移动网盘文件, 把文件移到文件夹.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | OneDrive item ID to move. | |
| newParentItemId | Yes | Destination parent folder ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It usefully discloses the required delegated permission and the mutation implied by 'move.' However, it does not mention side effects like the item disappearing from the source folder or potential changes to sharing links, though these are somewhat inherent in 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 two sentences long, front-loaded with the primary English purpose and permission requirement, followed by helpful multilingual intent aliases. Every sentence adds value, 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?
Given the tool's simplicity (2 parameters, no output schema), the description covers the core operation and permission context. It lacks an explicit statement about return values, but for a move action, the outcome is generally clear. The multilingual aliases enhance completeness for Chinese-speaking intents.
Complex tools with many parameters or behaviors need more documentation. 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% as both itemId and newParentItemId have concise descriptions. The description adds no additional parameter detail beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool moves a file or folder in the signed-in user's OneDrive to a new parent folder. It uses a specific verb and resource, and differentiates from siblings like drive_copy_item and drive_rename_item by explicitly indicating relocation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 by specifying the scope (signed-in user's OneDrive) and a prerequisite (requires delegated Files.ReadWrite). It does not explicitly mention alternatives or exclusions, but the action is unmistakable, and the Chinese intent aliases help recognize relevant user requests.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_rename_itemRename OneDrive ItemA
Rename a file or folder in the signed-in user OneDrive. Requires delegated Files.ReadWrite. Chinese intents / 中文意图: 重命名OneDrive文件, 改文件名, 重命名文件夹.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | OneDrive item ID. | |
| newName | Yes | New name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the required delegated Files.ReadWrite permission, which is useful context. However, it does not describe behavioral expectations such as what happens on conflicts, whether the rename is reversible, or what the response contains. With no annotations, this leaves some gaps, but the tool's core behavior is straightforward.
Agents need to know what a tool does to the world before 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 and front-loaded with the action and resource. The Chinese intent line is purposeful for supporting Chinese queries and does not bloat the description unnecessarily. Every part serves a 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 two-parameter tool with no output schema, the description adequately covers purpose, scope, and permission. It would be slightly more complete if it mentioned the response format or error behavior, but given the low complexity, the current content 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 provides complete descriptions for both itemId and newName, so the schema already covers parameter semantics. The description adds no additional parameter details beyond what is in the schema, making the baseline score of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Rename' and the resource 'file or folder in the signed-in user OneDrive'. It is specific and distinguishes from sibling tools like drive_move_item and sharepoint_rename_drive_item by indicating the OneDrive scope. The Chinese intent clarifies the purpose further for multilingual 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?
The description provides clear context by specifying the signed-in user's OneDrive and the required permission, but it does not explicitly mention when to use this tool versus alternatives such as sharepoint_rename_drive_item. No exclusions or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_restore_versionRestore OneDrive File VersionB
Restore a selected historical version of a OneDrive file. Chinese intents / 中文意图: 恢复OneDrive文件版本, 回滚网盘文件, 还原文档旧版本.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | File item ID. | |
| versionId | Yes | Version ID from drive_list_versions. |
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. While 'restore' implies returning to a previous version, the description does not disclose that this overwrites the current version, is potentially irreversible, or requires specific permissions. This is a significant gap for a mutating operation, though the name gives a partial clue.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The English sentence is concise and front-loaded, stating the action in one line. The additional Chinese intent list provides useful aliases for multilingual routing while remaining compact; no words are 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?
The tool is simple (2 required params, no output schema), but because it performs a destructive restore and lacks annotations, the description should explain the effect on the current file and any prerequisites. The current description only states what it does, not the consequences, leaving a 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 already covers both parameters with clear descriptions (itemId and versionId from drive_list_versions), so the baseline is 3. The description adds no additional meaning beyond what the schema provides, merely referencing 'selected historical version' which maps to versionId.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 ('Restore') and resource ('historical version of a OneDrive file'), clearly distinguishing it from sibling tools like drive_list_versions or drive_download_file. The Chinese intent aliases reinforce routing without 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 compared to alternatives like drive_list_versions or drive_download_file. It does not mention that a version must first be selected from drive_list_versions, nor any exclusions such as file types or permission requirements. This lack of usage context makes it difficult for an agent to decide between related drive operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_search_itemsSearch My OneDriveA
Search files visible to the signed-in user in OneDrive. Requires delegated Files.Read. Chinese intents / 中文意图: 搜索OneDrive文件, 查找网盘文件, 按文件名搜索.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of search results to return, from 1 to 50. | |
| query | Yes | Search query, such as file name or document keyword. |
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 reveals the required delegated Files.Read permission and the user scope (files visible to the signed-in user), which is useful. However, it does not clarify whether the search covers file content or just names, nor does it mention pagination or result format. This is somewhat thin 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 very concise: two short sentences, with the first conveying the core purpose and the second providing multilingual support hints. No wasted words, and the structure front-loads the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 params, no output schema), and the description covers permission, user scope, and language support. However, it omits behavior around result ordering, whether full-text search is supported, and any error scenarios. Given the low complexity, this is adequate but not rich; a 3 reflects that the description does not fully stand 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?
Schema coverage for parameters is 100%, so the baseline is 3. The description adds a note about Chinese intents and '按文件名搜索' (search by filename), but this largely echoes the schema's phrase 'file name or document keyword.' It provides minimal additional semantic 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 states the tool's function with a specific verb ('Search') and a clearly defined resource ('files visible to the signed-in user in OneDrive'). It implicitly distinguishes from siblings like sharepoint_search_drive_items and search_files by scoping to the user's own OneDrive. The permission requirement adds further specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: searching the signed-in user's own OneDrive files. It implies a distinction from SharePoint or general file searches, but does not explicitly name alternatives or state when not to use it. Since context is clear but exclusions/alternatives are not explicitly stated, a 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_upload_small_fileUpload Small OneDrive FileA
Upload a small file to the signed-in user OneDrive. Use upload sessions for large files. Requires delegated Files.ReadWrite. Chinese intents / 中文意图: 上传OneDrive文件, 上传网盘文件, 保存文件到OneDrive.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Target path relative to the OneDrive root, for example Notes/demo.txt. | |
| content | Yes | File content. Use raw text for text mode or base64 for base64 mode. | |
| contentType | No | Optional MIME type, for example text/plain or application/pdf. | |
| contentEncoding | No | Content encoding. Defaults to text. | |
| conflictBehavior | No | How to handle name conflicts. Defaults to replace. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description effectively discloses key behavioral context: it requires delegated Files.ReadWrite permission and is intended for small files (implying size limitations). It does not mention overwrite/rename behavior or response format, but the schema covers conflictBehavior and the tool's purpose is not misrepresented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: purpose, size limitation/alternative, and permission requirement. The Chinese intent list is a useful add-on for multilingual agents and does not bloat the description. Front-loaded with the tool's primary 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?
Given the tool's moderate complexity (5 params, no output schema) and lack of annotations, the description covers the essential context: what it does, when to use it, and required permissions. It omits the return value and exact size limit, but the schema and the small/large distinction provide adequate guidance 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?
Schema description coverage is 100%, so parameters are fully documented in the schema. The description adds no extra parameter meaning beyond what the schema already provides (e.g., it doesn't explain the 'small' size threshold or clarify base64/text modes beyond schema definitions). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Upload a small file to the signed-in user OneDrive' with a specific verb (upload), resource (file to OneDrive), and scope (signed-in user). Contrasts with large-file upload sessions and identifies the target as OneDrive vs SharePoint, distinguishing 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?
Explicitly guides on when to use this tool ('small file') and when not ('Use upload sessions for large files'), providing an alternative. Also notes the required delegated permission (Files.ReadWrite), which is a prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph_get_meGet My ProfileA
Read the signed-in user profile from Microsoft Graph /me. Use for questions about account identity, email address, display name, job title, and department. Chinese intents / 中文意图: 获取我的个人资料, 查看我的账号信息, 我是谁, 查看我的邮箱和部门.
| 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 disclosing behavior. It clearly labels the operation as 'Read', indicating a safe, non-destructive action, and lists the returned profile attributes. It does not mention auth prerequisites or error handling, but for a simple read-profile endpoint, the disclosure is adequate.
Agents need to know what a tool does to the world before 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 and front-loaded: the first sentence states the action and resource, the second gives usage context. The Chinese intent examples are a useful addition for multilingual support and do not bloat the 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?
This is a simple, zero-parameter tool with no output schema. The description fully covers its purpose, typical use cases, and return content. No additional context is necessary for an agent to select and 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 adds no parameter details because there are none to document, and the schema coverage is effectively 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 uses a specific verb ('Read') and resource ('signed-in user profile from Microsoft Graph /me'), clearly distinguishing it from sibling tools like users_get_profile by focusing on the current signed-in user. It also enumerates the exact data fields returned (email, display name, job title, department), 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 explicitly states when to use the tool: 'Use for questions about account identity, email address, display name, job title, and department.' It does not explicitly exclude alternatives like users_get_profile, but the 'me' scope is clearly implied, providing sufficient guidance for most cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groups_check_my_membershipsCheck My Group MembershipsA
Check which of up to 20 supplied group IDs contain the signed-in user, including transitive membership. Chinese intents / 中文意图: 检查我是否在这些组, 验证我的组成员身份, 检查用户权限组.
| Name | Required | Description | Default |
|---|---|---|---|
| groupIds | Yes | Group IDs to check. |
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 adds useful context: 'including transitive membership' and 'up to 20 supplied group IDs.' However, it does not disclose the return format (e.g., list of matching group IDs vs. boolean per ID), error handling for invalid IDs, or authentication expectations. The description gives basic behavioral traits 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 two concise sentences: the core statement and a multilingual repetition. Every sentence serves a purpose, with no unnecessary fluff. The main information is front-loaded: 'Check which of up to 20 supplied group IDs contain the signed-in user, including transitive membership.'
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description covers the key aspects: the action, the parameter scope, and the transitive membership behavior. It does not explicitly state the return value structure, but the phrase 'Check which... contain' implies the output will be the subset of supplied group IDs where the user is a member. This is reasonably complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description for groupIds ('Group IDs to check.') is clear, and schema coverage is 100%. The tool description adds context about checking against the signed-in user and the limit of 20, but these are already present in the schema or are not additional semantics about the parameter's format or usage. Thus, the description provides minimal extra meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action: 'Check which of up to 20 supplied group IDs contain the signed-in user, including transitive membership.' This distinguishes it from sibling tools like groups_list_members (which lists members of a group) and users_list_memberships (which lists all memberships) by focusing on checking a supplied set of group IDs against the current user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case: when you have a set of group IDs and need to check if the signed-in user is a member, especially with transitive membership. However, it does not explicitly mention when to use this tool instead of alternatives like users_list_memberships or groups_list_members, nor does it state exclusions. Thus, the usage guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groups_getGet Organization GroupA
Read details for a Microsoft Entra or Microsoft 365 group. Chinese intents / 中文意图: 查看组详情, 查看安全组信息, 查看Microsoft 365组信息.
| Name | Required | Description | Default |
|---|---|---|---|
| groupId | Yes | Group ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It clearly states 'Read details', indicating a read-only operation, which is useful. However, it does not describe the return format, the exact identifier format expected for groupId, or any potential error conditions, leaving gaps in 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 very short and front-loaded with the English purpose. The Chinese intent list adds length but serves a clear i18n purpose. Every sentence earns its place, though the intent list could be seen as slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read operation, the description is largely sufficient when combined with the schema. It identifies the resource type and action. It lacks details on return shape and usage alternatives, but given the tool's simplicity, this is a minor gap rather than a critical omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes groupId as 'Group ID' at 100% coverage, so the baseline is 3. The description adds context that the group is a Microsoft Entra or Microsoft 365 group, but does not specify the format (e.g., object ID, UPN, mail address) beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Read details for a Microsoft Entra or Microsoft 365 group.' This clearly distinguishes the tool from sibling group tools like groups_list, groups_list_members, and groups_list_owners, which focus on listing or membership 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?
No explicit guidance is given for when to use this tool versus alternatives. The description does not mention that groups_list can find group IDs, or that groups_list_members/owners are separate tools for specific group-related queries, so an agent gets no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groups_listList Organization GroupsA
List Microsoft Entra security groups and Microsoft 365 groups. Optionally filter by display-name prefix. Requires delegated GroupMember.Read.All. Chinese intents / 中文意图: 列出公司组, 搜索安全组, 查看Microsoft 365组.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of groups to return. | |
| query | No | Optional display-name prefix. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It adds the important permission requirement (delegated GroupMember.Read.All) and confirms the filtering behavior, but does not disclose return format, pagination, or other 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 compact and front-loaded: purpose, filter option, permission, and localized intents in three sentences. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two optional parameters and strong schema coverage, the description covers purpose, filter, and permissions. It does not explain return fields or pagination, but this is not critical for such a straightforward 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 input schema already has 100% coverage with clear descriptions for both top and query. The description adds no additional parameter-specific details beyond restating the filter behavior, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('List') and resource ('Microsoft Entra security groups and Microsoft 365 groups'), clearly distinguishing from sibling tools like groups_list_members or groups_get. It also identifies the optional filter behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 for when to use the tool (listing groups, optionally filtered by prefix) and related Chinese intents. It does not explicitly name alternatives or edge cases, but the context is clear enough relative to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groups_list_membersList Group MembersA
List direct members of a group. Hidden-membership groups may require additional tenant permissions. Chinese intents / 中文意图: 查看组成员, 列出安全组用户, 谁在这个组里.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of members to return. | |
| groupId | Yes | Group ID. |
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 'direct members' scope and the additional tenant permissions for hidden-membership groups, which is useful. However, it does not mention return format, pagination, or default behavior when 'top' is omitted, leaving some transparency 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 three concise sentences: the core action, a permissions caveat, and Chinese intent variants. Every sentence earns its place with no fluff, and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with 100% schema coverage and no output schema, the description is nearly complete. It covers the core behavior and an important permission nuance. It could benefit from a brief note on the return shape, but that is not critical given the schema and tool simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters (groupId, top) have clear descriptions. The tool description adds no extra parameter semantics, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List direct members of a group' – a specific verb and resource. The term 'direct members' differentiates from sibling tools like groups_list_owners and groups_get, making the tool's 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 through 'List direct members of a group' but provides no explicit alternatives or when-not-to-use guidance. The hidden-membership permission caveat adds context, but it doesn't direct users to other group-related tools for different needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groups_list_ownersList Group OwnersB
List owners of a Microsoft Entra or Microsoft 365 group. Chinese intents / 中文意图: 查看组所有者, 查看组管理员, 谁负责这个组.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of owners to return. | |
| groupId | Yes | Group ID. |
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. It adds the scope of 'Microsoft Entra or Microsoft 365 group' but does not disclose return format, potential empty results, pagination behavior, or any permission requirements. Minimal behavioral detail is given beyond the core 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 concise sentence with additional Chinese intent phrases. Every part is purposeful and adds value, with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two parameters and no output schema. The description is sufficient for a basic list operation but could benefit from mentioning pagination, default top value, or typical return structure. Overall, it is adequate but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters (groupId, top) described. The description adds no additional parameter nuance, so the baseline of 3 applies as the schema already provides adequate 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 'List owners of a Microsoft Entra or Microsoft 365 group', using a specific verb and resource. It distinguishes from sibling tools like groups_list_members by focusing on owners, and is further reinforced by the title 'List Group Owners'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 groups_list_members or groups_get. The Chinese intent phrases imply usage scenarios but do not explicitly exclude sibling tools or mention prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_add_file_attachmentAdd File Attachment To MailA
Add a base64-encoded file under 3 MB to an existing draft message. Requires delegated Mail.ReadWrite. Chinese intents / 中文意图: 给邮件添加附件, 给草稿添加文件, 附加文件到邮件.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Attachment file name. | |
| isInline | No | Whether this is an inline attachment. | |
| contentId | No | Optional inline content ID. | |
| messageId | Yes | Draft message ID. | |
| contentType | Yes | MIME type. | |
| contentBase64 | Yes | Base64-encoded content, under 3 MB decoded. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the disclosure burden. It adds useful behavioral details like the 3 MB decoded size limit and the permission requirement. However, it does not mention the return value, error conditions, or that the action modifies the draft, which would be expected for a complete 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 compact, with the core action in the first sentence, permission in the second, and a useful multilingual hint in the third. Every sentence adds value, and the structure is front-loaded with the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderate-complexity tool with no output schema, the description covers the essential constraints (size, target, permission) and gives contextual intent phrases. It could be more complete by stating what the tool returns or what happens on failure, but it is sufficient for understanding the tool's primary function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameters are already well documented in the schema. The description's mention of 'base64-encoded file under 3 MB' aligns with the contentBase64 property description, but adds no new meaning beyond what the schema already provides. The baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Add' and resource 'base64-encoded file to an existing draft message', clearly distinguishing this from sibling tools like mail_send_draft, mail_list_attachments, and calendar_add_file_attachment. It also provides Chinese intent phrases to aid recognition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 states the target context: adding a file to an existing draft message. It mentions the permission requirement (delegated Mail.ReadWrite) which helps agents know when the operation is allowed. However, it does not explicitly list alternatives or exclusions, such as not using this for calendar attachments.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_copy_messageCopy MailA
Copy a message into another mailbox folder. Requires delegated Mail.ReadWrite. Chinese intents / 中文意图: 复制邮件, 把邮件复制到文件夹, 保留邮件副本.
| Name | Required | Description | Default |
|---|---|---|---|
| messageId | Yes | Message ID. | |
| destinationFolderId | Yes | Destination folder ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the required delegated Mail.ReadWrite permission, which is a critical behavioral trait. The verb 'copy' implies the original remains, but it does not explicitly mention side effects or reversibility. The auth disclosure is a valuable addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: one main sentence, one permission note, and Chinese intents. It is front-loaded with the action and contains no fluff or 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?
For a simple two-parameter tool with no output schema, the description covers the core action, the permission requirement, and language variations. It does not explain return values or edge cases, but these are not essential 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?
The input schema has 100% coverage with descriptions for both messageId and destinationFolderId. The tool description does not add further meaning beyond what the schema already states, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the exact action: 'Copy a message into another mailbox folder.' It uses a specific verb and resource, and the word 'copy' distinguishes it from sibling mail_move_message. The inclusion of Chinese intents also reinforces the 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 clearly implies when to use (when a message needs to be copied to another folder), but it does not explicitly contrast with mail_move_message or state when not to use. The permission requirement adds context, but no alternative tools are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_create_draftCreate Mail DraftA
Create an email draft without sending it. Requires delegated Mail.ReadWrite. Chinese intents / 中文意图: 创建邮件草稿, 写邮件草稿, 先不要发送邮件.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | Cc recipients. | |
| to | No | To recipients. | |
| bcc | No | Bcc recipients. | |
| body | Yes | Email body. | |
| subject | Yes | Email subject. | |
| bodyIsHtml | No | Whether the body is HTML. Defaults to false. |
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 discloses the required delegated Mail.ReadWrite permission and explicitly states the draft is not sent. This is useful behavioral context, though it does not mention side effects like saving to the Drafts folder 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 one focused sentence followed by Chinese intent aliases. It front-loads the core purpose and permission requirement. No wasted words; the additional Chinese text is compact and serves multilingual support without bloating the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter draft tool with no output schema and no annotations, the description provides the essential context: what it does, permission needed, and the non-sending guarantee. It lacks details on where the draft is stored or what the response contains, but these are not critical for tool selection. Overall, the description is largely complete for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all 6 parameters, so per the rubric baseline is 3. The description does not add parameter-level info beyond what the schema already provides, but since the schema is complete, no deduction 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 verb 'Create', the resource 'email draft', and the key distinction 'without sending it'. This distinguishes it from siblings like mail_send and mail_reply, making the tool's 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 'without sending it' provides clear context that this tool is for drafting emails when the user wants to prepare content but not transmit it yet. However, it does not explicitly name alternative tools (e.g., mail_send) or provide explicit exclusion scenarios, so it misses the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_create_folderCreate Mail FolderA
Create a top-level or child mailbox folder. Requires delegated Mail.ReadWrite. Chinese intents / 中文意图: 创建邮件文件夹, 新建邮箱目录, 创建子文件夹.
| Name | Required | Description | Default |
|---|---|---|---|
| isHidden | No | Whether the folder is hidden. This cannot be changed later. | |
| displayName | Yes | Folder display name. | |
| parentFolderId | No | Optional parent folder ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds a specific permission requirement (delegated Mail.ReadWrite) and clarifies the scope (top-level or child folder), but it does not disclose potential side effects, return behavior, or any post-creation details, leaving some behavioral aspects implicit.
Agents need to know what a tool does to the world before 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 and front-loaded with the core purpose in the first sentence. The permission note is valuable, and the Chinese intents provide localization without bloating the text. Every part serves a purpose, and there is no redundancy 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 straightforward creation tool with a simple 3-parameter schema and no output schema, the description provides the essential context: what the tool does, the permission required, and the folder hierarchy capability. It lacks details about return values or error conditions, but the simplicity of the operation and full schema coverage make this acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all three parameters (isHidden, displayName, parentFolderId) with 100% coverage, so the description adds no parameter-specific meaning beyond what the schema gives. The 'top-level or child' phrasing loosely maps to parentFolderId being optional, but this is redundant with the schema's 'Optional parent folder ID.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 'Create' and the resource 'mailbox folder', and further specifies 'top-level or child', distinguishing it from sibling folder creation tools like contacts_create_folder and drive_create_folder. The additional Chinese intent phrases reinforce the tool's purpose without 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 clear context by indicating the tool creates mailbox folders and requires delegated Mail.ReadWrite permission, which sets expectations for when to use it. However, it does not explicitly contrast with alternatives or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_delete_attachmentDelete Mail AttachmentA
Delete an attachment from a draft message. Requires delegated Mail.ReadWrite. Chinese intents / 中文意图: 删除邮件附件, 从草稿移除附件.
| Name | Required | Description | Default |
|---|---|---|---|
| messageId | Yes | Draft message ID. | |
| attachmentId | Yes | Attachment ID to delete. |
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 required permission (delegated Mail.ReadWrite) and the draft-only scope, but it does not mention irreversibility, error handling, or what happens on success. This is partial but not comprehensive 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 extremely concise, with a single action sentence, a permission note, and a Chinese translation. Every sentence serves a purpose, and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, and the schema fully documents its two parameters. However, with no output schema and no annotations, the description does not specify return values, error behavior, or the permanence of deletion. It is adequate but leaves 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 schema covers both parameters with clear descriptions ('Draft message ID' and 'Attachment ID to delete'), giving 100% coverage. The description adds no parameter-specific detail beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: 'Delete an attachment from a draft message.' This distinguishes it from sibling tools like mail_list_attachments, mail_get_attachment, and mail_add_file_attachment, making the purpose 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 description provides clear context by specifying 'from a draft message,' indicating this tool is only for drafts. However, it does not explicitly mention when not to use it or name alternatives, so it stops 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.
mail_delete_folderDelete Mail FolderA
Delete a mailbox folder and its contents. Requires delegated Mail.ReadWrite. Chinese intents / 中文意图: 删除邮件文件夹, 移除邮箱目录.
| Name | Required | Description | Default |
|---|---|---|---|
| folderId | Yes | Folder ID to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It states the destructive nature ('Delete a mailbox folder and its contents') and the required permission, but it does not mention whether the deletion is permanent, if it affects child folders beyond contents, or any recovery options. 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 concise and front-loaded with the main action. It includes the essential requirement in a second sentence and adds Chinese intents for multilingual recognition. Every sentence serves a purpose, and the length is appropriate for a simple delete 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 one-parameter delete tool with no annotations or output schema, the description covers the basic function and permission requirement. However, it omits critical context such as whether the deletion is irreversible or if it includes subfolders. This gap is significant for a destructive operation and prevents a higher score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single parameter folderId with description 'Folder ID to delete.' The tool description does not add any parameter-specific meaning beyond the schema. With high schema coverage, the baseline is 3, and no additional semantic contribution is made.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 and resource: 'Delete a mailbox folder and its contents.' This distinguishes it from sibling tools like mail_delete_message (deletes a message) and mail_update_folder (updates a folder). The inclusion of Chinese intents further clarifies the intended 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 clear usage prerequisite: 'Requires delegated Mail.ReadWrite.' This gives context on when the tool is accessible. However, it does not explicitly mention when to use this tool over alternatives (e.g., mail_delete_message) or any exclusions. The context is sufficiently clear for a well-scoped delete operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_delete_messageDelete MailA
Delete a message. Requires delegated Mail.ReadWrite. Chinese intents / 中文意图: 删除邮件, 删掉这封邮件, 移除邮件.
| Name | Required | Description | Default |
|---|---|---|---|
| messageId | Yes | Message ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It adds the auth requirement (Mail.ReadWrite) but does not disclose whether the deletion is permanent or moves to trash, nor any return behavior. This is minimally sufficient but lacks deeper 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 plus Chinese intents, extremely concise and front-loaded with the action. Every word earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with one parameter and no output schema, the description covers the action, the required permission, and the parameter. It lacks side-effect disclosure but is otherwise complete for the simplicity of the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter (messageId), so the description does not need to add parameter details. It also does not add extra semantics beyond the schema's 'Message ID' explanation, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool deletes a message, using a specific verb+resource. It distinguishes from sibling mail tools like mail_list_messages, mail_get_message, mail_move_message, and mail_copy_message by specifying the delete action. The Chinese intents further clarify the 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 mentions the required permission (delegated Mail.ReadWrite), which is important context for when to use the tool. It does not explicitly list alternatives or when-not-to-use, but the tool's name and the sibling list make the deletion use case obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_forwardForward MailA
Forward an existing message to one or more recipients. Requires delegated Mail.Send. Chinese intents / 中文意图: 转发邮件, 把邮件转给别人, 转发这封邮件.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Forward recipients. | |
| comment | Yes | Optional forwarding comment. May be an empty string. | |
| messageId | Yes | Message ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It adds the permission requirement ('Requires delegated Mail.Send') which is useful, but it does not disclose other behavioral aspects such as immediate sending, impact on the original message, or error/response behavior. Minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences plus a multilingual intent list. It front-loads the core purpose, states a key requirement, and adds useful Chinese intent mappings without 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?
For a simple forward action with fully described parameters and no output schema, the description covers the essential purpose, permission requirement, and multilingual variants. It could mention whether the message is sent immediately or if the original remains unchanged, but overall it is sufficient 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?
Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-specific details beyond what the schema already provides; it only generically references 'recipients'. No additional 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 clearly states the action ('Forward') and the target ('an existing message') and specifies 'one or more recipients', making it distinct from sibling tools like mail_send and mail_reply. 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?
The description provides clear context for when to use the tool (forwarding an existing message) but does not explicitly state when not to use alternatives like mail_reply or mail_send. The inclusion of the permission requirement adds usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_get_attachmentGet Mail AttachmentA
Read one mail attachment. Set raw=true to return file bytes as base64, limited to 10 MB. Requires delegated Mail.Read. Chinese intents / 中文意图: 读取邮件附件, 下载邮件附件, 查看附件内容.
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | Return raw attachment bytes as base64. Defaults to false. | |
| messageId | Yes | Message ID. | |
| attachmentId | Yes | Attachment ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the description compensates with key behavioral details: raw=true returns base64 bytes, a 10MB limit, and a delegated Mail.Read permission requirement. It does not explain the default (raw=false) return format, which is a transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences plus a Chinese intent list, immediately stating the core purpose. Every sentence adds value—usage, size limit, permission, and multilingual support—with no 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?
The description covers the essential operation, size limit, and permission, but lacks an output schema and does not clarify the default return format or how to obtain attachmentId from mail_list_attachments. This leaves the tool incomplete for an agent to fully anticipate 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 schema already provides descriptions for all three parameters (100% coverage), so the baseline is 3. The description reinforces raw=true base64 behavior and adds the 10MB limit, but adds nothing beyond the schema for messageId/attachmentId.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 'Read one mail attachment,' which is a specific verb (read) and resource (mail attachment), and it distinguishes from sibling mail_list_attachments by focusing on a single attachment's content. The inclusion of 'one' 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 implies usage for fetching attachment content but does not explicitly contrast with alternatives like mail_list_attachments (listing) or mail_get_message (message). No when-not-to-use or alternative tool is named, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_get_folderGet Mail FolderA
Read mailbox-folder details and item counts. Requires delegated Mail.Read. Chinese intents / 中文意图: 查看邮件文件夹详情, 查看文件夹未读数量, 读取邮箱目录信息.
| Name | Required | Description | Default |
|---|---|---|---|
| folderId | Yes | Folder ID or well-known name such as inbox or drafts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adequately discloses the tool's read-only nature ('Read') and permission requirements ('Requires delegated Mail.Read'). It also hints at unread count behavior via the Chinese intents. It does not describe potential side effects or failure modes, but for a simple read operation, this is 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, consisting of two short sentences. The English sentence conveys the core function and permission, while the Chinese lines add multilingual intent examples without unnecessary fluff. Every element serves a 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 tool's simplicity (one required parameter, no output schema) and lack of annotations, the description covers the essential aspects: purpose, permission, and unread count context. It could be slightly more specific about what 'folder details' includes, but overall it is sufficient for an 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 input schema already provides complete coverage of the 'folderId' parameter, including a description of well-known names like 'inbox' or 'drafts'. The tool description adds no additional parameter context beyond what the schema defines, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads mailbox-folder details and item counts, using a specific verb ('Read') and resource. It distinguishes itself from sibling tools like mail_list_folders and mail_get_message by focusing on folder metadata and counts rather than listing all folders or retrieving individual 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 provides some usage context through the Chinese intent examples (e.g., '查看邮件文件夹详情', '查看文件夹未读数量'), implying it should be used for viewing folder details and unread counts. However, it does not explicitly mention alternatives or when not to use this tool, leaving some ambiguity relative to similar mail folder tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_get_messageGet Mail DetailsA
Read detailed content for a message, including body, sender, recipients, and attachment flag. Requires delegated Mail.Read. Chinese intents / 中文意图: 查看邮件详情, 读取邮件正文, 查看邮件内容, 查看邮件收件人.
| Name | Required | Description | Default |
|---|---|---|---|
| messageId | Yes | Message ID from a mail list or search result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It explicitly states the required permission (delegated Mail.Read) and the exact content read (body, sender, recipients, attachment flag). While it doesn't explicitly confirm non-mutating behavior, the verb 'Read' and the permission requirement imply a safe 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 one clear sentence followed by a permission note and a compact list of Chinese intents. It front-loads the core function and avoids unnecessary words; the localized intent list enhances discoverability without bloating the 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?
For a single-parameter read tool with no output schema, the description provides the essential context: action, content included, and permission required. It does not mention error behavior or response structure, but given the tool's simplicity, this is acceptable and nearly 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 only parameter, messageId, is fully described in the schema with 100% coverage, giving a baseline of 3. The description adds no additional parameter-level detail beyond the schema, though it mentions what content categories are returned, which is separate from parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Read' and clearly identifies the resource as 'detailed content for a message' with enumerated elements (body, sender, recipients, attachment flag). This clearly distinguishes it from sibling tools like mail_list_messages (listing) and mail_get_attachment (getting attachments).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 after obtaining a messageId, reinforced by the schema's parameter description 'Message ID from a mail list or search result.' It states the permission requirement ('Requires delegated Mail.Read') but does not explicitly mention alternatives or when not to use, missing the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_list_attachmentsList Mail AttachmentsA
List attachment metadata for a message. Requires delegated Mail.Read. Chinese intents / 中文意图: 查看邮件附件, 列出邮件附件, 邮件有没有附件.
| Name | Required | Description | Default |
|---|---|---|---|
| messageId | Yes | Message ID. |
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 behavioral trait (requires delegated Mail.Read) and implies a read-only metadata operation, which is helpful. It could further clarify that it does not return file content, but 'metadata' sufficiently implies this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences efficiently convey purpose and permission. The Chinese intent line adds practical multilingual usage hints without notable bloat, keeping the description 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?
For a single-parameter metadata listing, the description covers the operation, permission, and intent triggers. It omits specifics about returned fields, but this is acceptable given no output schema and the simplicity of 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 fully describes the only parameter (messageId as 'Message ID'), providing 100% coverage. The description adds no additional parameter semantics beyond the context of 'for a message', so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List attachment metadata for a message', using a specific verb and resource. It distinguishes from siblings like mail_get_attachment by specifying 'metadata' rather than content, making the tool's 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 clear context by stating the permission requirement and including Chinese intent examples that map to typical user requests. However, it does not explicitly name alternatives or exclusions compared to sibling tools like mail_get_attachment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_list_child_foldersList Child Mail FoldersC
List child folders under a mailbox folder. Requires delegated Mail.Read. Chinese intents / 中文意图: 查看子邮件文件夹, 展开邮箱目录, 列出文件夹下的目录.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of child folders to return. | |
| folderId | Yes | Parent folder ID or well-known folder name. | |
| includeHidden | No | Whether hidden folders should be included. |
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 a permission requirement ('Requires delegated Mail.Read'), which is useful, but it does not disclose other behavioral traits such as whether hidden folders are included by default, if it returns only immediate children, or if it has pagination limits. The tool's read-only nature is implied 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 very concise, with the core purpose stated in a single sentence. The inclusion of Chinese intents adds a slight redundancy but may serve a purpose for international users. Overall, it is well-structured and front-loaded, earning a high score despite the minor extra line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple list operation, and the description covers the essential function and a key prerequisite (Mail.Read permission). However, it does not mention the return format or any default behaviors (e.g., hidden folders, max results). Given the absence of an output schema and annotations, a bit more detail would make it complete, but it is acceptable for a basic 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 already provides 100% description coverage for all three parameters (top, folderId, includeHidden), so the baseline is 3. The description text adds no additional parameter-level information beyond the schema, leaving the agent to rely on the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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: 'List child folders under a mailbox folder.' It uses a specific verb ('List') and resource ('child folders'), which is immediately understandable. However, it does not explicitly distinguish this from the sibling tool mail_list_folders, though the 'child' qualifier strongly implies the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 related tools like mail_list_folders or explain scenarios (e.g., drilling down a folder hierarchy). The usage context is merely implied by the phrase 'under a mailbox folder,' which is not sufficient explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_list_folder_messagesList Mail In FolderA
List recent messages in a selected mailbox folder. Requires delegated Mail.Read. Chinese intents / 中文意图: 查看指定文件夹邮件, 查看归档邮件, 列出草稿箱邮件.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of messages to return. | |
| folderId | Yes | Folder ID or well-known folder name. | |
| unreadOnly | No | Whether to return unread messages only. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the load. It discloses the permission requirement and the 'recent' qualifier, which is useful. However, it doesn't detail response structure, error behavior, or limitations, so it's adequate 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 two sentences plus a localized intent list, with the core purpose front-loaded. Every element earns its place, including the Chinese examples for multilingual clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description covers purpose, permission, and folder scope, while the schema covers parameters. Without an output schema, it could hint at return format, but for a list operation this 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?
Schema description coverage is 100% for all three parameters, so the baseline is 3. The description adds no extra meaning beyond the schema, merely referencing 'selected mailbox folder' which corresponds to folderId.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 'List recent messages in a selected mailbox folder', which clearly specifies the verb (list), resource (messages), and scope (selected mailbox folder). This distinguishes it from sibling tools like mail_list_messages (likely inbox-wide) and mail_search_messages (search-based).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 (selected folder) and a prerequisite (delegated Mail.Read), indicating when it applies. However, it lacks explicit mention of alternatives or exclusions, so it doesn't fully meet the 'when/when-not' bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_list_foldersList Mail FoldersA
List mailbox folders for the signed-in user. Use this to choose a destination when moving messages. Requires delegated Mail.Read. Chinese intents / 中文意图: 查看邮件文件夹, 列出邮箱文件夹, 查看收件箱草稿箱已发送.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of folders to return, from 1 to 100. |
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 adds important context by noting a required permission ('delegated Mail.Read') and clarifying the user scope. The 'List' verb implies a read-only operation, which is helpful, though it does not mention pagination or return details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main description is concise and front-loaded with the core action and resource. The Chinese intent section adds length but serves multilingual users, and the permission note is useful. Overall it is efficient without unnecessary 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?
For a simple list tool with no output schema and a single optional parameter, the description covers purpose, a use case, and a permission requirement. However, it does not clarify the hierarchy (top-level vs. all folders) relative to sibling tools, leaving a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides complete descriptions for the single parameter 'top' (coverage 100%). The description adds no parameter-specific details, so the baseline of 3 is appropriate; the schema carries the weight 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 a specific action ('List mailbox folders') with a defined resource scope ('for the signed-in user'). It is distinct from siblings like 'mail_list_child_folders' by implying top-level folders, though it does not explicitly differentiate itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 a clear usage scenario: 'Use this to choose a destination when moving messages.' This helps the agent understand a primary use case, but it lacks explicit guidance on when not to use it or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_list_messagesList My MailA
List recent messages in the signed-in user mailbox. Supports recent mail and unread mail queries. Requires delegated Mail.Read. Chinese intents / 中文意图: 查看我的邮件, 看最近邮件, 查看未读邮件, 列出收件箱邮件.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of messages to return, from 1 to 50. | |
| unreadOnly | No | Whether to return unread messages only. |
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 discloses the required permission (delegated Mail.Read) and the scope (signed-in user mailbox), but does not specify return format, pagination, or explicitly confirm read-only behavior. The term 'recent' 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 concise and front-loaded, with three short sentences covering purpose, capabilities, and permissions. The Chinese intent list adds length but is useful for multilingual support. No unnecessary fluff is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two well-documented parameters, the description provides adequate context: what it does, query options, and permissions. It lacks an explicit return-value description, but 'list messages' implies a list. The ambiguity of 'recent' is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for both parameters (top and unreadOnly), achieving 100% coverage. The description adds minimal value by mapping 'recent' to top and 'unread' to unreadOnly, but this is not beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists recent messages from the signed-in user's mailbox, using a specific verb and resource. It distinguishes itself from sibling tools like mail_list_folder_messages (folder-specific) and mail_search_messages (search-based) by emphasizing recent/unread queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 mentions supporting recent mail and unread mail queries, giving clear context on when to use the tool. However, it does not mention alternatives or exclusions, such as pointing users to search for keyword queries or folder listing for specific folders.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_move_messageMove MailA
Move a message to a target mailbox folder. Requires delegated Mail.ReadWrite. Chinese intents / 中文意图: 移动邮件, 把邮件移到文件夹, 整理邮件.
| Name | Required | Description | Default |
|---|---|---|---|
| messageId | Yes | Message ID. | |
| destinationFolderId | Yes | Destination folder ID from mail_list_folders. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It does disclose the required delegated Mail.ReadWrite permission, which is useful. However, it does not mention the destructive nature of moving (removing from the source folder) or any other side effects, limiting full 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 concise and front-loaded with the primary action and required permission. The Chinese translations add multilingual value without bloating the content. Every sentence serves a 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 simple 2-parameter tool, the description covers the core purpose and permission. It does not explain return values or side effects in detail, but the absence of an output schema reduces that need. Overall, it is adequately complete for this action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with descriptions. 'Message ID' and 'Destination folder ID from mail_list_folders' already provide meaning. The tool description adds no additional parameter explanations beyond the schema, so it holds to the baseline without enhancing semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Move a message to a target mailbox folder' with a specific verb and resource. It distinguishes itself from sibling tools like mail_copy_message and mail_delete_message by the unique move action. The inclusion of Chinese intents reinforces the purpose without 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 explains what the tool does but provides no explicit when-to-use or when-not-to-use guidance. It does not mention alternatives like mail_copy_message when duplication is needed, nor does it specify exclusions. The context is clear but lacks direct comparison to sibling operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_replyReply To MailA
Reply to an existing message. Requires delegated Mail.Send. Chinese intents / 中文意图: 回复邮件, 回这封邮件, 给邮件写回复.
| Name | Required | Description | Default |
|---|---|---|---|
| comment | Yes | Reply comment. | |
| messageId | Yes | Message ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses the permission requirement (delegated Mail.Send), which is useful, but it does not mention side effects, whether the reply is sent immediately, or how the comment is used beyond being the reply body.
Agents need to know what a tool does to the world before 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 and front-loaded with the core purpose. The Chinese intent list is a helpful addition without bloating the text, making every sentence earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description provides the essential information: what it does and the required permission. It does not need to detail return values, and the absence of an output schema lowers the burden.
Complex tools with many parameters or behaviors need more documentation. Simple 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 fully covers both parameters with descriptions (comment and messageId). The description adds minimal extra meaning beyond the schema, so it meets the baseline 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 the action ('Reply to an existing message') with a specific verb and resource. It distinguishes from sibling tools like mail_send, mail_forward, and mail_create_draft, and the Chinese intent examples reinforce the exact use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 ('existing message') and a key prerequisite ('Requires delegated Mail.Send'). It does not explicitly contrast with alternatives like mail_forward or mail_send, but the wording makes the intended scenario obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_search_messagesSearch My MailA
Search messages in the signed-in user mailbox by keyword. Requires delegated Mail.Read. Chinese intents / 中文意图: 搜索邮件, 按关键词查邮件, 查找某封邮件.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of messages to return, from 1 to 50. | |
| query | Yes | Search query, such as sender, subject, or body keywords. |
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 permission requirement ('Requires delegated Mail.Read') and the scope ('signed-in user mailbox'), which is useful. However, it does not disclose behavioral details like sorting, pagination, or folder scope beyond what the schema already provides.
Agents need to know what a tool does to the world before 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, with two primary sentences and a Chinese intent expansion. The main purpose is front-loaded and there is no fluff. The Chinese intents add some length but serve a multilingual intent-matching purpose, so it's not 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 simple search tool with two parameters and no output schema, the description covers the essential aspects: purpose, permission, and query examples. It could explicitly state that it returns a list of messages, but this is implied by the name and the top parameter. Overall, it is sufficiently complete for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description does not add any parameter semantics beyond what the schema already explains. The 'by keyword' phrase mirrors the query parameter description, so there is no additional 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 ('Search'), resource ('messages in the signed-in user mailbox'), and method ('by keyword'). This clearly distinguishes it from siblings like mail_list_messages (which lists all messages) and mail_get_message (which retrieves a single 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?
The description implies usage when a user wants to search for emails by keyword, and it notes the permission requirement. However, it does not explicitly mention alternatives or when not to use it, such as preferring search_mail for broader searches or mail_list_messages for listing without a keyword.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_sendSend MailC
Send an email as the signed-in user. Requires delegated Mail.Send. Chinese intents / 中文意图: 发送邮件, 帮我发邮件, 给某人发邮件.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | Cc recipients. | |
| to | Yes | To recipients. | |
| bcc | No | Bcc recipients. | |
| body | Yes | Email body. | |
| subject | Yes | Email subject. | |
| bodyIsHtml | No | Whether the body is HTML. Defaults to false. | |
| saveToSentItems | No | Whether to save the message to Sent Items. Defaults to true. |
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 does state 'sends as the signed-in user' and 'requires delegated Mail.Send', but it does not warn that this sends a real, irreversible email or disclose side effects like saving to Sent Items (which is only in the schema). The action is a mutation with significant impact, yet the description omits 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 two concise sentences, front-loaded with the action and permission, and includes a helpful Chinese intent phrase for multilingual support. Every sentence earns its place with no 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?
Despite a rich schema, the description lacks essential context for a mutation tool: no usage guidelines, no warning about irreversibility, and no mention of what the tool returns (since there is no output schema). It only covers the permission requirement, leaving the agent under-informed for selecting and invoking this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains all parameters (subject, body, to, cc, bcc, bodyIsHtml, saveToSentItems). The description adds no parameter-level semantics beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Send an email as the signed-in user', which is a specific verb+resource. However, it does not explicitly distinguish itself from sibling tools like mail_send_draft or mail_reply, though the action of sending a fresh email is implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 mail_send_draft or mail_reply. It only mentions the permission requirement, which is a prerequisite rather than usage context. There is no when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_send_draftSend Mail DraftA
Send an existing draft message. Requires delegated Mail.Send. Chinese intents / 中文意图: 发送草稿, 发送邮件草稿, 把草稿发出去.
| Name | Required | Description | Default |
|---|---|---|---|
| messageId | Yes | Draft message ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must disclose behavioral traits. It does mention the permission requirement ('delegated Mail.Send'), but it does not describe what happens after sending (e.g., whether the draft is deleted, marked as sent, or if a response is returned). For a mutation tool, this is a moderate disclosure level.
Agents need to know what a tool does to the world before 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 plus a useful bilingual intent list. Every part earns its place, and the core action is front-loaded. There is zero 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?
For a simple one-parameter tool with no output schema and fully covered parameter schema, the description adequately covers purpose and permission. It could mention expected outcome or error behavior, but the simplicity of the operation makes this less critical. The Chinese intents also aid multilingual 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 description covers 100% of parameters (messageId with 'Draft message ID.'), so the baseline is 3. The tool description adds no extra detail about the parameter, such as how to obtain or format the messageId. Thus, it provides no added 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 uses a specific verb ('Send') with a clear resource ('an existing draft message'), which precisely identifies the tool's function and distinguishes it from siblings like mail_send (for new messages) and mail_create_draft (for creating drafts). The title 'Send Mail Draft' reinforces the 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 'existing draft message' clearly indicates the tool is for sending drafts, not composing new messages. It also states the required permission ('delegated Mail.Send'), which is a valuable prerequisite. However, it does not explicitly name alternatives or explain when not to use it, so it just misses a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_set_read_stateSet Mail Read StateA
Mark a message as read or unread. Requires delegated Mail.ReadWrite. Chinese intents / 中文意图: 标记邮件已读, 标记邮件未读, 更改邮件读取状态.
| Name | Required | Description | Default |
|---|---|---|---|
| isRead | Yes | true marks the message as read; false marks it as unread. | |
| messageId | Yes | Message ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the mutating nature ('mark...read or unread') and the required permission (delegated Mail.ReadWrite), adding meaningful context beyond the schema. However, it does not describe any potential side effects or return behavior, leaving minor 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 concise and front-loaded: two essential sentences plus a useful Chinese intent mapping. Every sentence serves a purpose—function, permission, and multilingual intent—without 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?
Given the tool's simplicity, the description covers the core action, permission, and parameters clearly. The absence of an output schema is acceptable for this mutation tool, though a brief note on the response could have added completeness. Overall, it is sufficiently complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents both parameters (messageId and isRead) with clear descriptions, yielding 100% coverage. The tool description adds no additional parameter-level meaning, so it stays at the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: 'Mark a message as read or unread.' This directly distinguishes it from sibling mail tools like mail_move_message or mail_delete_message. The Chinese intent mapping reinforces the purpose without 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 the prerequisite 'Requires delegated Mail.ReadWrite' but does not offer explicit when-to-use guidance or alternatives. There is no mention of when to prefer this over other mail operations, only implied usage from the action described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mail_update_folderRename Mail FolderA
Rename a mailbox folder. Requires delegated Mail.ReadWrite. Chinese intents / 中文意图: 重命名邮件文件夹, 修改邮箱目录名称.
| Name | Required | Description | Default |
|---|---|---|---|
| folderId | Yes | Folder ID. | |
| displayName | Yes | New folder display name. |
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 discloses the need for delegated Mail.ReadWrite permission, which is useful behavioral context. However, it does not mention side effects, reversibility, error scenarios, or the response format. For a rename operation, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with one clear English sentence and a brief permission note. The Chinese intents are compact and provide localization value without bloat. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no nested objects, no output schema), the description covers the essential action and permission requirement. It is complete enough for an agent to invoke correctly. The schema fully documents parameters, so no additional parameter context is needed. It lacks return value details, but this is not critical for a simple rename.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (folderId and displayName). The description adds little beyond the schema, only implying that folderId is the target and displayName is the new name. Since the schema already documents these, the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Rename a mailbox folder' with a specific verb and resource. This unambiguously distinguishes it from sibling tools like mail_create_folder, mail_delete_folder, and mail_list_folders. The title reinforces the 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 usage (when you need to rename a mailbox folder) but does not explicitly provide when-to-use vs alternatives or exclusions. The permission requirement is a prerequisite rather than a usage guideline. No alternatives or conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_calendarSearch Microsoft 365 CalendarB
Search calendar events with Microsoft Search query syntax. Requires both mcp.search and mcp.calendar roles. Chinese intents / 中文意图: 全文搜索日历, 按主题搜索会议, 用Microsoft Search查日程.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Zero-based result offset. | |
| size | No | Number of search hits to return. | |
| query | Yes | Microsoft Search query string. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden. It discloses the required roles, which is useful behavioral context, and implies read-only search behavior. However, it does not detail pagination behavior, result ordering, or error handling, leaving transparency 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 concise, front-loaded with the core purpose, and includes essential permission information. The Chinese intents add minor redundancy but serve a useful purpose for multilingual users, so it remains efficient without being overly 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 search tool with three well-documented parameters, the description provides the core purpose, query syntax, and required permissions. It does not explain return format, but the absence of an output schema makes this less critical. It is reasonably complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all parameters (query, from, size) already documented in the schema. The description adds no extra parameter semantics beyond restating the Microsoft Search query syntax, which is already in the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches calendar events using Microsoft Search query syntax, providing a specific verb and resource. However, it does not explicitly differentiate from sibling tools like calendar_list_events or search_mail, so it falls short of the highest rating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 required roles (mcp.search and mcp.calendar) but does not provide guidance on when to use this tool versus alternatives such as calendar_list_events or other domain-specific search tools. There is no explicit when-to-use or 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.
search_filesSearch Microsoft 365 FilesA
Search files visible to the signed-in user across OneDrive and Microsoft 365. Requires both mcp.search and mcp.drive roles. Chinese intents / 中文意图: 跨网盘搜索文件, 全文搜索Microsoft 365文件, 用Microsoft Search查文档.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Zero-based result offset. | |
| size | No | Number of search hits to return. | |
| query | Yes | Microsoft Search query string. |
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 reveals the auth requirements (both mcp.search and mcp.drive roles) and the scope (user-visible files). The Chinese phrase '全文搜索' indicates full-text search behavior, which adds meaningful context. It still omits return format or pagination, but the core behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (three sentences) and front-loads the main purpose. The Chinese intent examples add some redundancy but also provide useful alternative phrasings for an international audience. Overall, it is efficient, though the Chinese sentence repeats some information from the first 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?
There is no output schema, so the description should explain what the tool returns. It covers scope, permissions, and search modality but does not describe the result structure or how pagination works via from/size. This is a noticeable gap for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all three parameters (query, from, size) already described in the input schema. The description does not add parameter-specific semantics beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Search') and identifies the exact resource ('files visible to the signed-in user across OneDrive and Microsoft 365'). It clearly distinguishes this from sibling tools like search_mail, search_calendar, and search_teams by specifying the file 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 states a clear context: files visible to the signed-in user across OneDrive and Microsoft 365. It also provides a prerequisite (requires both mcp.search and mcp.drive roles), which helps the agent decide when the tool is applicable. However, it does not explicitly mention when not to use it or point to alternatives like drive_search_items for OneDrive-only searches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_mailSearch Microsoft 365 MailA
Search mailbox messages with Microsoft Search query syntax. Requires both mcp.search and mcp.mail roles. Chinese intents / 中文意图: 全文搜索邮件, 用Microsoft Search查邮件, 跨文件夹搜索邮件.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Zero-based result offset. | |
| size | No | Number of search hits to return. | |
| query | Yes | Microsoft Search query string. |
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. It discloses the auth requirements and hints at cross-folder search via the Chinese intent '跨文件夹搜索邮件'. It does not mention return format, pagination, or side effects, but for a read-only search tool, the provided info is reasonable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences plus a concise list of Chinese intent examples. It is front-loaded with the core action and includes no redundant fluff. Every sentence serves a 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 search tool with three parameters and no output schema, the description covers the core purpose, syntax, auth, and some usage examples. Gaps include absence of pagination guidance or result format expectations, but overall it is 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?
Schema coverage is 100% for all three parameters, providing baseline 3. The description adds value beyond the schema by clarifying the query uses Microsoft Search syntax and supports cross-folder search, giving agents better context for constructing the query 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 'Search mailbox messages with Microsoft Search query syntax,' which is a specific verb and resource. It clearly identifies the tool as a mail search operation and differentiates it from other search tools via the explicit query syntax mention.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 prerequisite roles ('Requires both mcp.search and mcp.mail roles') and gives Chinese intent examples that imply usage scenarios. However, it does not explicitly compare with siblings like mail_search_messages or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_teamsSearch Teams MessagesA
Search Microsoft Teams chat messages with Microsoft Search. Requires both mcp.search and mcp.teams roles. Chinese intents / 中文意图: 全文搜索Teams消息, 搜索聊天记录, 用Microsoft Search查Teams讨论.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Zero-based result offset. | |
| size | No | Number of search hits to return. | |
| query | Yes | Microsoft Search query string. |
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 authorization requirements and the search backend, which is useful. However, it does not explicitly state that this is a read-only operation, describe return format, or mention any search limitations or side effects. 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 front-loaded with the purpose, followed by a concise requirement statement and a Chinese intent line. It is appropriately sized and mostly efficient, though the Chinese intent section is somewhat redundant for an AI agent but adds multilingual 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?
The tool has 3 parameters, no output schema, and no annotations. The description explains purpose and role requirements, but does not clarify what the search returns, pagination behavior beyond schema hints, or the scope of the search (e.g., all Teams or joined teams). 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?
Schema coverage is 100% and each parameter has a description ('Zero-based result offset', 'Number of search hits to return', 'Microsoft Search query string'). The tool description adds no additional parameter-specific meaning, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search'), a specific resource ('Microsoft Teams chat messages'), and the method ('with Microsoft Search'). This clearly distinguishes it from sibling tools like search_mail or teams_list_chat_messages. The Chinese intents reinforce the 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 usage for searching Teams messages and provides a prerequisite ('Requires both mcp.search and mcp.teams roles'), but it does not explicitly mention when to use this vs alternatives like search_mail or teams_list_chat_messages, nor any exclusions. Thus, usage is implied rather than clearly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
smart_calendar_conflictsFind Calendar ConflictsA
Detect overlapping events and list free working-hour slots. Chinese intents / 中文意图: 检查日程冲突, 查找空闲时间, 分析未来日程.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of future days to inspect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, leaving the description to carry the full burden of disclosing behavioral traits. The description states the high-level functions but does not disclose whether the tool modifies calendar data, how it determines working hours, what timezone it uses, or what the output format is. While 'detect' implies read-only, this is 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 extremely concise, using one sentence for the main function and a compact multilingual intent list. It is front-loaded with the core functionality, and every element serves a purpose—including the Chinese intents for multilingual support. 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 tool has a simple input schema (one optional parameter) and no output schema, so the description should ideally clarify what the agent can expect in the return value. It does not describe the structure or format of the conflict/free-slot results, leaving some ambiguity. However, the core purpose is clear and the tool is simple enough that this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'days' parameter, which is fully described in the input schema. The description adds no parameter-specific information, so it stays at the baseline score 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 the tool's function: 'Detect overlapping events and list free working-hour slots.' It uses specific verbs and resource concepts (events, free slots) and distinguishes itself from sibling calendar tools like calendar_get_schedule or calendar_list_events by focusing on conflict detection and free slot discovery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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, especially via the Chinese intents (检查日程冲突, 查找空闲时间, 分析未来日程), which explicitly map to user queries for conflict checking and free time analysis. However, it does not mention exclusions or alternative tools, so it lacks explicit 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.
smart_mail_digestBuild Mail DigestA
Summarize recent mail by urgency, sender domain, read state, flags, and attachments. Chinese intents / 中文意图: 生成邮件摘要, 总结最近邮件, 查看重要未读邮件.
| Name | Required | Description | Default |
|---|---|---|---|
| focus | No | Messages to prioritize. | unread |
| hours | No | Number of hours to look back. |
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 summarizes by multiple criteria, implying read-only aggregation, but does not explicitly state it does not modify messages or mention authentication requirements/rate limits. Adequate but not rich 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?
Two sentences: first is the core definition, second provides useful multilingual intents for Chinese-language agents. No filler, 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?
For a tool with 2 well-described params and no output schema, the description covers purpose and criteria sufficiently. It lacks explicit return format, but 'summarize' implies a text digest, which is reasonable 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?
Schema has 100% coverage with clear descriptions (focus, hours). The description adds context about digest dimensions (urgency, sender domain, attachments) not captured in schema, enriching the agent's understanding of what the summary contains.
Input schemas describe structure but not intent. Descriptions should explain 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 'Summarize' with resource 'recent mail' and lists grouping dimensions (urgency, sender domain, read state, flags, attachments), clearly distinguishing it from low-level mail listing/searching siblings. Chinese intent examples reinforce the exact user-facing 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?
States what it does (summarize recent mail) and includes Chinese intents like '查看重要未读邮件' (view important unread mail), providing clear usage context. It does not explicitly name alternatives or exclusions, but the summarization function is distinct from search/list siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
smart_teams_unreadAggregate Recent Teams MessagesA
Aggregate recent Teams channel and chat messages as unread candidates; Graph does not expose one reliable cross-source unread flag. Chinese intents / 中文意图: 聚合Teams未读消息, 总结最近Teams消息, 查看Teams消息摘要.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of message candidates. |
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 discloses a key behavioral trait: the resulting messages are 'unread candidates' because Graph lacks a reliable cross-source unread flag. This is honest about the approximation. It does not mention side effects or read-only status, but the main limitation is clearly surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences. The first sentence is dense and informative; the second provides Chinese intents, which is useful for multilingual contexts but somewhat redundant for an English-only agent. Overall, it is efficient without unnecessary 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?
The tool aggregates heterogeneous messages (channels and chats) but has no output schema or annotations. The description does not explain the return format, how 'recent' is defined, or how 'unread candidates' are determined beyond the Graph limitation. This leaves gaps for an agent needing to parse the result or understand 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?
The only parameter, 'limit', is already well-described in the schema ('Maximum number of message candidates') with 100% coverage. The description does not add any additional param-specific meaning, so it relies on the schema, which is sufficient. 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 states a specific action ('Aggregate recent Teams channel and chat messages') and a clear purpose ('as unread candidates'). It distinguishes this from sibling tools like teams_list_channel_messages and teams_list_chat_messages by focusing on cross-source aggregation for unread detection, not just listing 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 provides clear context by explaining why this tool exists ('Graph does not expose one reliable cross-source unread flag'), implying it is the choice for an aggregated unread view. However, it does not explicitly mention alternatives or exclusion criteria, so it stops short of full usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_add_channel_memberAdd Teams Channel MemberB
Add a member or owner to a private Teams channel. Chinese intents / 中文意图: 添加Teams频道成员, 给私有频道加用户, 添加频道所有者.
| Name | Required | Description | Default |
|---|---|---|---|
| member | Yes | User and role to add. | |
| teamId | Yes | Teams team ID. | |
| channelId | Yes | Teams channel ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action, but does not mention required permissions, potential errors, idempotency, or consequences of adding an existing member. For a mutation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core purpose. The Chinese intent lines are repetitive but take little space and may aid multilingual users. Every sentence contributes to localization, though the first sentence alone would suffice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 about prerequisites, return values, or failure modes. It only explains the basic operation, leaving the agent without guidance on how to handle edge cases or verify success.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions, so the baseline is 3. The description does not add any parameter-level semantics beyond the schema, such as the meaning of roles or how to obtain team/channel IDs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 specific resource ('a member or owner to a private Teams channel'). This distinguishes it from sibling tools like teams_add_team_member and teams_add_chat_member, which operate on different scopes. The mention of 'private' channel adds important scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by stating it is for private Teams channels, but does not explicitly contrast with alternatives or provide when-not-to-use guidance. It is clear enough for an agent to infer the appropriate scenario, but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_add_chat_memberAdd Teams Chat MemberA
Add a user to an existing Teams group chat. Chinese intents / 中文意图: 添加Teams群聊成员, 邀请用户加入聊天, 给群聊加人.
| Name | Required | Description | Default |
|---|---|---|---|
| chatId | Yes | Teams chat ID. | |
| member | Yes | User to add. | |
| visibleHistoryStartDateTime | No | Optional ISO date-time controlling visible chat history. |
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 disclosure. It only restates the action without revealing side effects, required permissions, idempotency, or failure behavior. There is no added value beyond the action itself.
Agents need to know what a tool does to the world before 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 the key information front-loaded. The additional Chinese intent lines are compact and provide multilingual support 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?
For a mutation tool with no annotations and no output schema, the description is minimal. It does not explain expected result, error cases, prerequisites, or post-conditions. The schema covers parameters but not behavioral context, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and all parameters are fully described in the schema (chatId, member with role and userId, visibleHistoryStartDateTime). The description adds no additional parameter semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific action with a verb and resource: 'Add a user to an existing Teams group chat.' This clearly distinguishes it from sibling tools like teams_add_team_member or teams_add_channel_member by specifying 'group chat'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'existing Teams group chat' provides clear context for when to use this tool. However, it does not explicitly mention alternatives or when not to use it (e.g., for team or channel membership). The context is clear but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_add_team_memberAdd Teams Team MemberA
Add a Microsoft Entra user as a team member, owner, or guest. Requires TeamMember.ReadWrite.All and the caller must have authority in the team. Chinese intents / 中文意图: 添加Teams团队成员, 给团队加所有者, 邀请用户加入团队.
| Name | Required | Description | Default |
|---|---|---|---|
| member | Yes | User and role to add. | |
| teamId | Yes | Teams team ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It discloses the mutating action and the permission prerequisite, but does not mention potential failure modes, side effects, or idempotency. This adds some value beyond the schema, but deeper 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 concise and front-loaded with the purpose, followed by a useful permission note. The Chinese translation adds extra text but is not unnecessary for localisation. Overall, it is efficiently written.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 add-member tool with two parameters and one nested object, the description adequately covers the core purpose and a key permission requirement. There is no output schema, but for a mutation action, the lack of return value details is acceptable. It is complete enough 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 schema provides descriptions for both teamId and member, covering 100% of parameters. The description's reference to roles aligns with the nested role property but adds little meaning beyond what the schema already documents. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Add), the resource (Microsoft Entra user to a team), and the supported roles (member, owner, guest). This differentiates it from sibling tools like teams_add_channel_member and teams_add_chat_member, which target other membership scopes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 required permission (TeamMember.ReadWrite.All) and authority requirement, which is helpful context. However, it does not explicitly state when to use this tool versus alternatives, such as teams_add_channel_member or teams_add_chat_member. The intended use 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.
teams_create_channelCreate Teams ChannelA
Create a standard or private Teams channel. Shared-channel creation is intentionally excluded because Microsoft does not support it in 21V. Chinese intents / 中文意图: 创建Teams频道, 新建私有频道, 给团队添加频道.
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | Yes | Teams team ID. | |
| members | No | Initial private-channel members. Include an owner for a private channel. | |
| description | No | Optional channel description. | |
| displayName | Yes | Channel display name. | |
| membershipType | No | Channel type. Defaults to standard. |
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 the supported channel types and the 21V limitation for shared channels, but does not mention other behavioral aspects like the need for an owner in private channels (already in schema) or any default behavior beyond what the schema states. The description adds some value but lacks comprehensive 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 two concise sentences plus Chinese intent mappings, front-loading the core purpose first. The Chinese list is slightly redundant for English agents but serves intent matching without bloating the text. Overall, every sentence earns its place, though the structure could be slightly tighter without the language hints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 create operation with 5 parameters and no output schema, the combination of a clear description and a detailed 100% coverage schema is reasonably complete. The description covers purpose and constraints; the schema covers all parameters. It does not describe the return value, but that nuance is secondary for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description itself adds no parameter-specific detail beyond restating 'standard or private', which is already captured by the membershipType enum. It does not clarify any parameter subtleties not already present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb ('Create'), an explicit resource ('Teams channel'), and scope ('standard or private'), and explicitly excludes shared-channel creation, distinguishing it from sibling tools like teams_create_chat or teams_update_channel. The Chinese intent list further clarifies the operation's 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?
Provides an explicit when-not-to-use exception: shared-channel creation is excluded because Microsoft does not support it in 21V, giving clear guidance on a specific limitation. However, it does not explicitly name alternative tools for related operations (e.g., teams_update_channel for modifications), so guidance is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_create_chatCreate Teams ChatA
Create a one-on-one or group Teams chat. Include every participant, including the signed-in user. Chinese intents / 中文意图: 创建Teams聊天, 发起群聊, 创建一对一聊天.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Group-chat topic. Ignored for one-on-one chat. | |
| members | Yes | All chat participants. | |
| chatType | Yes | Chat type. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description adds the key behavioral requirement that the signed-in user must be included in the members list. However, it does not disclose other behaviors such as permissions, side effects of creating a chat, or validation rules for one-on-one vs group chats.
Agents need to know what a tool does to the world before 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 and front-loaded with the core purpose. The inclusion of Chinese intents is slightly extraneous but not harmful. Overall, it is efficient 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 tool with 3 parameters, no annotations, and no output schema, the description provides adequate context: it explains the main function and a critical prerequisite. Some nuances about chat-type-specific constraints are not covered, but the schema fills most gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds meaningful context for the 'members' parameter by instructing to include the signed-in user, which is not apparent from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and the resource ('Teams chat'), specifying both one-on-one and group scope. This distinguishes it from sibling tools like teams_list_chats and teams_add_chat_member.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool (to create a new chat) and provides a critical guideline: include every participant, including the signed-in user. It does not explicitly mention alternatives or exclusions, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_delete_channelDelete Teams ChannelB
Delete a Microsoft Teams channel. Chinese intents / 中文意图: 删除Teams频道, 移除团队频道.
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | Yes | Teams team ID. | |
| channelId | Yes | Channel ID to delete. |
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 only states the destructive action ('Delete') but does not disclose irreversibility, permission requirements, or side effects. This is a significant gap 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 extremely short and front-loaded with the core English phrase. The Chinese translations add minor redundancy but are not excessive, making it still concise and focused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 a simple delete operation, the description could explain the result of deletion, error scenarios, or whether it is permanent. It does none of this, leaving the agent to infer the full behavioral context from the tool name 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?
Schema description coverage is 100%, so the parameters teamId and channelId are already fully documented. The description adds no additional semantic value beyond what the schema provides, which aligns with 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 states 'Delete a Microsoft Teams channel' with a specific verb and resource, clearly distinguishing it from sibling tools like teams_create_channel or teams_update_channel. The additional Chinese intent translations reinforce the meaning without adding 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?
Usage is implied by the deletion action, but there is no explicit guidance on when to use this tool versus alternatives, nor any mention of prerequisites or exclusions. It does not name alternative tools for similar operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_delete_channel_messageDelete Teams Channel MessageA
Soft-delete a Teams channel message or reply. Microsoft Graph and tenant policy enforce who may delete it. Chinese intents / 中文意图: 删除Teams频道消息, 撤回频道消息, 删除频道回复.
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | Yes | Teams team ID. | |
| replyId | No | Optional reply ID. Omit to delete the root message. | |
| channelId | Yes | Teams channel ID. | |
| messageId | Yes | Root channel message ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must explain behavioral traits. It discloses the soft-delete behavior and permission enforcement, which adds context. However, it does not mention side effects on replies, reversibility, or error outcomes, leaving gaps 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 highly concise and effectively front-loaded: the core purpose is stated first, followed by a permission note and a Chinese intent line. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward delete operation, the description plus schema adequately capture the core information: what is deleted, the permission context, and the parameters. No output schema exists, but the tool likely returns a simple success/failure; a bit more on consequences or return values would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter descriptions, so the schema already covers parameter meanings. The description adds minimal value beyond the schema, merely repeating that messages or replies can be deleted without explaining the replyId logic 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 specifies the action: 'Soft-delete a Teams channel message or reply.' This distinguishes it from sibling tools like teams_delete_chat_message and teams_delete_channel, and explicitly covers both root messages and replies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case is implied by the tool name and resource, but the description gives no explicit guidance on when to use this tool over alternatives like teams_delete_chat_message. The note about Microsoft Graph and tenant policy is a constraint, not a usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_delete_chat_messageDelete Teams Chat MessageA
Soft-delete a Teams chat message. Microsoft Graph and tenant policy enforce who may delete it. Chinese intents / 中文意图: 删除Teams聊天消息, 撤回私聊消息, 删除群聊消息.
| Name | Required | Description | Default |
|---|---|---|---|
| chatId | Yes | Teams chat ID. | |
| messageId | Yes | Chat message ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the deletion is a 'soft-delete' and that Microsoft Graph/tenant policy enforce permissions. However, with no annotations, it carries the full burden, and it does not explain reversibility, effect on chat participants, or whether the message is hidden immediately. It adds some behavioral context but leaves significant gaps 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 concise: two sentences plus Chinese intent mappings. It front-loads the core action and adds one sentence about policy enforcement. Every part adds value; no redundancy or excessive 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 2-parameter, no-output-schema tool, the description covers the essential purpose and adds contextual information about authorization. It could mention the result of the operation (e.g., success state) but 'soft-delete' implies the message is removed from view. Overall it is sufficiently complete for this tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both chatId and messageId have descriptions). The tool description does not add any extra semantics about the parameters; it only refers to 'a Teams chat message' generically. Baseline 3 is appropriate since the schema already provides full parameter 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 states a specific verb and resource: 'Soft-delete a Teams chat message.' This clearly distinguishes from sibling tools like teams_delete_channel_message by specifying 'chat message' rather than channel message. It also provides Chinese intent mappings, which reinforces the exact action being described.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 teams_delete_channel_message. The Chinese intents are essentially synonyms, not usage guidance. It does not mention exclusions or prerequisites beyond 'tenant policy' but that is not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_get_channelGet Teams ChannelB
Read details for one Microsoft Teams channel. Chinese intents / 中文意图: 查看Teams频道详情, 读取频道信息, 查看频道类型.
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | Yes | Teams team ID. | |
| channelId | Yes | Teams channel ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It states 'Read' which indicates a non-mutating operation, but it does not disclose additional behavioral traits such as required permissions, error behavior, or what is returned. Minimal disclosure beyond the verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with the English purpose front-loaded. The Chinese intent examples are supplementary and add value for multilingual support without being verbose. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with no output schema, the description is adequate but not fully complete. It does not clarify what 'details' includes or what the response structure looks like, leaving some 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?
Schema coverage is 100% with descriptions for both teamId and channelId, though minimal. The tool description adds no parameter-level semantics beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Read details for one Microsoft Teams channel' clearly specifies the verb (read), resource (Microsoft Teams channel), and scope (one specific channel). It effectively distinguishes from sibling tools like teams_list_channels (which lists channels) and teams_get_team (which gets a team).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need details for a specific channel, but it does not explicitly state when to use this tool versus alternatives or mention exclusions. No alternatives or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_get_teamGet Teams TeamA
Read settings and summary details for a Microsoft Teams team. Chinese intents / 中文意图: 查看Teams团队详情, 读取团队设置, 查看团队信息.
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | Yes | Teams team ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It states 'Read,' clearly indicating a read-only operation, and specifies that it returns settings and summary details, which sets expectations about scope. However, it does not disclose prerequisites (e.g., team membership), error behavior, or how to obtain the teamId. This is a minimal level of transparency for a simple get 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 concise: two sentences, with the main purpose front-loaded. The Chinese intents are somewhat redundant but not harmful, and they may aid multilingual usage. Overall, it is efficient and avoids 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 one-parameter get tool without an output schema, the description covers the essential purpose and return scope ('settings and summary details'). It does not explain the exact fields returned, but this is not expected given the lack of an output schema. It could arguably benefit from a pointer to teams_list_joined_teams for obtaining teamId, but the description is otherwise 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 covers 100% of the single parameter (teamId) with a clear description, so the parameter semantics baseline is 3. The description adds no additional meaning beyond the schema; it does not specify the format or any constraints on teamId beyond what the schema says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 'Read settings and summary details for a Microsoft Teams team,' using a specific verb and resource. It clearly distinguishes this from sibling tools like teams_list_joined_teams (list all teams) and teams_get_channel (get a channel). The Chinese intents further reinforce the 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 usage when you need a single team's settings and summary, but it does not explicitly state when to use this tool versus alternatives. No exclusions or alternative recommendations are provided. Sibling tools like teams_list_joined_teams could be mentioned for getting team IDs, but the description lacks such guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_list_channel_membersList Teams Channel MembersB
List direct members of a standard, private, or shared Teams channel. Chinese intents / 中文意图: 查看Teams频道成员, 列出私有频道用户, 谁在这个频道里.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of members to return. | |
| teamId | Yes | Teams team ID. | |
| channelId | Yes | Teams channel ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only clarifies that it lists direct members and channel types, but does not mention whether it is read-only, requires specific permissions, or how pagination works. This is insufficient for an agent to fully understand 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 concise sentence followed by a helpful Chinese intent phrase. It is front-loaded with the core purpose, and every element adds value without unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description should explain return values and behavioral details. It lacks any information about what the response contains, pagination, or error conditions, making it incomplete for an agent to fully understand the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters (top, teamId, channelId) are fully documented in the schema. The description adds no parameter-specific information beyond this, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists direct members of a Teams channel, specifying the channel types (standard, private, shared). This distinguishes it from sibling tools like teams_list_team_members and teams_list_chat_members, 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 does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions. However, the 'direct members' qualifier implies a distinction from team-level member listing, providing indirect context for when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_list_channel_message_repliesList Teams Channel Message RepliesA
List replies under a Teams channel message. Requires delegated ChannelMessage.Read.All and usually tenant admin consent. Chinese intents / 中文意图: 查看Teams频道消息回复, 查看线程回复, 读取频道消息评论.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of replies to return, from 1 to 50. | |
| teamId | Yes | Teams team ID. | |
| channelId | Yes | Teams channel ID. | |
| messageId | Yes | Channel message ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations provided, so the description carries the full burden for behavioral context. It discloses a key trait: requiring delegated ChannelMessage.Read.All and usually tenant admin consent. However, it does not describe anticipated output format, pagination behavior, or any side effects beyond being a read operation, leaving 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 description is concise, consisting of two sentences (plus Chinese intent translations) that directly state the tool's purpose and a permission caveat. It is front-loaded with the core action and contains no wasted words, earning a high 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?
This is a straightforward read-only list operation without an output schema. The description covers the essential action and permission requirements, and the schema fully documents the parameters. It could be slightly more complete by mentioning whether the result is a flat list or supports pagination via the 'top' parameter, but given the simplicity of the tool and the schema coverage, it is sufficiently 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 provides 100% description coverage for all four parameters, including semantics for teamId, channelId, messageId, and top. The description does not add additional meaning to these parameters beyond what the schema already states, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List replies under a Teams channel message' with a specific verb and resource. It distinguishes this tool from siblings like teams_list_channel_messages, which lists messages in a channel rather than replies to a specific message. The inclusion of Chinese intent phrases further clarifies the 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 gives a clear purpose but does not explicitly guide when to use this tool versus alternatives. It mentions permission requirements (delegated ChannelMessage.Read.All and tenant admin consent) which implies a prerequisite but does not contrast with other sibling tools such as teams_list_channel_messages or teams_send_channel_message. Use is implied by the resource type, but no direct alternatives 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.
teams_list_channel_messagesList Teams Channel MessagesA
List recent messages in a Teams channel. Requires delegated ChannelMessage.Read.All and usually tenant admin consent. Chinese intents / 中文意图: 查看Teams频道消息, 读取频道聊天记录, 查看团队频道最近消息.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of messages to return, from 1 to 50. | |
| teamId | Yes | Teams team ID. | |
| channelId | Yes | Teams channel ID, usually from teams_list_channels. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the transparency burden. It does disclose the need for delegated ChannelMessage.Read.All and tenant admin consent, which is useful. However, it does not describe return format, pagination behavior, or ordering beyond 'recent'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, and includes only essential permission information and Chinese intents. 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?
There is no output schema, so the description should explain return values. It does not, beyond implying recent messages. The tool is relatively simple with 3 documented params, but missing details on response fields or pagination leaves 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?
Schema description coverage is 100%, with descriptions for top, teamId, and channelId. The description adds no further parameter meaning, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List recent messages in a Teams channel', using a specific verb and resource. It distinguishes from sibling tools like teams_list_channel_message_replies and teams_send_channel_message. Chinese intents also clarify the 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 mentions required permissions but gives no guidance on when to use this tool versus alternatives. It does not reference sibling tools such as teams_list_channel_message_replies or teams_list_channel_members.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_list_channelsList Team ChannelsA
List channels in a Microsoft Teams team. Use teams_list_joined_teams first to obtain a teamId. Requires delegated Channel.ReadBasic.All. Chinese intents / 中文意图: 查看Teams频道, 列出团队频道, 查看团队有哪些频道.
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | Yes | Teams team ID, usually from teams_list_joined_teams. |
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 discloses the delegated permission requirement (Channel.ReadBasic.All) and the dependency on a teamId obtained from another tool, which implies a read-only operation. It does not mention pagination or edge cases, but for a basic 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 extremely concise: two sentences delivering purpose, prerequisite, and permission, followed by useful multilingual intent examples. There is no fluff or redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter list tool, the description covers purpose, prerequisite, and auth. It lacks an explicit statement of return format or pagination, but the absence of an output schema and the straightforward nature of the operation make this acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage, describing teamId as 'usually from teams_list_joined_teams.' The tool description repeats this same guidance without adding new detail, so no significant value is added 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 channels in a Microsoft Teams team, using a specific verb and resource. It distinguishes itself from sibling tools like teams_get_team and teams_list_joined_teams by explicitly targeting the channels collection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 prerequisite guidance ('Use teams_list_joined_teams first to obtain a teamId') and a required permission, which helps the agent sequence calls correctly. It does not explicitly discuss alternatives, but the context is sufficient for a simple list operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_list_chat_membersList Teams Chat MembersB
List all members of a Teams chat. Chinese intents / 中文意图: 查看Teams聊天成员, 列出群聊人员, 谁在这个聊天里.
| Name | Required | Description | Default |
|---|---|---|---|
| chatId | Yes | Teams chat ID. |
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 'List all members' without detailing output format, pagination, permissions, or whether bots/guests are included. The read-only nature is implied by 'list' but not explicitly disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence that front-loads the core action. The appended Chinese intents provide multilingual equivalency without redundancy, keeping the text 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?
For a simple one-parameter read-only tool, the description is minimally sufficient. However, it lacks a distinction from team/channel member tools and does not describe return values, which would be helpful given no annotations and 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?
Schema coverage is 100% with the single parameter chatId having a description ('Teams chat ID.'). The tool description adds no parameter information, but the high schema coverage justifies the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all members of a Teams chat' uses a specific verb and resource, clearly identifying the tool's function. The 'Teams chat' qualifier distinguishes it from sibling tools like teams_list_team_members and teams_list_channel_members.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 specify when to use this tool versus alternatives such as teams_list_team_members or teams_list_channel_members, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_list_chat_messagesList Teams Chat MessagesA
List recent messages in a Teams chat. Requires delegated Chat.Read. Chinese intents / 中文意图: 查看Teams聊天消息, 读取聊天记录, 查看群聊消息.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of messages to return, from 1 to 50. | |
| chatId | Yes | Chat ID from teams_list_chats. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the important auth requirement 'Requires delegated Chat.Read', which is beyond the schema. However, it does not disclose other behavioral traits such as default pagination, sorting order, or response structure (e.g., message fields). Since no annotations are provided, the description carries the full burden, but this simple read-only tool provides only 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?
The English portion is concise and front-loaded, stating the purpose and auth requirement in one clear sentence. The Chinese intent list adds redundancy but does not bloat the description. Overall, it is efficient and 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 tool's simplicity (2 params, no output schema, no annotations), the description covers purpose and auth but lacks details on return format or how the result relates to other chat tools. It also does not explicitly differentiate from teams_list_channel_messages, leaving some ambiguity for the agent. This is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (chatId and top) have descriptive text in the schema (100% coverage), so the tool description does not need to add parameter info. The description itself adds no param-specific guidance beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifically states 'List recent messages in a Teams chat', combining a clear verb ('list') with a specific resource ('recent messages in a Teams chat'). This clearly distinguishes it from sibling tools like teams_list_channel_messages, which focus on channel messages rather than chat messages. The additional Chinese intents reinforce the purpose without 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?
No explicit guidance is provided on when to use this tool versus alternatives such as teams_list_channel_messages or teams_list_chats. The usage is implied by the tool's name and description, but the description stops short of stating 'use this for Teams chats, not channel messages' or mentioning any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_list_chatsList My Teams ChatsA
List one-on-one and group Teams chats involving the signed-in user. Requires delegated Chat.Read. Chinese intents / 中文意图: 查看Teams聊天, 列出Teams会话, 查看群聊和私聊.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of chats to return, from 1 to 50. |
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 transparency burden. It discloses the auth requirement ('Requires delegated Chat.Read') and the user scope, which are useful. However, it omits details such as whether pagination defaults apply, the maximum number of chats returned if 'top' is omitted, and any explicit statement that this is a safe read-only 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 concise and front-loaded with the main action. The Chinese intent block is ancillary but not harmful, and the overall length is appropriate for a simple list operation. Every sentence except possibly the Chinese translation serves a clear 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 tool with one optional parameter and no output schema, the description sufficiently covers the core behavior, scope, and permission requirement. Minor omissions like the default value of 'top' are not critical given the low complexity and strong sibling differentiation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the single parameter 'top' with a clear description ('Number of chats to return, from 1 to 50'). The tool description itself adds no additional parameter information, so the baseline score of 3 is appropriate since no extra meaning beyond the schema 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 'List one-on-one and group Teams chats involving the signed-in user,' using a specific verb and resource. It distinguishes itself from sibling tools like teams_list_joined_teams, which list teams, not chats. The Chinese intents also reinforce the purpose for multilingual contexts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 by specifying that it lists chats for the signed-in user and requires delegated Chat.Read. It does not explicitly name alternative tools, but the scope ('one-on-one and group chats') inherently differentiates it from team-list or channel-message sibling tools, giving the agent enough signal to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_list_joined_teamsList My Joined TeamsA
List Microsoft Teams teams that the signed-in user has directly joined. Requires delegated Team.ReadBasic.All. Chinese intents / 中文意图: 查看我加入的Teams团队, 列出Teams团队, 查看团队列表.
| 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 behavior. It does so by stating the required permission (delegated Team.ReadBasic.All) and clarifying the 'directly joined' scope, which adds meaningful context. It does not mention response format or pagination, but that is not necessary for a zero-parameter 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 concise: two sentences, front-loaded with the purpose, and includes permission and multilingual intent hints without unnecessary 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 simple zero-parameter list operation, this description covers the essential elements: what it does, under what conditions (permission), and scope. It is complete enough for an agent to select and 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?
There are zero parameters, so the schema carries no burden. The baseline for 0 params is 4, and the description adds no parameter information, 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 identifies the action (List), the resource (Microsoft Teams teams), and the scope (signed-in user has directly joined). It distinguishes from sibling tools like teams_get_team and teams_list_team_members by specifying the user's joined teams.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 this tool (when needing to list the signed-in user's joined teams) but does not explicitly mention alternatives or when not to use it, so it lacks full exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_list_team_membersList Teams Team MembersA
List members and owners of a Microsoft Teams team. Chinese intents / 中文意图: 查看Teams团队成员, 列出团队所有者, 谁在这个团队里.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of members to return. | |
| teamId | Yes | Teams team ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states the core action ('List members and owners') and does not mention pagination behavior, required permissions, whether owners are also included as members, or any response format. This is insufficient for a tool with no 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, front-loaded sentence with the main purpose stated first. The Chinese intent phrases are supplementary but do not create bloat. Every part serves a purpose, making it very 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 list tool with two parameters and no output schema, the description is adequate in stating the core purpose. However, it does not elaborate on return structure, pagination, or potential access requirements, leaving some gaps for an agent needing full operational 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 already describes both parameters at 100% coverage ('Teams team ID', 'Number of members to return'). The description adds no additional semantic value for the parameters beyond reinforcing the team-level scope, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: 'List members and owners of a Microsoft Teams team.' This is a specific verb and resource, and it clearly distinguishes the tool from siblings like teams_list_channel_members and teams_list_chat_members by specifying 'of a Microsoft Teams team'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (to list team members/owners) but does not explicitly mention exclusions or alternatives. It is clear enough to infer usage, but lacks a direct 'when not to use' statement differentiating it from related membership tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_remove_channel_memberRemove Teams Channel MemberB
Remove a direct member from a private Teams channel. Chinese intents / 中文意图: 移除Teams频道成员, 把用户移出私有频道, 删除频道成员.
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | Yes | Teams team ID. | |
| channelId | Yes | Teams channel ID. | |
| membershipId | Yes | Opaque membership ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only adds scope constraints (direct, private) but does not mention side effects (permanent removal), required permissions, failure conditions, or any special member ownership considerations. This is insufficient for a mutating 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 English sentence is concise and front-loaded with the action. The Chinese intent examples add length but serve multilingual fallback; they are not essential but not overly verbose either. Overall, the description is efficiently written.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 (3 params, no output schema), the description covers the key scope (private channel, direct member) but misses behavioral context such as reversibility and permissions. It is adequate for basic invocation but not fully comprehensive for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all three parameters. The description adds no additional parameter-level semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove') and the specific resource ('direct member from a private Teams channel'), which distinguishes it from sibling tools like teams_remove_team_member or teams_add_channel_member. The scope is precise: direct membership and private channels only.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 context by specifying 'direct member' and 'private channel', but does not explicitly state when to use this tool versus alternatives (e.g., teams_remove_team_member for team-level membership). No exclusions or alternative references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_remove_chat_memberRemove Teams Chat MemberB
Remove a member from a Teams group chat. Chinese intents / 中文意图: 移除Teams群聊成员, 把用户移出聊天, 删除群聊成员.
| Name | Required | Description | Default |
|---|---|---|---|
| chatId | Yes | Teams chat ID. | |
| membershipId | Yes | Opaque membership ID from teams_list_chat_members. |
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 no behavioral traits such as irreversibility, permission requirements, or side effects. For a mutation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core action. The Chinese intents are somewhat redundant but not harmful, keeping it concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool, the description is minimally viable but lacks usage context, behavioral transparency, and alternative guidance. It is adequately clear for basic invocation 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 schema already provides 100% coverage with descriptions for both chatId and membershipId, so the description adds no additional parameter meaning. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Remove a member') and resource ('Teams group chat'), clearly distinguishing it from related tools like teams_remove_team_member or teams_remove_channel_member. The Chinese intent phrases reinforce the same meaning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for group chats, which differentiates it from sibling tools, but it does not provide explicit when-to-use guidance or mention exclusions. It also does not reference the prerequisite of first listing members via teams_list_chat_members.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_remove_team_memberRemove Teams Team MemberB
Remove a member from a Microsoft Teams team. Chinese intents / 中文意图: 移除Teams团队成员, 把用户移出团队, 删除团队成员.
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | Yes | Teams team ID. | |
| membershipId | Yes | Opaque membership ID from teams_list_team_members. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose that removal is irreversible, may require permissions, or what consequences occur for the removed member. This is a significant gap for a potentially destructive 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 English sentence plus concise Chinese intent phrases, all front-loaded and free of fluff. 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 removal action with two fully documented parameters and no output schema, the description is sufficient. Its only shortcoming is the lack of behavioral transparency, but the action itself is uncomplicated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters adequately described. The membershipId description even references its source (teams_list_team_members), so the tool description adds no additional 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?
States 'Remove a member from a Microsoft Teams team' — a specific verb and resource, clearly distinguishing it from sibling tools like teams_remove_channel_member and teams_remove_chat_member.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. The description only states the action without contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_reply_channel_messageReply To Teams Channel MessageA
Reply to a Teams channel message as the signed-in user. Requires delegated ChannelMessage.Send. Chinese intents / 中文意图: 回复Teams频道消息, 回复频道线程, 在频道消息下回复.
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | Yes | Teams team ID. | |
| content | Yes | Reply content. | |
| channelId | Yes | Teams channel ID. | |
| messageId | Yes | Channel message ID. | |
| contentIsHtml | No | Whether the content is HTML. Defaults to false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It adds the signed-in user context and required delegated permission, which is helpful. However, it does not explain side effects (e.g., creates a threaded reply), return values, or rate limits beyond the obvious mutation implied by 'Reply.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and front-loads the core purpose and permission. The Chinese intent line adds multilingual searchability without excessive bloat, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema or annotations exist, and the description covers the essential action and permission, but it omits return format, error conditions, and confirmation behavior. The tool is simple enough that this is acceptable, but there is room for a note about successful response or thread behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all 5 parameters, so the schema already documents each field. The tool description adds no extra parameter-level context beyond the schema, placing it at the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Reply to a Teams channel message as the signed-in user.' It specifies a precise verb (reply) and resource (channel message), distinguishing it from siblings like teams_send_channel_message (send new) and teams_list_channel_message_replies (list replies).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 word 'Reply' and the resource type, but the description does not explicitly contrast this with alternatives like teams_send_channel_message or provide when-not-to-use guidance. The permission requirement 'Requires delegated ChannelMessage.Send' adds context but no explicit win/loss criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_send_channel_messageSend Teams Channel MessageA
Send a message to a Teams channel as the signed-in user. Requires delegated ChannelMessage.Send. Chinese intents / 中文意图: 发送Teams频道消息, 在频道发消息, 给团队频道发通知.
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | Yes | Teams team ID. | |
| content | Yes | Message content. | |
| channelId | Yes | Teams channel ID. | |
| contentIsHtml | No | Whether the content is HTML. Defaults to false. |
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 adds two valuable traits beyond the schema: it sends 'as the signed-in user' (identity context) and it requires delegated permission. It does not disclose error behaviors or rate limits, but for a simple send operation this is sufficient; it avoids hiding any destructive or surprising 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 extremely concise: two sentences plus localized intent aliases. The main action is front-loaded in the first sentence, the permission requirement is in the second, and the Chinese phrases are a compact list. There is no redundant information 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?
The tool is relatively simple (4 parameters, no output schema, no nested objects). The description covers the essential context: what it does, who it acts as, and the required permission. It does not explain return values (not needed without output schema) and does not discuss failure conditions, but given the simplicity, the description is complete enough for an 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?
Schema description coverage is 100%, with all four parameters (teamId, channelId, content, contentIsHtml) already having clear descriptions in the schema. The tool description does not add any extra meaning to the parameters, so it meets the baseline of 3 without exceeding 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 action: 'Send a message to a Teams channel as the signed-in user.' The verb 'send' combined with the resource 'Teams channel' precisely matches the tool name and distinguishes it from sibling tools like teams_send_chat_message (for chats) and teams_reply_channel_message (for replies). The inclusion of Chinese intent aliases also reinforces the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context by noting it acts as the signed-in user and requires delegated ChannelMessage.Send permission, which informs when it can be used. However, it does not explicitly mention alternatives or exclusions (e.g., 'use teams_send_chat_message for direct chats' or 'use teams_reply_channel_message for replies'), so it stops short of full alternatives guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_send_chat_messageSend Teams Chat MessageA
Send a message to a Teams chat as the signed-in user. Requires delegated ChatMessage.Send. Chinese intents / 中文意图: 发送Teams聊天消息, 给Teams群聊发消息, 发送私聊消息.
| Name | Required | Description | Default |
|---|---|---|---|
| chatId | Yes | Chat ID. | |
| content | Yes | Message content. | |
| contentIsHtml | No | Whether the content is HTML. Defaults to false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavioral traits. It adds the authenticated actor and permission requirement, which is useful. However, it does not disclose potential side effects beyond sending, such as whether the message is deliverable, failure modes, or behavior with HTML content. The description meets a baseline but does not add rich 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 concise sentence followed by useful multilingual intent list. It is front-loaded with the core action, and every word contributes—no fluff or redundant restatement. The structure is easy to scan and 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?
For a simple send action with three well-documented parameters and no output schema, the description covers the essential context: purpose, actor, and permission. It lacks a hint about prerequisites, such as the chat needing to exist (teams_list_chats or teams_create_chat), but the sibling list and parameter name (chatId) imply this. Slight gap in not explaining that the chat must already be available.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all parameters with descriptions: chatId ('Chat ID'), content ('Message content'), contentIsHtml ('Whether the content is HTML. Defaults to false.'). The tool description adds no additional parameter semantics beyond these, so the schema carries the load. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a clear verb-action pair: 'Send a message to a Teams chat as the signed-in user.' This specifies the resource (Teams chat) and distinguishes it from channel messaging (e.g., teams_send_channel_message). Including the Chinese intent translations reinforces the core purpose without 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 clear context by stating the actor ('as the signed-in user') and the required permission ('Requires delegated ChatMessage.Send'). It does not explicitly mention when not to use this tool or point to alternatives like teams_send_channel_message, but the 'chat' vs 'channel' distinction in sibling names is implicit. Lacks an explicit exclusion or alternative recommendation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_update_channelUpdate Teams ChannelA
Update the name or description of a Microsoft Teams channel. Chinese intents / 中文意图: 修改Teams频道, 重命名频道, 更新频道描述.
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | Yes | Teams team ID. | |
| channelId | Yes | Teams channel ID. | |
| description | No | New description. | |
| displayName | No | New channel name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the burden of behavioral disclosure. It only states 'update' without mentioning permissions, whether the update is partial or replaces fields, or the expected outcome/response. This is 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 very concise and front-loaded with the primary English sentence. The Chinese intent translations are additional but serve a purpose for intent matching without adding unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple update tool with 100% schema coverage, the description is minimally adequate. However, it omits details like whether at least one of description/displayName must be provided, return behavior, and update semantics, which are not covered by annotations or an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with basic parameter descriptions ('New description', 'New channel name'), so the baseline is 3. The tool description does not add meaningful semantic detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update the name or description') on a specific resource ('a Microsoft Teams channel'), distinguishing it from sibling tools like create, delete, or get channels. The included Chinese intent examples further reinforce the 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 for modifying an existing channel's name or description, which provides clear context. It does not explicitly mention alternatives or exclusions, but the context is sufficient for an agent to know when to select this tool over sibling channel tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users_get_managerGet User ManagerA
Get the manager of the signed-in user or another organization user. Requires delegated User.Read.All. Chinese intents / 中文意图: 查看我的经理, 查看同事的主管, 谁是这个用户的上级.
| Name | Required | Description | Default |
|---|---|---|---|
| userIdOrPrincipalName | No | User ID or UPN. Omit to query the signed-in user. |
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 mentions the required delegated permission (User.Read.All), which is useful, but it does not disclose what is returned, error conditions, or behavior when the user has no manager. The description lacks sufficient behavioral detail beyond the permission statement, falling short of full 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 concise and front-loaded with the primary purpose, followed by a permission note and localized Chinese intents. The Chinese intents add value for multilingual support, though they slightly lengthen the text. Overall, it is appropriately sized and clear without unnecessary 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?
The tool is simple (one optional param, no output schema), and the description covers its core purpose and permission requirement. However, it does not explain what the returned manager data looks like (e.g., ID, displayName), which would be helpful since no output schema exists. This gap prevents it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single optional parameter with a complete description: 'User ID or UPN. Omit to query the signed-in user.' Schema description coverage is 100%, so the description does not need to add parameter details. The baseline of 3 is maintained since the schema handles the semantics and the description does not provide additional value beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 gets the manager of the signed-in user or another organization user. The verb 'Get' and resource 'manager' are specific, and it distinguishes itself from sibling tools like users_get_profile and users_list_direct_reports by targeting the manager relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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: it can be used for the signed-in user or another user, with the param 'Omit to query the signed-in user' in the schema. It also notes the required permission, but does not explicitly mention alternatives or when not to use it. This is a clear context without exclusions, so a 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users_get_profileGet Organization User ProfileA
Read a tenant user profile, including job title, department, and contact fields. Requires delegated User.Read.All. Chinese intents / 中文意图: 查看同事资料, 查看用户部门职位, 查看组织用户信息.
| Name | Required | Description | Default |
|---|---|---|---|
| userIdOrPrincipalName | Yes | User ID or userPrincipalName. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It explicitly says 'Read' indicating a read-only operation and includes an authorization requirement, which is useful. It does not cover edge cases like invalid IDs, but for a simple read operation this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and immediately followed by the permission requirement and helpful Chinese intents. Every sentence earns its place with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-user get operation with one parameter and no output schema, the description is fairly complete. It states the fields included in the profile, which gives an agent a good sense of the return value, and it notes the required permission. It could elaborate on error behavior, but this is not critical for a basic fetch 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 already fully describes the single parameter (userIdOrPrincipalName) with a clear description. The tool description adds no extra parameter-level details beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reads a tenant user profile and lists content fields (job title, department, contact fields). It is distinguishable from siblings like users_list or users_search by focusing on a single profile, but it does not explicitly contrast with these 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 mentions a required permission (delegated User.Read.All) and provides Chinese intent examples, which imply usage scenarios. However, it does not explicitly say when to use this tool over users_get_manager, users_list, or users_search, leaving the usage guidance somewhat implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users_listList Organization UsersA
List organization users with basic profile fields. Requires delegated User.ReadBasic.All. Chinese intents / 中文意图: 列出公司用户, 查看组织通讯录, 浏览同事列表.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of users to return, from 1 to 100. |
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 adds a key permission requirement (delegated User.ReadBasic.All) and implies read-only behavior, but it does not disclose return format, pagination details, or other behavioral traits like 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 appropriately concise: two English sentences plus a Chinese intents line. It is front-loaded with the core purpose and includes essential permission information without 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?
For a simple list tool with one optional parameter and no output schema, the description covers the core purpose, permission requirement, and language variants. It is reasonably complete, though it could mention that the result is a list or that 'top' controls page size, but these are minor 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 fully describes the only parameter 'top' with 100% coverage, giving the baseline of 3. The description adds no additional parameter semantics, such as default behavior or how to use top.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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), resource (organization users), and scope (basic profile fields), which distinguishes it from sibling tools like users_search and users_get_profile. However, it does not explicitly name alternatives, so it's not a full 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear purpose but no explicit guidance on when to use this tool vs alternatives. Usage is implied ('list organization users') and permission requirements are given, but no 'when not to use' or alternative recommendations are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users_list_direct_reportsList User Direct ReportsA
List direct reports for the signed-in user or another organization user. Requires delegated User.Read.All. Chinese intents / 中文意图: 查看我的下属, 列出直属团队成员, 查看某人的直接汇报人.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of direct reports to return. | |
| userIdOrPrincipalName | No | User ID or UPN. Omit to query the signed-in user. |
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 discloses the permission requirement ('delegated User.Read.All'), which is a key constraint. However, it does not describe the return format, error behavior, or pagination details beyond what the schema's 'top' parameter implies. For a simple list operation, this is moderate 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 extremely concise: two sentences plus a bilingual intent list. The core action is front-loaded, and the permission note and Chinese equivalents add value without unnecessary fluff. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two optional parameters and no output schema. The description covers the operation and permission, and the schema fully documents the inputs. It does not explicitly describe the return value structure, but for a list operation the intent is clear from the name and description. This is sufficient for an agent to use the tool correctly in most cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'top' and 'userIdOrPrincipalName' having clear descriptions in the input schema. The description text adds no additional parameter semantics beyond what the schema already provides, so it relies on the schema to explain the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'List direct reports for the signed-in user or another organization user.' It uses a specific verb ('List') and resource ('direct reports'), and it distinguishes itself from sibling tools like users_list, users_get_manager, and users_list_memberships by focusing specifically on direct reports. The inclusion of Chinese intents further clarifies the intended use cases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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: whenever direct reports of a user are needed. It also mentions a prerequisite ('Requires delegated User.Read.All'). However, it does not explicitly contrast with alternative tools for related queries (e.g., users_list for all users, users_get_manager for a manager), so the guidance is clear but lacks explicit exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users_list_membershipsList User MembershipsA
List groups and directory objects that a user directly belongs to. Omit the user to query the signed-in user. Chinese intents / 中文意图: 查看我加入的组, 查看用户所属组, 查询用户成员关系.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of memberships to return. | |
| userIdOrPrincipalName | No | User ID or UPN. Omit to query the signed-in user. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden of revealing behavior. It adds meaningful context: 'directly belongs to' scopes the query to immediate memberships, and 'Omit the user to query the signed-in user' clarifies the optional parameter behavior. However, it lacks details on return format, pagination behavior beyond the schema's 'top' parameter, and any permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus a localized hint. It is front-loaded and every sentence contributes: first states the core action, second gives usage guidance. The Chinese intent section is an efficient localization addition without 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 simple list tool with optional parameters and no output schema, the description is reasonably complete. It explains the primary function and the key parameter behavior, and the sibling tool context makes the niche clear. However, it could describe the expected return values or clarify what 'directory objects' encompasses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with descriptions. The description adds no new information beyond the schema, as 'Omit the user to query the signed-in user' simply repeats the parameter description. It meets the baseline but does not enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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: listing groups and directory objects a user directly belongs to. It uses a specific verb ('List') and resource, and the qualifier 'directly' distinguishes it from transitive or broader membership queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 clear context on when to use: to list memberships for a user, with the explicit note to omit the user for the signed-in user. It does not explicitly name alternative tools, but the context is clear enough to differentiate from sibling tools like users_get_profile or groups_check_my_memberships.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users_searchSearch Organization UsersA
Search tenant users by name, email, or UPN and return basic profile data. Requires delegated User.ReadBasic.All. Chinese intents / 中文意图: 搜索公司用户, 查找同事, 按姓名查人, 按邮箱查人.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of users to return, from 1 to 25. | |
| query | Yes | Search query, such as display name, email prefix, or UPN. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It adds a permission requirement and indicates that only basic profile data is returned. However, it does not detail behavior like pagination, result ordering, or wildcard handling, leaving some ambiguity for a search 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 two concise sentences, front-loading the core purpose. Including Chinese intent aliases adds practical value without significant 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?
Given the tool's simplicity, the description covers essential aspects: purpose, query fields, permission, and return type. It lacks an output schema, but 'basic profile data' is adequate for an initial understanding. No significant gaps remain for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 100%, the baseline is 3. The description reinforces the query semantics by restating the searchable fields, but adds no new information beyond the schema. The 'top' parameter is not elaborated beyond its schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Search tenant users by name, email, or UPN' which clearly identifies the action (search), resource (tenant users), and search criteria. It also mentions returning basic profile data, distinguishing it from sibling tools like users_list and users_get_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use: searching by name/email/UPN. It also notes the required permission (User.ReadBasic.All), which helps set expectations. However, it does not explicitly mention when not to use or name alternatives.
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.
153 tool updates
v0.1.0- First observed
auth_clear_local_cache - First observed
auth_complete_device_login - First observed
auth_start_device_login - First observed
auth_status - First observed
calendar_add_file_attachment - First observed
calendar_cancel_event - First observed
calendar_create_calendar - First observed
calendar_create_event - First observed
calendar_delete_attachment - First observed
calendar_delete_calendar - First observed
calendar_delete_event - First observed
calendar_get_event - First observed
calendar_get_schedule - First observed
calendar_list_attachments - First observed
calendar_list_calendars - First observed
calendar_list_event_instances - First observed
calendar_list_events - First observed
calendar_list_view - First observed
calendar_respond_to_event - First observed
calendar_update_calendar - First observed
calendar_update_event - First observed
confirm_execute - First observed
contacts_create - First observed
contacts_create_folder - First observed
contacts_delete - First observed
contacts_delete_folder - First observed
contacts_get - First observed
contacts_list - First observed
contacts_list_folder_contacts - First observed
contacts_list_folders - First observed
contacts_search - First observed
contacts_update - First observed
contacts_update_folder - First observed
drive_copy_item - First observed
drive_create_folder - First observed
drive_create_share_link - First observed
drive_delete_item - First observed
drive_download_file - First observed
drive_get_drive - First observed
drive_get_item - First observed
drive_invite_item - First observed
drive_list_children - First observed
drive_list_permissions - First observed
drive_list_recent - First observed
drive_list_root - First observed
drive_list_versions - First observed
drive_move_item - First observed
drive_rename_item - First observed
drive_restore_version - First observed
drive_search_items - First observed
drive_upload_small_file - First observed
graph_get_me - First observed
groups_check_my_memberships - First observed
groups_get - First observed
groups_list - First observed
groups_list_members - First observed
groups_list_owners - First observed
mail_add_file_attachment - First observed
mail_copy_message - First observed
mail_create_draft - First observed
mail_create_folder - First observed
mail_delete_attachment - First observed
mail_delete_folder - First observed
mail_delete_message - First observed
mail_forward - First observed
mail_get_attachment - First observed
mail_get_folder - First observed
mail_get_message - First observed
mail_list_attachments - First observed
mail_list_child_folders - First observed
mail_list_folder_messages - First observed
mail_list_folders - First observed
mail_list_messages - First observed
mail_move_message - First observed
mail_reply - First observed
mail_search_messages - First observed
mail_send - First observed
mail_send_draft - First observed
mail_set_read_state - First observed
mail_update_folder - First observed
search_calendar - First observed
search_files - First observed
search_mail - First observed
search_sharepoint - First observed
search_teams - First observed
sharepoint_copy_drive_item - First observed
sharepoint_create_column - First observed
sharepoint_create_drive_folder - First observed
sharepoint_create_list - First observed
sharepoint_create_list_item - First observed
sharepoint_create_share_link - First observed
sharepoint_delete_column - First observed
sharepoint_delete_drive_item - First observed
sharepoint_delete_list - First observed
sharepoint_delete_list_item - First observed
sharepoint_download_file - First observed
sharepoint_get_drive_item - First observed
sharepoint_get_list_item - First observed
sharepoint_get_site - First observed
sharepoint_get_site_by_path - First observed
sharepoint_invite_drive_item - First observed
sharepoint_list_columns - First observed
sharepoint_list_drive_items - First observed
sharepoint_list_drive_permissions - First observed
sharepoint_list_drive_versions - First observed
sharepoint_list_drives - First observed
sharepoint_list_item_delta - First observed
sharepoint_list_list_items - First observed
sharepoint_list_lists - First observed
sharepoint_move_drive_item - First observed
sharepoint_rename_drive_item - First observed
sharepoint_restore_drive_version - First observed
sharepoint_search_drive_items - First observed
sharepoint_search_sites - First observed
sharepoint_update_column - First observed
sharepoint_update_list - First observed
sharepoint_update_list_item - First observed
sharepoint_upload_small_file - First observed
smart_calendar_conflicts - First observed
smart_mail_digest - First observed
smart_teams_unread - First observed
teams_add_channel_member - First observed
teams_add_chat_member - First observed
teams_add_team_member - First observed
teams_create_channel - First observed
teams_create_chat - First observed
teams_delete_channel - First observed
teams_delete_channel_message - First observed
teams_delete_chat_message - First observed
teams_get_channel - First observed
teams_get_team - First observed
teams_list_channel_members - First observed
teams_list_channel_message_replies - First observed
teams_list_channel_messages - First observed
teams_list_channels - First observed
teams_list_chat_members - First observed
teams_list_chat_messages - First observed
teams_list_chats - First observed
teams_list_joined_teams - First observed
teams_list_team_members - First observed
teams_remove_channel_member - First observed
teams_remove_chat_member - First observed
teams_remove_team_member - First observed
teams_reply_channel_message - First observed
teams_send_channel_message - First observed
teams_send_chat_message - First observed
teams_update_channel - First observed
users_get_manager - First observed
users_get_profile - First observed
users_list - First observed
users_list_direct_reports - First observed
users_list_memberships - First observed
users_search
TDQS
Scored across 153 tools
The domain prefixes (mail_, calendar_, drive_, etc.) and resource-specific verbs make most tools clearly distinct. However, generic search_* tools overlap with domain-specific search tools (e.g., mail_search_messages vs search_mail), which could cause misselection if the agent isn't careful.
The majority of tools follow a consistent domain_verb_noun pattern (e.g., mail_list_messages, calendar_create_event, drive_delete_item). Deviations exist: auth_* tools use a different structure, smart_* tools lack a verb, and confirm_execute has no domain prefix, but these are exceptions among 153 tools.
153 tools is extremely excessive, far beyond the 25+ threshold for a 'too many' rating. A typical MCP server should have a focused set; this one attempts to cover an entire suite, making discovery and selection overwhelming for an agent.
The server covers CRUD for mail, calendar, contacts, drive, SharePoint, and Teams, and provides read operations for users and groups. However, notable gaps exist: there is no mail_update_draft or mail_update_message, no upload session tool for large files, and no user/group write operations, which would be expected given the broad scope.
Maintenance
Related MCP Connectors
Permissioned access to Outlook, OneDrive and Teams via the user's own Microsoft account
Official Microsoft MCP Server to query Microsoft Entra data using natural language
Give AI agents identity, permissions, and reusable proof through one MCP.
Manage Microsoft 365 email, calendar, contacts and inbox rules via the Graph API with OAuth 2.0.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceA production-ready MCP server that provides secure, delegated access to Microsoft 365 services including Email, SharePoint, OneDrive, and Calendar. It enables AI models to search messages, browse files, manage calendar events, and parse document contents using OAuth 2.1 authentication.MIT
- AlicenseCqualityNot gradedmaintenanceAn MCP server that enables interaction with Microsoft 365 services like Outlook, OneDrive, Teams, and SharePoint via the Microsoft Graph API. It supports comprehensive operations including email management, file access, and organizational collaboration for personal and work accounts.78-
- AlicenseAqualityAmaintenanceMCP server for Microsoft 365 via the Microsoft Graph API, providing read-only access to profile, calendar, email, Teams chats, OneDrive files, and meeting transcripts from any MCP client.16491 npm3MIT
- FlicenseBqualityBmaintenanceEnables MCP-compatible AI clients to securely read a user's Microsoft 365 data across Outlook, Calendar, Teams, meetings, OneNote, SharePoint, OneDrive, Loop, and Search, and to send Outlook email only after explicit user confirmation.103-