项目简介
这是一个基于模型上下文协议 (MCP) 构建的服务器应用。它允许大模型(LLM)或其他支持 MCP 的客户端通过调用标准接口,自动化地将生成的文章发布到知乎平台。核心功能是将知乎的网页发布流程封装成一个可被大模型调用的“工具”。
主要功能点
- 发布文章到知乎: 核心功能是将指定的标题、内容、可选的封面图片和话题发布为一篇知乎文章。
- 支持图片上传: 允许在发布文章时上传本地图片作为封面。
- 自动化操作: 利用自动化技术(如 Selenium)模拟浏览器操作,实现登录和发布过程。
- MCP 工具接口: 将发布功能封装为标准的 MCP 工具,方便大模型识别和调用。
安装步骤
- 克隆仓库: 使用 Git 将项目代码下载到本地。
git clone https://github.com/Victorzwx/zh_mcp_server.git # 注意:根据README的实际仓库地址可能是 MCP_Server_ZhiHu,请以实际能克隆成功的为准 # git clone https://github.com/Victorzwx/MCP_Server_ZhiHu.git - 安装依赖: 进入项目目录,安装所需的 Python 库。
cd zh_mcp_server # 或你的项目目录名 pip install -r requirements.txt - 安装 ChromeDriver: 本项目依赖于 Google Chrome 浏览器及其配套的 ChromeDriver。推荐使用 'webdriver-manager' 自动安装适配你浏览器版本的 ChromeDriver。或者可以尝试运行 'python setup_environment.py'。如果自动安装失败,需要根据你安装的 Chrome 浏览器版本手动下载对应的 ChromeDriver 并确保其在系统 PATH 中。
服务器配置
MCP 服务器需要由支持 MCP 的客户端来启动和管理。通常,这通过在客户端的配置文件(通常是 JSON 格式)中指定服务器的启动命令来实现。对于此知乎 MCP 服务器,客户端需要配置如下:
- 服务器名称 (Server Name): 在代码中初始化 MCP 服务器时指定了名称,客户端通过此名称引用服务器。
- 启动命令 (Command): 运行此服务器的 shell 命令。
- 参数 (Args): 传递给启动命令的参数。
以下是一个可能的客户端配置片段示例(请根据你的 MCP 客户端的具体格式调整):
{ // ... 其他配置 ... "mcpServers": { "zh": { // MCP 服务器名称,对应代码中的 FastMCP("zh") "command": "python", "args": [ "-m", "MCP_Server_ZhiHu" // 根据实际包名填写 ], "env": { "PYTHONIOENCODING": "utf-8" // 可选:设置环境变量确保编码正确 } } } // ... 其他配置 ... }
- '"zh"': 这是在此 MCP 服务器代码中定义的服务器名称。客户端会使用这个名称来与之通信。
- '"command": "python"': 指定执行命令是 Python 解释器。
- '"args": ["-m", "MCP_Server_ZhiHu"]': 指定以模块方式运行 'MCP_Server_ZhiHu' 包(即执行 'MCP_Server_ZhiHu/main.py',它会启动 'server.py' 中的主函数)。请确保 'MCP_Server_ZhiHu' 是你克隆的项目文件夹名或正确的 Python 包名。
- '"env": {"PYTHONIOENCODING": "utf-8"}': 可选,用于确保标准 I/O 的编码为 UTF-8,避免中文乱码问题。
基本使用方法
- 登录知乎: 在首次运行服务器之前(或 cookies 失效后),你需要运行一次登录脚本来保存知乎的登录 cookies。这需要手动交互。
- 打开终端,进入项目目录。
- 运行命令 'python -m MCP_Server_ZhiHu.login' (请根据你的项目目录名替换 'MCP_Server_ZhiHu')。
- 脚本会打开一个浏览器窗口访问知乎登录页。使用手机号获取验证码。
- 关键步骤: 将手机收到的验证码输入到运行 'python -m MCP_Server_ZhiHu.login' 的那个终端窗口中,然后按回车。
- 脚本会自动完成登录并将 cookies 保存到本地文件供后续使用。
- 启动MCP服务器: 配置好你的 MCP 客户端,让其根据上述配置启动这个服务器作为其子进程。一旦服务器启动,它就会监听标准输入,等待来自客户端的 MCP JSON-RPC 请求。
- 大模型调用: 通过你的 MCP 客户端配置和接口,引导大模型调用名为 'create_atticle' 的工具,并提供 'title', 'content', 'images' (可选), 'topic' (可选) 等参数。服务器会接收到请求,调用内部逻辑通过自动化浏览器将内容发布到知乎,并将结果(成功或失败信息)通过 MCP 响应返回给大模型。
信息
分类
通信与社交