Let AI query your WeChat messages directly. Provides access to decrypted WeChat databases on macOS, enabling tools to retrieve chat history, search messages, list sessions, and query contacts.
The WeChat MCP server has critical gaps in schema quality, parameter descriptions, and error handling. While all 5 tools have names starting with action verbs (get_, search_, sync) and descriptions in Chinese, the schema definitions lack detail and parameter constraints. No input validation, no error recovery guidance, and minimal parameter documentation reduce usability for LLMs. The server is functional but falls short of production-grade standards.
获取特定聊天的完整消息历史记录,支持模糊匹配聊天名称或微信ID。
获取联系人列表,支持按名称或备注搜索,返回匹配的联系人。
获取微信最近会话列表,包含最新消息摘要、未读数、时间等。用于了解最近有哪些人/群在聊天。
在所有聊天中搜索包含关键词的消息,返回匹配结果。
手动同步微信数据库,获取最新聊天记录。通常不需要手动调用,查询时会自动同步(每60秒)。
Descriptions are in Chinese only, limiting clarity for English-speaking LLM agents. International tool descriptions should be in English.
Parameters lack constraints and validation rules. 'limit' parameters have no min/max bounds; LLMs could pass invalid values like limit=1000000. Specify ranges (e.g., 1-1000) and enforce server-side validation.
Output schemas are not documented. The code shows return types via Python docstrings but the MCP tool definitions do not include explicit result schemas. LLMs cannot predict what fields will be returned without trying the tool.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
No error recovery guidance. If a chat lookup fails (e.g., user enters a non-existent contact name), the tool returns an error with no suggestions on how to proceed. Include alternative matches or hints for the LLM to retry with search_contacts.
Parameter 'query' in get_contacts is underdescribed. The description says 'search query (昵称、备注或微信ID)' but does not explain what happens when query is empty, whether partial matches are supported, or what the sort order is.
No pagination guidance in tool descriptions. Tools like get_chat_history accept a 'limit' but the description does not explain whether results are ordered by timestamp, whether there is a next_cursor/offset, or what happens when limit exceeds available messages.
No tool annotations (readOnlyHint, idempotentHint) declared. All tools are read-only operations, but this is not formally communicated via MCP tool annotations.
The 'sync' tool has an empty input schema ({}) but its description mentions a 60-second cooldown and auto-sync behavior. The LLM cannot tell if there are parameters to control sync behavior or frequency.