项目简介

这是一个基于模型上下文协议 (MCP) 构建的服务器应用。它允许大模型(LLM)或其他支持 MCP 的客户端通过调用标准接口,自动化地将生成的文章发布到知乎平台。核心功能是将知乎的网页发布流程封装成一个可被大模型调用的“工具”。

主要功能点

  • 发布文章到知乎: 核心功能是将指定的标题、内容、可选的封面图片和话题发布为一篇知乎文章。
  • 支持图片上传: 允许在发布文章时上传本地图片作为封面。
  • 自动化操作: 利用自动化技术(如 Selenium)模拟浏览器操作,实现登录和发布过程。
  • MCP 工具接口: 将发布功能封装为标准的 MCP 工具,方便大模型识别和调用。

安装步骤

  1. 克隆仓库: 使用 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
  2. 安装依赖: 进入项目目录,安装所需的 Python 库。
    cd zh_mcp_server # 或你的项目目录名
    pip install -r requirements.txt
  3. 安装 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,避免中文乱码问题。

基本使用方法

  1. 登录知乎: 在首次运行服务器之前(或 cookies 失效后),你需要运行一次登录脚本来保存知乎的登录 cookies。这需要手动交互。
    • 打开终端,进入项目目录。
    • 运行命令 'python -m MCP_Server_ZhiHu.login' (请根据你的项目目录名替换 'MCP_Server_ZhiHu')。
    • 脚本会打开一个浏览器窗口访问知乎登录页。使用手机号获取验证码。
    • 关键步骤: 将手机收到的验证码输入到运行 'python -m MCP_Server_ZhiHu.login' 的那个终端窗口中,然后按回车。
    • 脚本会自动完成登录并将 cookies 保存到本地文件供后续使用。
  2. 启动MCP服务器: 配置好你的 MCP 客户端,让其根据上述配置启动这个服务器作为其子进程。一旦服务器启动,它就会监听标准输入,等待来自客户端的 MCP JSON-RPC 请求。
  3. 大模型调用: 通过你的 MCP 客户端配置和接口,引导大模型调用名为 'create_atticle' 的工具,并提供 'title', 'content', 'images' (可选), 'topic' (可选) 等参数。服务器会接收到请求,调用内部逻辑通过自动化浏览器将内容发布到知乎,并将结果(成功或失败信息)通过 MCP 响应返回给大模型。

信息

分类

通信与社交