wxauto MCP Server
The wxauto MCP Server enables AI tools to automate WeChat operations through 27 tools across 7 categories.
System Management
Initialize/configure the WeChat connection, check running status and account info
Activate and verify wxautox4 license, list all available tools
Messaging
Send text messages (with optional @mentions), URL/link cards, and bulk messages to multiple recipients
Retrieve current chat messages, historical messages, and new unread messages from chat windows
Contacts & Chat Management
Retrieve friends list (optionally with avatars), switch between chat windows, get current chat details
Navigate to the Contacts page
Sessions
List all sessions, get recently active group chats, filter by unread/mute status, get all unread sessions
File & Media Sharing
Send files, images, or entire directories (with optional file pattern filtering)
Check file existence before sending
Friend Requests
View incoming friend requests, accept them (with optional remark/tags), and add new friends via search keyword with custom message and permissions
Provides comprehensive WeChat automation capabilities including sending messages (text, images, files), managing contacts and friend requests, and retrieving chat history or session lists.
Click on "Install 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., "@wxauto MCP Serversend a message to Mom saying I'll be home for dinner at 7 PM"
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.
wxauto MCP Server
微信自动化 MCP (Model Context Protocol) 服务器,为 AI 开发工具提供微信自动化能力。
系统要求
Windows 11/10
Python 3.9+
微信已登录
wxautox4 激活
Related MCP server: WeChat MCP Server
快速安装
pip install wxauto-mcp使用
一键自动安装(推荐)
wxauto-mcp --install这将自动配置 MCP Server 到 Claude Desktop 和 Claude Code,无需手动编辑配置文件。
生成配置文件(手动配置)
如果需要手动配置,运行:
# 生成配置文件到默认目录 (./mcp-configs)
wxauto-mcp --config
# 生成配置文件到指定目录
wxauto-mcp --config /path/to/configs
wxauto-mcp --config mcp-configs然后将生成的配置文件内容添加到 AI 应用中:
Claude Desktop 配置文件位置:
Windows:
%APPDATA%\Claude\claude_desktop_config.json
Claude Code 配置文件位置:
%USERPROFILE%\.claude.json
Cursor:在 Settings 的 MCP 配置中添加
可用工具(27个)
系统工具(6个)
wechat_initialize- 初始化微信连接wechat_status- 获取微信运行状态wechat_activate- 激活 wxautox4wechat_check_activation- 检查激活状态wechat_list_tools- 列出所有可用工具get_my_info- 获取我的微信账号信息
消息工具(6个)
send_message- 发送文本消息send_url_card- 发送链接卡片get_messages- 获取当前聊天消息get_history- 获取历史消息get_next_new_message- 获取下一个聊天窗口的新消息send_bulk_messages- 批量发送消息
联系人工具(3个)
get_friends- 获取好友列表get_chat_info- 获取当前聊天信息switch_chat- 切换聊天窗口
会话工具(4个)
get_sessions- 获取会话列表get_recent_groups- 获取最近群聊filter_sessions- 筛选会话列表get_unread_sessions- 获取有未读消息的会话
文件工具(4个)
send_files- 发送文件send_image- 发送图片send_directory_files- 发送整个目录的文件check_file_exists- 检查文件是否存在
好友请求工具(3个)
get_new_friends- 获取新的好友请求列表accept_new_friend- 接受新的好友请求add_friend- 添加新好友
界面工具(1个)
switch_to_contact- 切换到联系人页面
常见问题
1. 激活
wxautox4 需要激活使用。请访问 https://docs.wxauto.org 获取激活密钥,然后:
# 设置环境变量
set WECHAT_LICENSE_KEY=your-license-key
# 或调用激活工具
wxauto-mcp-http
# 然后调用 wechat_activate 工具2. 权限问题
确保 Python 有访问微信进程的权限,建议以管理员身份运行。
3. 微信窗口
某些操作需要微信窗口在前台可见,请确保微信窗口未被最小化。
4. 配置文件位置
不同 AI 工具的配置文件位置:
Claude Desktop:
Windows:
%APPDATA%\Claude\claude_desktop_config.json
Claude Code:
Windows:
%USERPROFILE%\.claude.json
Cursor:
在 Settings → MCP 中添加配置
联系方式
GitHub Issues: louxinghao@gmail.com
Available Tools
27 toolsaccept_new_friendC
接受新的好友请求。参数: content (好友请求内容,必填), exact (是否精确匹配,默认false), remark (备注名,可选), tags (标签列表,可选)
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | ||
| exact | No | ||
| remark | No | ||
| tags | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('accept new friend requests') which implies a write/mutation operation, but doesn't disclose permissions needed, side effects (e.g., notification to sender), error conditions, or response format. For a mutation tool with zero annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the purpose followed by a parameter list. Every element earns its place: the action, parameters, and their roles. It could be slightly more structured but 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?
Given the tool's complexity (mutation with 4 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what happens after acceptance, error cases, or return values. For a friend-request acceptance tool in a chat system, more context about behavior and outcomes is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema provides no parameter documentation. The description compensates by listing all 4 parameters with brief Chinese explanations: content (required, friend request content), exact (default false, whether to match exactly), remark (optional, nickname), and tags (optional, tag list). This adds meaningful semantics beyond the bare schema, though details like format constraints are missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as '接受新的好友请求' (accept new friend requests), which is a specific verb+resource combination. It distinguishes from siblings like 'add_friend' (which likely initiates requests) and 'get_new_friends' (which likely retrieves pending requests). However, it doesn't explicitly differentiate from all siblings, keeping it at a 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'add_friend' or 'get_new_friends'. It doesn't mention prerequisites (e.g., pending friend requests must exist), exclusions, or contextual triggers. The parameter list implies usage but offers no strategic guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_friendB
添加新好友。参数: keywords (搜索关键词,必填), addmsg (验证消息,可选), remark (备注名,可选), tags (标签列表,可选), permission (权限,可选:朋友圈/仅聊天,默认朋友圈), timeout (超时时间,默认5秒)
| Name | Required | Description | Default |
|---|---|---|---|
| keywords | Yes | ||
| addmsg | No | ||
| remark | No | ||
| tags | No | ||
| permission | No | 朋友圈 | |
| timeout | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions a timeout parameter with default 5 seconds, which hints at potential delays or failures, but doesn't describe what happens on success/failure, whether the operation is reversible, what permissions are needed, or how it interacts with the friend request workflow. The description is minimal and leaves critical behavioral 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 appropriately concise and front-loaded with the core purpose. The parameter explanations are efficiently listed in a single sentence with clear labels. No wasted words, though the structure could be slightly improved with bullet points or separation of purpose from parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool (adding friends) with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns on success/failure, error conditions, side effects, or how it fits into the broader friend management workflow. The parameter semantics are helpful, but critical behavioral context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides meaningful semantics for all 6 parameters: 'keywords' as search terms (required), 'addmsg' as verification message, 'remark' as nickname, 'tags' as tag list, 'permission' with enum values (朋友圈/仅聊天), and 'timeout' with default. This adds substantial value beyond the bare schema, though it doesn't explain parameter interactions or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as '添加新好友' (add new friend), which is a specific verb+resource combination. It distinguishes from siblings like 'accept_new_friend' (which accepts pending requests) and 'get_friends' (which retrieves existing friends). However, it doesn't explicitly mention how it differs from these siblings beyond the basic 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 no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether the friend must be found via search first), when not to use it (e.g., for existing friends), or clarify the relationship with 'accept_new_friend' for handling incoming friend requests.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_file_existsC
检查文件是否存在。参数: filepath (文件路径)
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes |
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 basic action ('检查文件是否存在') without detailing what 'exists' means (e.g., file permissions, symbolic links), error handling, or any side effects. This is a significant gap for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded: it states the purpose in the first phrase and includes parameter info in a compact format. Every sentence (or phrase) earns its place with no wasted words, making it efficient for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, no output schema, no annotations), the description is incomplete. It doesn't explain the return value (e.g., boolean, error messages) or behavioral aspects like what constitutes 'existence'. For a basic check tool, more context on output and edge cases would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal semantics: it names the parameter ('filepath') and provides a brief explanation ('文件路径' - file path). With 0% schema description coverage and 1 parameter, this compensates slightly but doesn't elaborate on format, constraints, or examples. Baseline is 3 due to the single parameter, but the added value is limited.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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: '检查文件是否存在' (check if a file exists). It specifies the verb ('检查' - check) and resource ('文件' - file), making the function unambiguous. However, it doesn't distinguish from siblings, as no other file-related tools are listed among the sibling tools, so differentiation isn't needed but also not addressed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 lacks context about prerequisites, such as file system access or permissions, and doesn't mention any related tools or scenarios where this check is necessary, leaving usage entirely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
filter_sessionsC
筛选会话列表。参数: has_unread (是否有未读), ismute (是否免打扰)
| Name | Required | Description | Default |
|---|---|---|---|
| has_unread | No | ||
| ismute | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. While '筛选' (filter) implies a read operation, the description doesn't specify whether this is a read-only tool, what permissions are required, how results are returned, or any rate limits. It provides minimal behavioral context beyond the basic 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 with just two sentences that directly state the purpose and parameters. There's no wasted text, though some might argue it's too brief given the lack of annotations and output schema. The structure is front-loaded with the core purpose first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't explain what the tool returns (filtered session objects? just counts?), how results are structured, error conditions, or authentication requirements. For a filtering tool with two parameters, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly lists both parameters with Chinese explanations ('是否有未读' for has_unread meaning 'whether has unread', '是否免打扰' for ismute meaning 'whether muted'). With 0% schema description coverage, this adds meaningful semantic context that the schema lacks. However, it doesn't explain parameter formats, valid values, or how they interact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 ('筛选' meaning filter) and resource ('会话列表' meaning session list), providing a specific verb+resource combination. However, it doesn't distinguish this tool from sibling tools like 'get_sessions' or 'get_unread_sessions', which appear to be related session retrieval 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 provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_sessions' and 'get_unread_sessions' available, there's no indication of when filtering is preferred over direct retrieval or how this tool complements other session-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chat_infoB
获取当前聊天窗口信息
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the action ('get') but doesn't disclose behavioral traits such as whether this is a read-only operation, what specific information is returned (e.g., chat title, participants, status), or any limitations (e.g., requires an active chat window). For a tool with zero annotation coverage, this is a significant gap 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 description is a single, efficient sentence in Chinese that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'chat window information' includes (e.g., metadata, participants, status) or the return format, leaving the agent with insufficient context to understand the tool's full behavior and 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 tool has 0 parameters, and schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics, and a baseline score of 4 is appropriate as it avoids redundancy while being complete for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '获取当前聊天窗口信息' (Get current chat window information) clearly states the verb 'get' and the resource 'current chat window information', making the purpose understandable. It doesn't explicitly differentiate from siblings like 'get_sessions' or 'get_messages', but the focus on 'current chat window' provides some distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_sessions' (which might list all sessions) or 'get_messages' (which retrieves message content). It lacks explicit when-to-use or when-not-to-use instructions, leaving usage context implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_friendsB
获取好友列表。参数: n (获取数量,默认10), save_avatar (是否获取头像,默认false)
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | ||
| save_avatar | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While '获取好友列表' implies a read operation, it doesn't specify whether this requires authentication, has rate limits, returns paginated results, or what format the output takes. The description mentions two parameters but doesn't explain broader behavioral aspects.
Agents need to know what a tool does to the world before calling 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 with two sentences: one stating the purpose and another explaining parameters. It's front-loaded with the core functionality. While efficient, it could potentially benefit from slightly more context about the tool's behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and 0% schema description coverage, the description is incomplete. While it covers parameter basics, it doesn't address authentication requirements, rate limits, error conditions, or output format. Given the complexity of social data retrieval and the lack of structured documentation, more comprehensive description would be needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description provides essential parameter information that compensates for the schema gap. It explains that 'n' controls the number of friends to retrieve with a default of 10, and 'save_avatar' determines whether to fetch avatars with a default of false. This adds meaningful semantics beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as '获取好友列表' (get friends list), which is a specific verb+resource combination. However, it doesn't explicitly differentiate this tool from sibling tools like 'get_new_friends' or 'get_sessions', which might also retrieve friend-related information in different 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 no guidance on when to use this tool versus alternatives. With sibling tools like 'get_new_friends' and 'get_sessions' that might retrieve similar or overlapping data, there's no indication of when this specific friends list retrieval is appropriate versus those other options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_historyC
获取历史消息。参数: n (获取数量,默认50)
| Name | Required | Description | Default |
|---|---|---|---|
| n | No |
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 what the tool does ('获取历史消息') and mentions a parameter, but doesn't describe any behavioral traits such as permissions needed, rate limits, whether it's read-only or destructive, or what the output looks like. This is inadequate for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of a single sentence that states the purpose and parameter. It's front-loaded with the main function, and there's no wasted text, making it efficient. However, it could be slightly improved with more structure or clarity, but it's well within acceptable bounds.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, no output schema, and low schema description coverage (0%), the description is incomplete. It doesn't provide enough context for the agent to understand the tool's behavior, output, or how it fits among siblings, making it insufficient for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds some meaning by explaining the parameter 'n' as '获取数量,默认50' (meaning 'number to retrieve, default 50'), which clarifies its purpose beyond the schema's type and default. However, with 0% schema description coverage and only one parameter, this provides basic but incomplete compensation, aligning with the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 ('获取' meaning 'get') and resource ('历史消息' meaning 'historical messages'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_messages' or 'get_next_new_message', which appear to handle similar message-related functions, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_messages' and 'get_next_new_message' present, there's no indication of how this tool differs in context or when it should be preferred, leaving the agent with insufficient usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_messagesB
获取当前聊天窗口的所有消息
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves messages but doesn't specify whether this is a read-only operation, if it requires specific permissions, what the return format looks like (e.g., list structure, pagination), or any rate limits. For a tool with zero annotation coverage, this leaves significant gaps in understanding its 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, efficient sentence in Chinese that directly states the tool's purpose without any wasted words. It is front-loaded and appropriately sized for a simple tool with no parameters, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is adequate but has clear gaps. It explains what the tool does but lacks details on behavioral aspects like return format or usage context. Without annotations or output schema, the description should ideally provide more context, but it minimally covers the basic purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, and since there are none, it meets the baseline of 4 for tools with zero parameters, as it doesn't need to compensate for any schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('获取' meaning 'get') and resource ('当前聊天窗口的所有消息' meaning 'all messages in the current chat window'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get_history' or 'get_next_new_message', which likely retrieve different message sets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an active chat window), exclusions, or comparisons to siblings such as 'get_history' (which might retrieve historical messages) or 'get_next_new_message' (which might fetch incremental updates).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_my_infoB
获取我的微信账号信息
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('get') but doesn't describe what information is returned (e.g., profile details, settings), whether it requires authentication, or any rate limits. For a tool with zero annotation coverage, this is a significant gap 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 description is a single, clear sentence in Chinese that directly states the tool's purpose without any fluff or unnecessary details. It's appropriately sized and front-loaded, making it highly efficient and easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 0 parameters, no annotations, and no output schema, the description is minimal but adequate for a simple read operation. However, it lacks details on what specific account information is retrieved (e.g., username, avatar, settings), which could be helpful for an agent to understand the output. It meets the minimum viable threshold but has clear gaps in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and the schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics, and it doesn't introduce any confusion about inputs. A baseline of 4 is appropriate as it avoids misleading or redundant 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 '获取我的微信账号信息' (Get my WeChat account information) clearly states the verb ('get') and resource ('my WeChat account information'), making the purpose specific and understandable. However, it doesn't explicitly distinguish this tool from potential sibling tools like 'get_friends' or 'get_chat_info', which might also retrieve user-related data, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing WeChat activated), exclusions, or comparisons to sibling tools like 'wechat_status' that might provide related status information, leaving usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_new_friendsB
获取新的好友请求列表。参数: acceptable (是否过滤掉已接受的好友申请,默认true)
| Name | Required | Description | Default |
|---|---|---|---|
| acceptable | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only states what the tool does (get new friend request list) and mentions one parameter behavior. It doesn't describe what 'new' means (timeframe criteria), whether this requires authentication, rate limits, error conditions, or what the return format looks like. For a tool with no annotation coverage, this is insufficient 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 appropriately concise with two sentences that both add value. The first states the tool's purpose, the second explains the parameter. There's no wasted text, though it could be slightly more structured with clearer separation between purpose and parameter explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and multiple sibling tools in the same domain, the description is incomplete. It doesn't explain what constitutes 'new' friend requests, how results are returned, error handling, or how this differs from 'get_friends' and 'accept_new_friend'. For a tool in a rich context with many related tools, more completeness is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful parameter semantics beyond the schema. The schema only shows 'acceptable' is a boolean with default true, but the description explains it means '是否过滤掉已接受的好友申请' (whether to filter out already accepted friend applications). This clarifies the parameter's purpose and effect, which isn't evident from the schema alone. With 0% schema description coverage, the description effectively compensates for the single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '获取新的好友请求列表' (get new friend request list). It specifies the verb ('获取' - get) and resource ('新的好友请求列表' - new friend request list). However, it doesn't explicitly differentiate from sibling tools like 'get_friends' or 'accept_new_friend', which would be needed for a score of 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 no guidance on when to use this tool versus alternatives. There are multiple sibling tools related to friends and messaging (get_friends, accept_new_friend, get_messages, etc.), but the description offers no context about when this specific tool is appropriate versus those other options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_next_new_messageB
获取下一个聊天窗口的新消息。参数: filter_mute (是否过滤消息免打扰,默认false)
| Name | Required | Description | Default |
|---|---|---|---|
| filter_mute | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the tool retrieves '下一个' (next) new message, implying sequential or priority-based retrieval, but doesn't clarify what 'next' means (chronological, unread priority, etc.), whether it marks messages as read, or what happens when no new messages exist. For a message retrieval tool with zero annotation coverage, this leaves significant behavioral questions unanswered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured in two parts: the core purpose statement followed by parameter documentation. Both sentences earn their place by providing essential information without redundancy. It could be slightly improved with clearer separation between purpose and parameters, but it's appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a single parameter with 0% schema coverage, the description is incomplete. While it covers the parameter well, it doesn't explain what 'next' means operationally, what format the returned message takes, or how this differs from sibling tools. For a message retrieval tool in a chat context, this leaves too many 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 description explicitly documents the single parameter 'filter_mute' with its purpose ('是否过滤消息免打扰' - whether to filter muted messages) and default value ('默认false' - default false). With 0% schema description coverage and only 1 parameter, this provides complete parameter semantics beyond the bare schema, earning a high score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb '获取' (get/retrieve) and the resource '下一个聊天窗口的新消息' (next new message in chat window), making the purpose understandable. However, it doesn't explicitly distinguish this tool from sibling tools like 'get_messages' or 'get_unread_sessions', which appear to have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_messages', 'get_unread_sessions', and 'filter_sessions' available, there's no indication of when this specific 'next new message' retrieval is appropriate versus other message-fetching tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recent_groupsC
获取最近群聊列表
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states what the tool does ('get recent group chat list') without revealing any behavioral traits, such as whether it's read-only, requires authentication, has rate limits, or what the output format might be. For a tool with zero annotation coverage, this is a significant gap 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 description is a single, efficient sentence ('获取最近群聊列表') that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'recent' means, the structure of the returned list, or any error conditions. For a tool that likely returns data, more context is needed to help the agent understand how to interpret and use the results effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, meaning no parameters are documented in the schema. The description doesn't add any parameter information, but since there are no parameters, this is acceptable. The baseline for 0 parameters is 4, as the description doesn't need to compensate for missing schema details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '获取最近群聊列表' translates to 'Get recent group chat list', which clearly states the verb ('get') and resource ('recent group chat list'). However, it doesn't distinguish this tool from sibling tools like 'get_sessions' or 'get_chat_info', which also appear to retrieve chat-related data. The purpose is understandable but lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any context, prerequisites, or exclusions, such as how 'recent' is defined or if this should be used instead of 'get_sessions' for group-specific data. Without such information, the agent has little basis for choosing this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sessionsB
获取微信会话列表(聊天窗口列表)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states what the tool does ('get WeChat session list') without mentioning any behavioral traits such as whether it requires authentication, has rate limits, returns paginated results, or what format the output takes. This is inadequate for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese that directly states the tool's purpose without any fluff or redundancy. It is appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It fails to provide necessary context such as what the session list includes (e.g., chat windows, groups), how results are structured, or any behavioral constraints. For a tool in this environment, more detail is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here, but it also doesn't compensate for any gaps since there are none. A baseline of 4 is applied as it meets the requirement for zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('获取' meaning 'get') and resource ('微信会话列表' meaning 'WeChat session list'), making the purpose specific and understandable. However, it doesn't distinguish this tool from sibling tools like 'get_unread_sessions' or 'filter_sessions', which limits differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'get_unread_sessions' or 'filter_sessions'. It lacks any context about prerequisites, timing, or exclusions, leaving the agent to infer usage based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_unread_sessionsB
获取所有有未读消息的会话
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but lacks details on permissions, rate limits, pagination, or response format. This is a significant gap for a tool that likely interacts with messaging data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the return value includes (e.g., session IDs, unread counts) or behavioral aspects like error handling, which are crucial for an AI agent to use this tool effectively in a messaging context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add parameter details, but this is acceptable given the lack of parameters, warranting a baseline score above minimum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb '获取' (get/retrieve) and the resource '有未读消息的会话' (sessions with unread messages), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_sessions' or 'filter_sessions', which likely return broader session lists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. The description doesn't mention prerequisites, exclusions, or comparisons to similar tools like 'get_sessions' or 'filter_sessions', leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_bulk_messagesC
批量发送消息。参数: messages (JSON数组,每项包含msg和who)
| Name | Required | Description | Default |
|---|---|---|---|
| messages | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the action '发送' (send) but doesn't disclose behavioral traits such as rate limits, authentication needs, whether it's synchronous/asynchronous, error handling, or what happens on failure (e.g., partial sends). For a mutation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the purpose, followed by parameter details. It uses minimal sentences without redundancy, though it could be slightly more structured (e.g., separating purpose and parameters clearly).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, 0% schema coverage, no output schema, and a mutation tool with 1 parameter, the description is incomplete. It lacks details on return values, error conditions, side effects, and operational constraints, making it inadequate for safe and effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning by specifying that 'messages' is a JSON array with items containing 'msg' and 'who', which clarifies the structure beyond the schema's 'string' type. However, it doesn't explain the semantics of 'msg' (message content) and 'who' (recipient identifier), leaving ambiguity in usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 '发送' (send) and the resource '消息' (messages), with the qualifier '批量' (bulk) indicating it handles multiple messages at once. It distinguishes from sibling tools like 'send_message' (singular) and 'send_files' (different resource type). However, it doesn't specify the target platform or context beyond the sibling tool names suggesting WeChat.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'send_message' (for single messages) or 'send_files' (for files). The description implies bulk messaging but doesn't state prerequisites, limitations, or comparative scenarios with other sending tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_directory_filesC
发送目录下的所有文件。参数: directory (目录路径), who (接收人,可选), pattern (文件匹配模式,默认*)
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | ||
| who | No | ||
| pattern | No | * |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions sending files but doesn't disclose behavioral traits like whether this requires authentication, what happens if files are large, if there are rate limits, or what the expected output is. The description is minimal and lacks critical operational context for a tool that performs file operations.
Agents need to know what a tool does to the world before calling 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 parameter explanations. It uses minimal sentences without waste, though it could be slightly more structured (e.g., separating purpose from parameters more clearly). Overall, it's efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (file operations with 3 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what 'sending' entails (e.g., via chat, email), potential errors, or return values. For a tool that interacts with files and recipients, more context is needed to ensure safe and correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful parameter semantics beyond the schema, which has 0% coverage. It explains that 'directory' is a path, 'who' is an optional recipient, and 'pattern' is a file matching pattern with default '*'. This compensates well for the lack of schema descriptions, though it doesn't provide format details or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 purpose ('发送目录下的所有文件' - send all files in a directory) which is clear but vague. It specifies the action and resource but doesn't differentiate from sibling tools like 'send_files' or 'send_image' that might handle similar file-sending operations. The purpose is understandable but lacks specificity about what makes this tool unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. The description lists parameters but doesn't mention context, prerequisites, or exclusions. With sibling tools like 'send_files' and 'send_image' available, there's no indication of when this directory-based sending is preferred over other file-sending methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_filesC
发送文件。参数: filepath (文件路径,支持逗号分隔的多个文件), who (接收人,可选), exact (精确匹配,默认false)
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes | ||
| who | No | ||
| exact | No |
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 action of sending files but reveals nothing about permissions required, rate limits, file size restrictions, supported file types, whether the operation is synchronous/asynchronous, or what happens on success/failure. For a mutation tool with zero annotation coverage, this leaves critical behavioral aspects undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately brief at two sentences. The first sentence states the purpose, and the second explains parameters efficiently. There's no wasted text, though the structure could be slightly improved by separating purpose from parameter explanations more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a file-sending mutation tool with no annotations and no output schema, the description is insufficient. It covers basic parameters but misses critical context: what the tool returns, error conditions, file constraints, authentication requirements, and how it differs from similar tools like send_directory_files. The agent would struggle to use this tool correctly without additional information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the schema provides no parameter documentation. The description adds basic semantics for all three parameters: filepath (supports comma-separated multiple files), who (optional recipient), and exact (default false, exact matching). This compensates somewhat but lacks details like filepath format, who identifier format, or what 'exact matching' means in practice. The baseline would be 1 without this information, so the added value raises it to 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb '发送' (send) and resource '文件' (files), making the purpose immediately understandable. It distinguishes from siblings like send_message, send_image, and send_url_card by specifying files rather than other content types. However, it doesn't explicitly differentiate from send_directory_files, which could be confusing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose send_files over send_directory_files or send_image, nor does it specify prerequisites or appropriate contexts for file sending. The only contextual hint is the optional 'who' parameter, but this isn't framed as usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_imageC
发送图片。参数: filepath (图片路径), who (接收人,可选)
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes | ||
| who | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool sends an image but doesn't describe what 'send' entails (e.g., via chat, email, or other means), whether it requires authentication, potential rate limits, error conditions, or what happens on success/failure. This leaves significant gaps for an agent to 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 very concise—just two sentences that directly state the purpose and parameters. It's front-loaded with the core function and wastes no words, though it could benefit from slightly more structure (e.g., separating purpose from parameter details).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a 'send' operation with no annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't cover behavioral aspects like delivery method, success criteria, error handling, or integration context (e.g., which messaging platform), leaving the agent with insufficient information to use the tool reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly lists both parameters ('filepath' and 'who') and provides brief semantic context ('图片路径' meaning 'image path' and '接收人,可选' meaning 'recipient, optional'). However, with 0% schema description coverage, it doesn't fully compensate by explaining format expectations (e.g., filepath syntax, who identifier format) or default behaviors beyond optionality.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 ('发送图片' meaning 'send image') and identifies the resource (image), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'send_files' or 'send_message', which might have overlapping functionality in a messaging context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'send_files' or 'send_message'. It doesn't mention prerequisites, context requirements, or any exclusions that would help an agent choose between similar messaging tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_messageB
发送文本消息。参数: msg (消息内容), who (接收人,可选), at (@对象,可选), exact (精确匹配,默认false)
| Name | Required | Description | Default |
|---|---|---|---|
| msg | Yes | ||
| who | No | ||
| at | No | ||
| exact | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool sends messages but provides no information about permissions needed, rate limits, whether messages are saved to history, or what happens on failure. '发送文本消息' implies a write operation, but no safety or behavioral context is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single sentence stating the purpose followed by a clean parameter list. Every element serves a clear purpose with zero wasted words, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 message-sending tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after sending (success/failure indicators, message IDs), doesn't mention any limitations or requirements, and provides no context about the messaging platform or integration specifics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description provides essential parameter information: msg (message content), who (recipient, optional), at (@ target, optional), and exact (exact match, default false). This covers all 4 parameters and adds meaningful context about optionality and defaults that the schema alone doesn't provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 text message) and resource (text message), making the purpose immediately understandable. It doesn't specifically differentiate from sibling tools like send_bulk_messages or send_image, but the core function is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like send_bulk_messages, send_image, or send_files. It simply lists parameters without context about appropriate use cases or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_url_cardB
发送链接卡片。参数: url (链接地址,必填), friends (发送对象,单个名称或列表,可选), message (附加消息,可选), timeout (等待时间,默认10秒)
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| friends | No | ||
| message | No | ||
| timeout | No |
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 mentions a timeout parameter with a default of 10 seconds, which hints at a waiting behavior, but doesn't explain what happens during that wait (e.g., for delivery confirmation). It doesn't cover permissions, rate limits, or what a 'link card' entails (e.g., preview generation). The description is minimal and lacks critical behavioral 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 description is extremely concise and front-loaded: it starts with the purpose ('发送链接卡片'), then lists all parameters with brief explanations. Every sentence earns its place by providing essential information without waste. The structure is clear 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?
Given the complexity (a sending tool with 4 parameters), no annotations, and no output schema, the description is minimally complete. It covers the basic purpose and parameters but lacks details on behavior, output, or integration with sibling tools. It's adequate for a simple tool but has clear gaps in usage context and behavioral transparency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the input schema, which has 0% coverage. It explains each parameter in Chinese: url (required link address), friends (optional recipient(s) as single name or list), message (optional additional text), and timeout (optional wait time, default 10 seconds). This compensates well for the schema's lack of descriptions, though it doesn't specify formats (e.g., what constitutes a valid friend name).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '发送链接卡片' (send link card). It specifies the action (send) and resource (link card), which is specific enough to understand what it does. However, it doesn't explicitly differentiate from sibling tools like send_message or send_image, which would require a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It lists parameters but doesn't mention when this tool is appropriate compared to other sending tools (e.g., send_message for text, send_image for images). There's no context about use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
switch_chatB
切换到指定聊天窗口。参数: who (联系人名称), exact (精确匹配,默认false)
| Name | Required | Description | Default |
|---|---|---|---|
| who | Yes | ||
| exact | No |
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 action ('切换到指定聊天窗口') but doesn't explain what 'switching' entails operationally—whether it changes UI state, loads messages, or requires specific conditions. No information is given about side effects, permissions, or error handling, leaving significant gaps for a tool that likely interacts with a chat interface.
Agents need to know what a tool does to the world before calling 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 part states the tool's purpose, followed directly by parameter explanations. Every sentence earns its place with no wasted words, making it efficient for an AI agent 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 complexity of a tool that likely changes chat state, with no annotations and no output schema, the description is incomplete. It doesn't explain what happens after switching (e.g., success indicators, error conditions, or what 'chat window' means in context). For a tool with behavioral implications, more detail is needed to guide proper 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 description adds meaningful semantics beyond the input schema, which has 0% description coverage. It explains that 'who' is a contact name and 'exact' controls exact matching with a default of false. This clarifies the purpose and usage of both parameters, compensating well for the schema's lack of descriptions. However, it doesn't detail format constraints (e.g., for 'who'), preventing a perfect score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '切换到指定聊天窗口' (switch to a specified chat window). It uses a specific verb ('切换' - switch) and resource ('聊天窗口' - chat window), making the action clear. However, it doesn't explicitly distinguish this from the sibling tool 'switch_to_contact', which appears to serve a similar function, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tool 'switch_to_contact' or explain any differences in context, prerequisites, or exclusions. The only usage hint is the parameter explanation, which doesn't address tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
switch_to_contactB
切换微信到联系人页面
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action but doesn't reveal any behavioral traits such as whether this requires specific permissions, if it's idempotent, what happens on failure, or if it triggers side effects. For a tool with zero annotation coverage, this is a significant gap 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 description is a single, efficient sentence in Chinese that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema), the description is minimal but adequate for basic understanding. However, it lacks context about when to use it, behavioral details, or integration with sibling tools, making it incomplete for effective agent use in a complex environment with many alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. A baseline of 4 is applied since the schema fully handles parameters, and the description doesn't need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('切换' meaning 'switch to') and the target resource ('微信到联系人页面' meaning 'WeChat to contact page'), providing a specific verb+resource combination. However, it doesn't explicitly distinguish this tool from sibling tools like 'switch_chat' or other navigation-related tools, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., WeChat must be active), exclusions, or compare it to similar tools like 'switch_chat' or other navigation functions in the sibling list, leaving the agent with no contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_activateB
激活 wxautox4。参数: license_key (激活密钥,留空则使用环境变量 WECHAT_LICENSE_KEY)
| Name | Required | Description | Default |
|---|---|---|---|
| license_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool activates something, implying a write/mutation operation, but doesn't describe what activation entails (e.g., whether it's reversible, if it requires specific permissions, or what happens on failure). The mention of using an environment variable as a fallback adds some context, but overall, key behavioral traits like side effects or error handling 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 extremely concise and front-loaded: it states the purpose in the first part and parameter details in the second, with no wasted words. Every sentence earns its place by providing essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no annotations, no output schema, and low schema coverage, the description is minimally adequate. It covers the purpose and parameter semantics but lacks details on usage context, behavioral traits, and expected outcomes. For an activation tool with potential side effects, more completeness would be beneficial, but it meets a basic threshold.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful semantics for the single parameter: it explains that 'license_key' is an activation key and specifies that leaving it empty uses the environment variable WECHAT_LICENSE_KEY. With 0% schema description coverage (the schema only defines the parameter type and default), this compensates well by clarifying the parameter's purpose and fallback behavior, though it doesn't detail format or validation rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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: '激活 wxautox4' (activate wxautox4). It specifies the verb ('激活' - activate) and the target resource ('wxautox4'), making the action explicit. However, it doesn't differentiate from sibling tools like 'wechat_check_activation' or 'wechat_initialize', which might have related but distinct purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions a parameter for license key but doesn't explain prerequisites, such as whether initialization is required first, or when activation is needed relative to other tools like 'wechat_check_activation'. There's no explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_check_activationB
检查 wxautox4 激活状态
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the purpose ('check activation status') without detailing what the check entails (e.g., returns boolean status, detailed info, requires authentication, has side effects, or rate limits). For a tool with zero annotation coverage, this leaves significant gaps in understanding its 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, efficient sentence in Chinese that directly states the tool's purpose without any fluff or redundancy. It's appropriately sized for a simple check operation and front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate but lacks completeness. It doesn't explain what the check returns (e.g., activation state details) or how it integrates with sibling tools like 'wechat_activate'. For a status-check tool in a WeChat context, more context on output or usage would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description doesn't need to add parameter details, and it correctly implies no inputs are required for checking status. Baseline is 4 for 0 parameters, as the description aligns with 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 ('检查' meaning 'check') and the resource ('wxautox4 激活状态' meaning 'wxautox4 activation status'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from sibling tools like 'wechat_status' or 'wechat_activate', which appear related to WeChat status/activation, leaving some ambiguity about differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. Given sibling tools like 'wechat_status' and 'wechat_activate', it's unclear if this checks a specific component (wxautox4) versus general status, or if it's a prerequisite for other operations. No explicit when/when-not or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_initializeB
初始化微信连接。参数: resize (是否自动调整窗口,默认true), debug (调试模式,默认false)
| Name | Required | Description | Default |
|---|---|---|---|
| resize | No | ||
| debug | No |
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 mentions parameters for window resizing and debug mode but fails to describe what the tool actually does behaviorally—e.g., whether it establishes a session, requires authentication, has side effects, or returns any output. This leaves critical operational details unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two sentences that directly state the purpose and parameter meanings without any fluff. It is front-loaded with the core action, making it 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 complexity of initializing a connection (likely involving state changes or setup), no annotations, no output schema, and 0% schema coverage, the description is incomplete. It doesn't explain what happens after initialization, error conditions, or dependencies, leaving significant gaps for the agent to operate effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaningful semantics by explaining that 'resize' controls automatic window adjustment and 'debug' enables debug mode, including their default values. This goes beyond the schema's type information, though it doesn't cover all potential behavioral implications of these 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 verb '初始化' (initialize) and the resource '微信连接' (WeChat connection), making the purpose evident. It doesn't explicitly distinguish from siblings like 'wechat_activate' or 'wechat_status', but the action is specific enough to understand its role in setting up a connection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'wechat_activate' or 'wechat_check_activation'. The description lacks context about prerequisites, timing, or exclusions, leaving the agent to infer usage based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_list_toolsB
列出所有可用的微信自动化工具
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool lists available tools but doesn't disclose behavioral traits like whether it's read-only, requires authentication, has rate limits, or what format the output takes. For a tool with zero annotation coverage, this leaves significant gaps in understanding its operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence: '列出所有可用的微信自动化工具'. It's front-loaded with the core action and resource, with zero wasted words. Every part of the sentence contributes directly to understanding the tool's 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 has 0 parameters, 100% schema coverage, and no output schema, the description is adequate for a simple list operation. However, it lacks context about the output format (e.g., list structure, tool metadata) and doesn't address behavioral aspects like authentication needs. For a tool with no annotations, it should provide more 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 tool has 0 parameters, and schema description coverage is 100%. The description doesn't need to add parameter semantics, as there are none to document. It appropriately focuses on the tool's purpose without unnecessary parameter details, meeting the baseline for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '列出所有可用的微信自动化工具' (List all available WeChat automation tools). It uses a specific verb ('列出' - list) and resource ('微信自动化工具' - WeChat automation tools). However, it doesn't explicitly differentiate from sibling tools like 'get_friends' or 'get_sessions', which also list specific resources rather than all 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 provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions. Given the sibling tools include various list/retrieval functions (e.g., 'get_friends', 'get_sessions'), the description fails to help an agent choose between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_statusB
获取微信运行状态,包括在线状态、账号信息和激活状态
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what information is retrieved but doesn't describe how the tool behaves: e.g., whether it requires authentication, its read-only nature, potential rate limits, error conditions, or the format of returned data. This leaves significant gaps for a tool that likely interacts with a sensitive system like WeChat.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese that directly states the tool's purpose without any fluff or redundant information. It's front-loaded with the core action and lists the three status components clearly, making it 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 complexity of interacting with WeChat (a messaging platform with potential authentication and state management), the description is incomplete. It lacks output details (no output schema), doesn't explain behavioral aspects like safety or dependencies, and doesn't guide usage relative to siblings. For a tool in this context, more information is needed to ensure proper agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add parameter semantics, but that's appropriate here. A baseline of 4 is applied as per the rules for zero parameters, since no compensation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('获取' meaning 'get') and resource ('微信运行状态' meaning 'WeChat running status'), and lists the three components it retrieves: online status, account information, and activation status. It doesn't explicitly differentiate from sibling tools like 'wechat_check_activation' or 'get_my_info', but the scope is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether WeChat must be initialized), exclusions, or comparisons to siblings like 'wechat_check_activation' (which might check activation only) or 'get_my_info' (which might retrieve different account details).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
27 tool updates
v1.0.2- First observed
accept_new_friend - First observed
add_friend - First observed
check_file_exists - First observed
filter_sessions - First observed
get_chat_info - First observed
get_friends - First observed
get_history - First observed
get_messages - First observed
get_my_info - First observed
get_new_friends - First observed
get_next_new_message - First observed
get_recent_groups - First observed
get_sessions - First observed
get_unread_sessions - First observed
send_bulk_messages - First observed
send_directory_files - First observed
send_files - First observed
send_image - First observed
send_message - First observed
send_url_card - First observed
switch_chat - First observed
switch_to_contact - First observed
wechat_activate - First observed
wechat_check_activation - First observed
wechat_initialize - First observed
wechat_list_tools - First observed
wechat_status
TDQS
The tool set has clear functional groupings (e.g., friend management, message sending, session handling, system operations), but there is notable overlap within groups. For example, 'get_sessions', 'get_unread_sessions', and 'filter_sessions' all retrieve session lists with slight variations, which could cause confusion. Similarly, multiple send tools ('send_message', 'send_image', 'send_files', 'send_directory_files', 'send_url_card') target different media types but share similar parameters, risking misselection if not carefully reviewed.
Most tools follow a consistent verb_noun pattern (e.g., 'get_friends', 'send_message', 'switch_chat'), which aids predictability. However, there are minor deviations like 'wechat_activate' (verb_adjective) and 'wechat_list_tools' (verb_noun_noun), and some tools use underscores inconsistently (e.g., 'check_file_exists' vs. 'get_my_info'). Overall, the naming is mostly consistent with a few irregularities that do not severely hinder usability.
With 27 tools, the count is borderline high for a WeChat automation server, suggesting potential bloat. While the domain (WeChat automation) is broad, covering friend management, messaging, sessions, and system operations, some tools could be consolidated (e.g., multiple session retrieval tools). The count is not extreme but may overwhelm agents with redundant or overlapping functionality.
The tool set provides comprehensive coverage for core WeChat automation tasks, including friend CRUD (add, accept, list), messaging (send various types, retrieve history), session management, and system operations (initialize, status, activation). Minor gaps exist, such as no tools for deleting friends or managing group settings beyond listing, but agents can likely work around these with available tools for basic workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Share one project context across ChatGPT, Claude, Telegram and any MCP client.
Carbon Voice MCP serves as a bridge that connects AI assistants like ChatGPT, Claude, and Cursor to a user's Carbon Voice account, turning voice messages and conversations into a private, on-demand knowledge base. It provides 28 specialized tools for comprehensive voice messaging management, including creating and sending messages, accessing conversation history with instant transcription, running AI actions (summarization, TLDR generation, meeting notes), and managing workspace collaboration through folders, contacts, and team communications.
Messaging tools for AI agents: send messages, manage chats, groups and channels.
1
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to send WeChat messages through automation, supporting both immediate and scheduled message delivery to contacts and groups using the Model Context Protocol standard.35-
- AlicenseNot gradedqualityBmaintenanceEnables automation of WeChat on macOS through the Accessibility API, allowing LLMs to fetch recent messages from contacts and send replies based on conversation history.247MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for WeChat PC automation, enabling message sending, voice/video calls, and AI-powered listening through Cursor or WorkBuddy.2-
- FlicenseAqualityCmaintenanceEnables AI assistants to send and receive WeChat messages through the official ClawBot API, supporting text, images, files, and videos.7689-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/cluic/wxauto-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server