Skip to main content

WeChat MCP Server

Python 3.12+ PyPI version License: MIT

中文 | English

An MCP server that automates WeChat on macOS using the Accessibility API and screen capture. It enables LLMs to interact with WeChat chats programmatically.

Features

  • 📨 Fetch recent messages from any chat (contact or group)
  • ✍️ Send automated replies based on chat history
  • 📷 Publish text-only Moments posts, with optional draft-only mode
  • 👥 Add contacts using WeChat ID with configurable privacy
  • 🔍 Smart chat search with exact name matching
  • 🤖 5 specialized Claude Code sub-agents for smart WeChat automation

Quick Start

Installation

pip install wechat-mcp-server

Setup with Claude Code

# If installed via pip
claude mcp add --transport stdio wechat-mcp -- wechat-mcp

# If using uv for development
claude mcp add --transport stdio wechat-mcp -- uv --directory $(pwd) run wechat-mcp
Setup with Claude Desktop
// If installed via pip
{
  "mcpServers": {
    "wechat-mcp": {
      "type": "stdio",
      "command": "wechat-mcp"
    }
  }
}

// If using uv for development
{
  "mcpServers": {
    "wechat-mcp": {
      "type": "stdio",
      "command": "uv",
      "args": [
        "--directory",
        "{path/to/wechat-mcp}",
        "run",
        "wechat-mcp"
      ],
    }
  }
}
Setup with Codex
# If installed via pip
codex mcp add wechat-mcp -- wechat-mcp

# If using uv for development
codex mcp add wechat-mcp -- uv --directory $(pwd) run wechat-mcp

macOS Permissions

⚠️ Important: Grant Accessibility permissions to your terminal:

  1. Open System Settings → Privacy & Security → Accessibility
  2. Add your terminal application (Terminal.app, iTerm2, etc.)
  3. Ensure WeChat is running before using the server

Usage

Basic Commands

# Run with default stdio transport
wechat-mcp --transport stdio

# Run with HTTP transport
wechat-mcp --transport streamable-http

# Run with SSE transport
wechat-mcp --transport sse

Available MCP Tools

  • fetch_messages_by_chat - Get recent messages from a chat
  • reply_to_messages_by_chat - Send a reply to a chat
  • add_contact_by_wechat_id - Add a new contact using a WeChat ID and send a friend request
  • publish_moment_without_media - Publish a text-only Moments post (no photos or videos); optionally only prepare a draft without posting via publish=False

See detailed API documentation for full tool specifications.

Claude Code Sub-Agents

This project includes 5 intelligent sub-agents designed specifically for WeChat automation. They enable natural language control of WeChat through Claude Code.

Available Sub-Agents

  1. Chat-summarizer - Summarize chat history and extract key information
  2. Auto-replier - Auto-generate and send appropriate replies
  3. Message-searcher - Search chat history for specific content
  4. Multi-chat-checker - Monitor multiple chats and prioritize messages
  5. Chat-insights - Analyze relationship dynamics and communication patterns

📖 View complete sub-agents guide

Development

Local Setup with uv

# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Clone and setup
git clone https://github.com/yourusername/WeChat-MCP.git
cd WeChat-MCP
uv sync

# Run locally
uv run wechat-mcp --transport stdio

Documentation

Requirements

  • macOS (uses Accessibility API)
  • WeChat for Mac installed and running
  • Python 3.12+
  • Accessibility permissions for terminal

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE file for details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_biboyqg_wechat_mcp_server-0.1.0.tar.gz (155.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_biboyqg_wechat_mcp_server-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_biboyqg_wechat_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 155.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_biboyqg_wechat_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0bcb1b986f8f8a74fead6634b99289539e2575b08860150fdabea2cd02e9a937
MD5 bfacabf763d84e931841985dcd62d36e
BLAKE2b-256 128111d006e60f8e847568a727ed3ee901003ffeaa682caf6247920ca58457bc

See more details on using hashes here.

File details

Details for the file iflow_mcp_biboyqg_wechat_mcp_server-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_biboyqg_wechat_mcp_server-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_biboyqg_wechat_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b60964216b11d7bfa929dcde6431b8eba3c33ce25d7619266f06f71a9d9fa95c
MD5 664f1dff1154801c1acef63e9a203d4c
BLAKE2b-256 352c52443cb3ce6d5ad312cb43119436eecc71d021bf742d86687944afff33be

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page