WeChat channel plugin that connects WeChat direct messages to Claude Code using WeChat iLink Bot API with built-in access control and pairing code authentication
This server has critical definition gaps. 7 of 9 tools lack documented input schemas in the visible code (only send_message, send_image, send_file show inline parameter descriptions). Descriptions are present but generic (avg ~60 chars, below the 194-char baseline). No output schemas documented. No error handling guidance. Tool names are reasonable (verb_noun pattern) but parameter descriptions are minimal. The configure tool has no parameters documented despite being a critical setup step. Missing idempotency guidance for write operations.
Approve a pairing code to allow a WeChat user to access Claude
Log in with WeChat QR code and configure the bot token
Download an attachment (image or file) from a WeChat message
Generate a pairing code for a new WeChat user to authenticate
List all WeChat users allowed to access Claude
Remove a WeChat user from the allowlist
Send a file to a WeChat user
Send an image to a WeChat user
No input schemas visible for configure, get_pairing_code, list_allowed_users. These tools appear to have no parameters documented, violating the requirement that every parameter must have a description and type.
Output schemas not documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what does list_allowed_users return? user IDs? names? both?). This violates the pattern that tools must document return types.
No error handling guidance. Tools that call external APIs (send_message, send_image, send_file) can fail (network, auth, rate limit) but provide no recovery hints. LLMs cannot determine if errors are retryable or user-fixable.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Send a text message to a WeChat user
Destructive operations (remove_user, approve_pairing) lack confirmation or dry-run support. An agent could accidentally remove all users or approve malicious pairing codes without a safety gate.
Parameter descriptions are minimal (avg ~30 chars). E.g., 'user_id' is described as 'WeChat user ID (e.g. [email protected])' but does not explain format constraints, whether it accepts display names, or how to obtain it. LLMs cannot reliably construct valid calls.