微信公众号文章搜索MCP服务weixin_search_mcp

前言

偶然发现了一个 python 库,可以搜索微信公众号的文章。

miku_ai 是一个用于搜索和获取微信公众号文章 Python 库。它使用异步方法来提高效率,能够快速获取指定关键词的相关文章信息。

虽然老苏不是程序员,但还是粗浅的研究了一下这个库的工作原理,是基于搜狗引擎来搜索微信文章的

速度挺快的

所以通过 AI 的协助,老苏将其手搓成了一个 MCP 服务,代码放在了 https://github.com/wbsu2003/weixin-search-mcp

安装

源码安装

如果不想借助服务器,可以在本机安装

关于 python 环境的安装,不在本文的范围,请自行搜索学习;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 下载代码
git clone https://github.com/wbsu2003/weixin-search-mcp.git

# 通过代理
git clone https://gh-proxy.com/github.com/wbsu2003/weixin-search-mcp.git

# 进入目录
cd weixin-search-mcp

# 安装依赖
pip install -r requirements.txt

# 运行服务
python main.py

docker 安装

在群晖上以 Docker 方式安装。

在注册表中搜索 wbsu2003 ,选择第一个 wbsu2003/weixin-search-mcp,版本选择 latest

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8000 8000

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
# 运行容器
docker run -d \
--restart unless-stopped \
--name weixin-search-mcp \
-p 8000:8000 \
wbsu2003/weixin-search-mcp

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
version: '3'

services:
mcp:
image: wbsu2003/weixin-search-mcp
container_name: weixin-search-mcp
restart: unless-stopped
ports:
- 8000:8000

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 weixin-search-mcp 和 子目录
mkdir -p /volume1/docker/weixin-search-mcp

# 进入 weixin-search-mcp 目录
cd /volume1/docker/weixin-search-mcp

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

网页

在浏览器中输入 http://群晖IP:8000 就能看到主界面

输入搜索关键词和返回的最大结果数量

继续

在手机浏览器上也是没问题的

接口

在浏览器中输入 http://群晖IP:8000/docs 会看到接口文档,这个速度有点慢,如果页面空白不要担心,稍微多等一会儿

可以用命令行进行测试

1
2
3
4
5
6
7
8
9
10
11
# 测试健康检查
curl http://群晖IP:8000/health

# 测试文章搜索 API
curl -X POST "http://群晖IP:8000/search_articles" \
-H 'accept: application/json' \
-H "Content-Type: application/json" \
-d '{"query": "人工智能","top_num": 5}'

# 访问 MCP SSE 端点
curl http://群晖IP:8000/mcp

MCP

当然更重要的是实际应用,以 Cherry Studio 为例

  • 名称: 自己好识别就可以
  • 类型:选择 SSE 协议
  • URL:http://群晖IP:8000/mcp,如果是安装在本机,可以用 http://localhost:8000/mcp

如果连接没问题,切换到工具可以看到内置的函数

新建一个助手,提示词可以明确 调用 mcp_weixin_search 搜索公众号文章

别忘了启用 MCP

输入关键词,这种情况默认会返回 5

如果希望返回更多,可以直接要求

从工具中看,参数确实是符合了我们的要求

但实际返回的少于我们的要求

风险提示

查询数量太大或者太频繁,可能存在风险,这个需要有充分的认识,下图来自 Miku Spider 的说明

Miku Spider 给的建议是使用代理和 User-Agent 轮换以避免被封禁,weixin_search_mcp 是基于同样的库,所以解决方案是一致的

参考文档

wbsu2003/weixin-search-mcp: 这是一个基于FastAPI的微信文章搜索MCP服务,提供了通过关键词搜索微信公众号文章的功能。
地址:https://github.com/wbsu2003/weixin-search-mcp

GobinFan/Miku_Spider: Miku Spider 是用于搜索微信公众号文章的 Python 工具,具有异步搜索、获取文章多信息等特性。
地址:https://github.com/GobinFan/Miku_Spider