Wx Mcp

communication MCP Server

WeChat/微信 local chat history MCP server for macOS agents. Read messages, contacts, media, favorites, transfers, red packets, Moments and full-text search from local WeChat 4.x data.

Verified
communicationcommunication
9 views55 stars18 forksMIT

Why This Matters

Discovered via github-topic:mcp and last synced 3mo ago.

Verified
Source
github-topic:mcp
Stars
55
Last synced
3mo ago
Install
Check source

Install

Install instructions not detected yet

Check the source repository for the latest setup steps.

View source instructions
38
Tools
0
Resources
0
Prompts
Standard I/O
Transport

Available Tools (38)

resolve_chat

把昵称/备注/alias/群名解析成 username/talker. 返回 candidates, 供 agent 从自然语言目标进入精确工具调用

search

走微信本地 FTS 的跨会话全文搜索

group_members

群成员. chatroom_id 可传群 ID; chat 可传群名自动解析. is_owner / is_friend 是 bool. stats=true 附 msg_count

favorites

微信收藏

contacts

联系人/群搜索. 字段: username / display_name / nick_name / remark (omitempty) / alias (omitempty) / description (omitempty) / type / chat_type / is_verified

sql

只读 SQL. `SELECT/WITH` 默认外层限流, `limit` 最大 1000; `PRAGMA/EXPLAIN` 可直接跑. OS 级 readonly (SQLITE_OPEN_READONLY) — DDL/DML 直接报错

messages

消息. talker 可传 wxid; chat 可传昵称/备注/群名自动解析. fields=lite (默认) 返回核心字段; fields=full 加 subtype + raw message_content + message_content_parsed (XML 结构化, 引用递归 depth=3). content_summary 已剥群聊 sender prefix

transfers

转账. 字段: transfer_id / transcation_id / payer_wxid / receiver_wxid / session_username / pay_sub_type / begin_transfer_time / **amount** ("¥5.00") / **description** ("收到转账5.00元") / memo (omitempty). amount/description/memo 是 batch join messages.server_id 解 XML 提取

unread

未读会话列表, 字段同 sessions. 支持 filter/type_filter=private,group 等

media_resources

消息附件/媒体资源定位. 从 `message_resource.db` 返回 `server_id_str`、图片/视频/文件/封面资源的 raw type、variant_code、size、status、packed_strings(文件名/md5) 和已存在的本地 `local_paths`. 支持 chat/talker/local_id/server_id/server_id_str/type/resource_family 过滤

sns

朋友圈 + 点赞/评论. 字段: tid / username / nickname / avatar_url / create_time / content / type / private / liked_by_me / media (含 raw_type/sub_type/url_key/thumb_key/md5/width/height/total_size/video_md5/video_duration) / location / likes / comments

sessions

最近会话、未读数、最后消息摘要

sns_notifications

朋友圈点赞/评论通知. 默认未读; include_read=true 返回全部

cache_status

查看明文 snapshot cache 与统一 index.sqlite 状态. 不触发 wxkey setup

sns_feed

朋友圈时间线, 语义化 alias, 字段同 sns

forward_history

**最近转发目标列表** (用于快捷转发, 非"被转发的消息历史"). 字段: username / display_name / forward_time

Tool

说明

sns_search

朋友圈正文搜索, keyword 必填, 字段同 sns

red_packets

红包. 字段: send_id / sender_wxid / session_username / native_url / message_server_id / **wishing** ("恭喜发财大吉大利") / scene_text. 支持 chat/talker/sender/after/before; 时间/sender 过滤使用 cache join messages.create_time

new_messages

增量拉新消息. 支持 chat/talker/after/cursor, 返回 messages + next_cursor. cursor 是 `v2:create_time:base64url_talker:local_id`, 不依赖 cache rebuild 后会漂移的 SQLite rowid

chatroom_announcements

群公告. 字段: chatroom_id / chatroom_display_name / announcement / editor_wxid / editor_display_name / publish_time

export_messages

从 cache index 导出消息到 jsonl / markdown / html 文件. 支持 chat/talker/after/before/keyword

schema

WCDB 数据库结构. 不传参列所有 db 子目录 + 表名; 传 subdir+file 返回每张表 DDL

cache_refresh

刷新 snapshot cache 并重建 index.sqlite. 默认按 DB/WAL mtime 复用未变化 snapshot; force=true 强制重解; background=true 立即返回并在后台刷新

cache_rebuild

删除当前 cache 后完整重建

context

以 `local_id` / `server_id` 为锚点展开前后消息

history

更底层的消息读取,支持时间、类型、sender、分页等过滤

update

更新到 GitHub latest release

members

群成员、群名片、好友关系

timeline

普通读聊天的首选入口,返回 `query` / `freshness` / `messages`

stats

metadata cache 计数,不是消息趋势统计

media

按消息定位图片、视频、文件等本机可读资源

resolve-chat

把昵称、备注、群名解析成稳定 talker

export

显式本地文件写入:单个会话导出到 jsonl / markdown / html

tools

默认列 assistant 高信噪比工具;`--profile all` 列全部兼容/维护工具

search-context

搜索并自动展开每个命中附近上下文

degraded

blocked`;如果 metadata cache 可用但已滞后,会返回 `warnings=["metadata_cache_degraded"]` 和具体 stale reason。 `agent` 是 agent 进入微信读取环境的总入口。它返回当前能力矩阵、推荐工作流、质量验收命令和本机 readiness,不会读取大量聊天正文,也不会修改微信数据;`read-os` 仍是兼容别名: ```bash wechat-cli agent --pretty wechat-cli status --pretty wechat-cli coverage --pretty wechat-cli workflows --pretty ``` 搜索或 timeline 拿到某条消息后,用 `context` 自然展开上下文: ```bash wechat-cli search "$KEYWORD" --in "$CHAT" --limit 5 --pretty wechat-cli context "$CHAT" --local-id 123 --before-count 20 --after-count 20 --pretty wechat-cli search-context "$KEYWORD" --in "$CHAT" --context-limit 3 --pretty wechat-cli timeline "$CHAT" --before-message 123 --limit 20 --pretty ``` `context` 返回的 `messages[]` 与 `timeline` 同形,额外带 `context_role=before/anchor/after`,用于让 agent 从一句话继续向前向后读。`search-context` 是 `search -> context` 的组合入口;`timeline --before-message/--after-message` 则把 `local_id` 当游标翻更旧或更新的消息。 小助手增量观察用 `tail` / `watch`。它仍然是 read-only:不发消息、不控制 UI。传 chat 时返回 message events,`event.message` 与 timeline message 行同形;不传 chat 时返回 session/unread events。普通模式返回标准 envelope;`--jsonl`/`--follow` 输出一行一个 event,不包 envelope。`cursor` 可原样传回下一次调用: ```bash wechat-cli tail "$CHAT" --since-local-id 123 wechat-cli tail "$CHAT" --since-local-id 123 --jsonl wechat-cli watch --mode sessions --cursor session:1780560000 --jsonl wechat-cli watch "$CHAT" --cursor local_id:123 --jsonl --follow ``` ## 常用命令

agent

WeChat Read OS 总入口:覆盖率矩阵、工作流、质量验收、本机状态