# Wechat MCP Manual

> Progressive-disclosure usage manual for WeChat/iLink: first safe read, exact IDs, external send/reply, media partials, and standalone poller/setup hazards. Use the schema for routine calls; load this manual for media details, unfamiliar results, setup, or recovery.

- Skill: `lingtai-ai/wechat-mcp-manual` (Agent Skill, multi-file: 18 files)
- Install (CLI): `npx skillmds@latest add lingtai-ai/wechat-mcp-manual`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lingtai-ai/wechat-mcp-manual/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: lingtai-ai (https://skillmd.com/u/lingtai-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/lingtai-ai/wechat-mcp-manual

---


# WeChat MCP

Use the schema for routine calls; this progressive disclosure guide adds media,
setup/recovery and unfamiliar result details, not a per-send reading ritual.

## First safe action

```json
{"action":"check","input":{},"reasoning":"find WeChat conversations"}
```

Without a complete current notification, recover the needed content using
`read` with an exact `user_id` from `check`, `read`, `contacts`, or a current
notification. For `reply`, use an inbound `message_id` from `read`, `search`, or
a current notification's structured preview (`recent_messages`/
`latest_incoming`); never guess or invent one. When a CURRENT notification
carries the complete required message and exact `id`, do not call `check`/`read` merely
to reread that identical content or to re-obtain an `id` already present there.
`search` matches inbox bodies by regex; it cannot prove that an outgoing reply
is absent.
Calls require
`action`, closed action-owned `input`, and `reasoning`; optional `summarize` is
boolean. The advertised schema owns the action catalog and validation.

## External effects and recovery

`send`/`reply` are real external side effects: obtain authority and verify recipient
and content. Success is provider acceptance, not delivery (`delivery_confirmed`
is false); never replay an accepted request. `reply` cannot fall back to a new
recipient if its inbound target or sender is missing.

`media_path` is a file inside the allowed working directory. Text precedes media;
partial results or uncertain errors require reconciliation, not whole-request
replay. A missing local sent record does not prove nothing was accepted. Read
[operations](reference/operations.md) for result/read-state limits and
[media](reference/media.md) for paths, validation and upload stages.

`getUpdates` has one consumer per bot account. The per-account lock refuses a
second poller; do not delete its lockfile or start another. A refresh, worker
failure, or recovery event is a lifecycle fact, not by itself a reason to reread
a complete current notification; call `read` to reconcile only when the
inbox/sent history you actually need is missing or uncertain after such an
event, not as a routine step before every reply. Local history is context, not
a delivery receipt.

Login, configuration and credential replacement require the owner's setup
authorization. Avatar sessions must not reconfigure this MCP. Never share the
admin login QR, token or credentials. See [setup/recovery](reference/setup.md);
host addon activation remains owned by `mcp-manual`.

## Settings SHOW

`settings` takes `input={}` and returns the startup snapshot without writing or
rereading owner files. Five sensitive rows redact both `current` and `default`;
only `poll_interval` is displayed. An unavailable row fails the whole inventory.
SHOW grants no configuration authority. Each stable anchor routes directly:

## setting-config-path
[Resolved config source](reference/setup.md#setting-config-path).

## setting-base-url
[Endpoint precedence](reference/setup.md#setting-base-url).

## setting-poll-interval
[Polling interval/default](reference/setup.md#setting-poll-interval).

## setting-allowed-users
[Inbound allow-list](reference/setup.md#setting-allowed-users).

## setting-bot-token
[Login secret](reference/setup.md#setting-bot-token).

## setting-user-id
[Backend identity](reference/setup.md#setting-user-id).

Sidecars ship with the package but are not embedded in `manual`; follow the
relative links only when their detail is needed.

