github.devotd.
NewModel Context Protocol

stkoecn/im-mcp — Read-only FTS5 search over WeChat and DingTalk history

A Python-based MCP server that opens local WeChat and DingTalk chat history read-only so AI agents can find and use it through FTS5 search.

Repositorystkoecn/im-mcp ↗

A Python-based MCP server that opens local WeChat and DingTalk chat history read-only so AI agents can find and use it through FTS5 search.

GitHub description: Fast, local, read-only MCP Server for WeChat (4.x/3.x) & DingTalk (7.x V2/V3) chat history with FTS5 search

stars
★ 46
Forks
25
Language
Python
Read original source ↗View on GitHub ↗

stkoecn/im-mcp is a local MCP (Model Context Protocol) server that opens WeChat and DingTalk chat history read-only. Written in Python, it uses FTS5 — full-text search that finds words across an entire document — to locate chat history and contacts for WeChat 4.x/3.x and DingTalk 7.x V2/V3. There are no public releases, and the repository creation date is recorded as October 17, 2026.

The server's role is a conduit for passing messenger history to AI agents as context. The README explains that agents such as Claude Desktop, Cursor, Cline and Pi can search messages and files and summarize conversations. Unlike cloud-connected approaches, it runs fully offline. The real technical depth lies in the actual cryptographic decryption. On the WeChat side, it extracts the Salt from Config.Cipher in Weixin.exe at runtime, completes offline HMAC verification, and then unpacks the WCDB SQLite database; on the DingTalk side, it derives an AES-128 key with PBKDF2-HMAC-SHA1 and MD5 from user_config and merges even the WAL transactions. The README also records the structure that merges DingTalk's sharded tbmsg_000~tbmsg_127 tables and the file sizes: decrypt.py 14656 bytes, db.py 12805 bytes.

The limitations are obvious. There is no performance benchmark, and tests/ holds only five automated test files, so the README's performance descriptions are claims that have not been verified by measurement. There is no license statement either. The README, AGENTS.md and the skills/im-mcp/SKILL.md document are all in Chinese, which makes them hard to follow for English- and Korean-speaking readers. The design that enforces personal-data boundaries at the code level is worth studying, but it is difficult to rush a decision to adopt it before the license and verification material are filled in.