1. Windows 本地部署 weixin_search_mcp 到底难在哪weixin_search_mcp 是一个用 Python 写的 MCP 服务专门用来搜索和抓取微信公众号文章。你给它一个关键词它返回一批相关文章再通过 MCP 协议暴露给支持的工具调用。适合谁做内容聚合的、想给自己的 AI 助手接一个公众号搜索能力的、以及研究 MCP 服务部署的开发者。但真正上手你会发现卡人的地方往往不是代码本身而是两件事一是 Windows 下 Python 环境和依赖装不干净服务起不来二是本地http://127.0.0.1:8000跑通了换台机器、换个网络就访问不了。前者是环境问题后者是网络可达性问题。这篇就按「先本地跑通再打通外部访问」的顺序走一遍。我会给出 MCP 服务的启动配置骨架、内网映射的配置片段以及从本机到外网的连通性验证动作。整个过程在 Windows Python 环境下可复现你照着敲命令就行。需要提前说明外部访问这件事本质是让公网能找到一个到你本机端口的通路。常见做法有内网穿透工具、反向代理、云服务器中转等。本文聚焦配置层面的操作不涉及任何网络访问合规之外的讨论你按自己所在环境的规范来选方案即可。2. 前置准备Python 环境、依赖与 TaoToken 接入位先把地基打好。Windows 上装 Python 建议用 3.10 或 3.11太新的版本有些依赖轮子还没跟上。装的时候记得勾选「Add Python to PATH」否则后面pip命令会找不到。验证环境python --version pip --version git --version三个命令都能输出版本号说明基础工具齐了。如果git没有去官网下个安装包一路默认即可。接下来是 TaoToken 的接入位。weixin_search_mcp 本身是搜索服务但如果你想让搜索结果进一步被模型消化或者把 MCP 服务挂到支持工具调用的客户端上就需要一个统一的模型接入层。TaoToken 提供的就是这个能力一个 API 入口兼容主流模型的调用格式省去你分别对接各家 SDK 的麻烦。它的控制台地址是 https://taotoken.net/api API Key 在控制台的 API Keys 页面生成。生成后先存好后面配置 MCP 客户端或者写调用脚本时会用到。如果你只是想先验证模型对话效果可以直接用模型对话页面试如果是长期做编码或 Agent 类任务Coding Plan 会更合适额度模型不一样。这里给一个最小调用示例确认你的 Key 能用import requests url https://taotoken.net/api/v1/chat/completions headers { Authorization: Bearer 你的API_KEY, Content-Type: application/json } payload { model: claude-3-5-sonnet, messages: [{role: user, content: 你好测试连通性}] } resp requests.post(url, headersheaders, jsonpayload, timeout30) print(resp.status_code) print(resp.json())返回 200 且 body 里有内容说明接入层通了。这一步不是必须的但建议先做避免后面 MCP 出问题时分不清是搜索服务的问题还是模型接入的问题。3. 可复制配置weixin_search_mcp 启动骨架现在进入正题。克隆项目、装依赖、起服务三步走。git clone https://github.com/wbsu2003/weixin-search-mcp.git cd weixin-search-mcp pip install -r requirements.txt依赖装完后先别急着python main.py。建议先看一眼项目结构确认入口文件和端口配置在哪dir type main.py通常main.py里会有类似uvicorn.run(app, host0.0.0.0, port8000)的启动代码。这里有个关键点host一定要是0.0.0.0不能是127.0.0.1。前者监听所有网卡局域网内其他设备才能访问后者只监听本机回环外部一律连不上。这是很多人「本地能开、别人打不开」的第一个坑。如果项目里没有显式写端口你可以自己包一层启动脚本比如新建run_server.pyimport uvicorn from main import app if __name__ __main__: uvicorn.run( app, host0.0.0.0, port8000, log_levelinfo )然后运行python run_server.py看到Uvicorn running on http://0.0.0.0:8000就说明服务起来了。此时在本机浏览器打开http://127.0.0.1:8000应该能看到 MCP 主界面搜索框输入关键词能返回文章列表。再验证一下局域网可达性。在另一台同网段的设备上访问http://你的本机IP:8000。本机 IP 用ipconfig查找 IPv4 地址那一行。如果局域网能通、外网不通那就进入下一章的内网映射环节。4. 内网映射配置片段与外部访问验证内网映射的核心思路在你本机跑一个客户端它和公网服务器建立一条长连接把公网某个地址的请求转发到你本机的 8000 端口。这样外部访问公网地址实际打到的是你本机的服务。配置片段通常长这样不同工具字段名略有差异但结构一致tunnel: weixin-search-mcp protocol: http local_ip: 127.0.0.1 local_port: 8000 public_port: 随机分配或指定 subdomain: 自定义前缀关键参数就三个local_port填 8000protocol选 httplocal_ip填 127.0.0.1 或本机内网 IP 都行。创建映射后工具会给你一个公网地址形如https://xxxx.xxx.com。拿到公网地址后做三步验证第一步本机自测。浏览器开http://127.0.0.1:8000确认服务活着。第二步局域网自测。另一台设备访问http://本机IP:8000确认0.0.0.0监听生效。第三步外网验证。用手机切到移动网络不连家里 WiFi浏览器打开映射工具给的公网地址。能加载出 MCP 界面说明整条链路通了。如果第三步失败先别怀疑映射工具。回到本机用netstat -ano | findstr :8000看端口是否在监听状态应该是LISTENING。再看 Windows 防火墙入站规则里有没有放行 8000 端口。很多时候是防火墙把外部请求拦了映射本身没问题。5. 本篇常见错排查报错一ModuleNotFoundError: No module named xxx依赖没装全。回到项目目录重新pip install -r requirements.txt。如果某个包在 Windows 上编译失败试试装预编译轮子pip install xxx --only-binary :all:。还不行就查这个包有没有 Windows 专用版本。报错二Address already in use8000 端口被占了。用netstat -ano | findstr :8000找到占用进程的 PID再taskkill /PID 那个PID /F干掉它。或者换个端口把启动脚本里的 8000 改成 8001。报错三本地能开外部访问超时按顺序查三处host是不是0.0.0.0Windows 防火墙有没有放行端口映射工具的local_port是不是写成了别的值。这三处任意一处不对外部都连不上。报错四映射地址能打开但返回 502映射客户端没连上或者本机服务挂了。先确认本机http://127.0.0.1:8000还能开再重启映射客户端。502 基本是后端不可达不是映射配置的问题。报错五搜索结果为空关键词太窄或者目标文章没被索引到。换个宽泛点的词试试。如果一直为空检查服务日志有没有请求报错可能是抓取环节被限流了。6. 把 MCP 服务接进你的工作流服务跑通、外网能访问之后下一步就是把它接进实际工作流。如果你用的是支持 MCP 协议的客户端在配置里填上服务地址即可。如果想让搜索结果被模型进一步处理可以在调用链里串上 TaoToken 的 API。API Key 在 https://taotoken.net/api 的控制台生成接入文档里有各语言的调用示例。排障和接入相关的问题优先看 API Keys 页面和接入文档想先验证模型效果用模型对话页面最快长期做编码或 Agent 任务Coding Plan 的额度模型更划算。最后留一个实操建议把启动脚本和映射客户端都设成开机自启否则每次重启机器都要手动拉一遍服务外网访问会断。Windows 下可以用任务计划程序触发条件选「登录时」操作指向你的run_server.py和映射客户端可执行文件。这样机器一开机整条链路自动就绪。
阅读完成 · 觉得有帮助?