weflow-mcp
v0.1.0
Published
MCP server for calling the local WeFlow HTTP API.
Maintainers
Readme
weflow-mcp
TypeScript MCP server for calling the local WeFlow HTTP API.
WeFlow must be running locally with API 服务 enabled. The default API base URL is http://127.0.0.1:5031. Except for health checks, WeFlow /api/v1/* endpoints require an access token.
Install
Use directly with npx:
npx -y weflow-mcpOr install from source:
npm install
npm run buildConfiguration
Set these environment variables in your MCP client:
| Variable | Default | Description |
| --- | --- | --- |
| WEFLOW_BASE_URL | http://127.0.0.1:5031 | WeFlow HTTP API base URL |
| WEFLOW_ACCESS_TOKEN | empty | WeFlow API token |
| WEFLOW_API_TOKEN | empty | Fallback token name, used if WEFLOW_ACCESS_TOKEN is empty |
| WEFLOW_TIMEOUT_MS | 30000 | Request timeout in milliseconds |
MCP client example
{
"mcpServers": {
"weflow": {
"command": "node",
"args": ["/home/projects/wechat-tool/weflow-mcp/dist/index.js"],
"env": {
"WEFLOW_BASE_URL": "http://127.0.0.1:5031",
"WEFLOW_ACCESS_TOKEN": "YOUR_TOKEN"
}
}
}
}After npm publish, you can use npx instead:
{
"mcpServers": {
"weflow": {
"command": "npx",
"args": ["-y", "weflow-mcp"],
"env": {
"WEFLOW_BASE_URL": "http://127.0.0.1:5031",
"WEFLOW_ACCESS_TOKEN": "YOUR_TOKEN"
}
}
}
}Tools
weflow_health: check WeFlow API health.weflow_list_sessions: list chat sessions.weflow_get_messages: get messages from a chat session.weflow_get_session_messages_chatlab: pull one session in ChatLab format.weflow_list_contacts: list contacts.weflow_get_group_members: list group members.weflow_sns_timeline: get Moments timeline.weflow_sns_usernames: list Moments publishers.weflow_sns_export_stats: get Moments export stats.weflow_sns_export: start a Moments export.weflow_sns_block_delete: get/install/uninstall Moments anti-delete status.weflow_request: call any supported WeFlow API endpoint with custom method/query/body.
Notes
- WeFlow's API only listens on
127.0.0.1by default. - Before using data tools, connect WeFlow to the WeChat database in the WeFlow app.
- Media URLs returned by message APIs are usable after calling messages with
media=1.
