MCP Server for accessing WeChat Official Account articles and content, providing AI Agents with the ability to retrieve and manage WeChat public account articles
Five tools with well-structured input schemas and detailed parameter descriptions. Naming follows verb_noun convention (get_, list_, search_). All tools are READ_ONLY. However, output schemas are not explicitly documented in the source code, only inferred from descriptions. Parameter descriptions are verbose but informative. Tool descriptions range from 150 - 250 characters, which is within the 10 - 1024 baseline but could be more concise. Input validation uses Pydantic models with proper constraints (enums, min/max bounds, regex patterns). Error handling is present but minimal, no recovery guidance or categorization. Security is acceptable: credentials are environment-injected (WECHAT_APP_ID, WECHAT_APP_SECRET), not exposed as tool parameters. Composition is good: tools are single-purpose and chainable (e.g., list_articles returns media_id, which get_article_content accepts).
获取当前配置的公众号基本信息。此工具用于验证微信公众号 API 配置是否正确,并获取公众号的基本信息和统计数据。在开始使用其他功能前,建议先调用此工具确认配置正确。
根据 media_id 获取文章的详细内容。此工具用于获取具体文章的完整内容,包括正文、作者、发布时间等详细信息。media_id 可以从 list_articles 工具的返回结果中获取。
获取公开微信文章的完整内容。此工具用于获取通过搜索获得的公开文章的详细内容,包括正文、图片链接等。
获取公众号的图文消息列表。此工具用于获取当前公众号发布的图文消息列表,支持分页浏览。只能获取通过微信公众平台发布的永久素材。
搜索公开的微信文章。此工具使用搜狗微信搜索引擎搜索公开发布的微信文章,可用于查找特定主题的文章或发现新内容。
Output schemas not explicitly documented in tool definitions. LLMs cannot plan downstream calls without knowing what fields to expect. Source: tools have descriptions referencing formatters (format_account_info, format_article_list, etc.) but the actual return structure is not visible in the provided code.
Tool descriptions lack WHEN-to-use context. E.g., 'get_article_content' should explain: 'Use after list_articles to fetch the full text of a specific article.' Currently, descriptions state WHAT but not dependencies or sequencing.
No error recovery guidance. If a tool fails (e.g., invalid media_id in get_article_content), the error response should suggest next steps like 'Try list_articles to retrieve a valid media_id.' Currently, error handling is minimal, no categorization (retryable vs. fatal) and no guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 58 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 36 | - | v1 |
Pagination documentation incomplete. list_articles accepts offset and count but does not document how to detect the end of results. Should return total_count or next_cursor so agents know when to stop paginating.
search_public_articles and get_public_article_content rely on external web scraping (Sogou WeChat search). This is fragile, undocumented in error handling, and may fail silently. Tool descriptions should warn about this dependency.
Tool chaining not optimized. get_account_info returns account metadata, but the description does not hint that list_articles is the natural follow-up. Explicit 'call X next' guidance would reduce agent reasoning overhead.