Skip to main content
Glama

zhihu-mcp

MCP for 知乎/zhihu.com。

让 AI Agent 能够搜索知乎内容、阅读问题和回答、分析评论区、追踪用户动态 — 通过标准 MCP 协议接入任何 AI 客户端。

项目简介

主要功能

按关键词搜索知乎,支持按相关性、时间、热度排序,可过滤内容类型(问题/回答/文章)。

基于知乎内部 API,比 DOM 抓取更稳定可靠。

获取知乎问题的完整信息:

  • 问题标题、描述、话题标签

  • 关注数、浏览数、回答数

  • Top 10 高赞回答列表(含作者、摘要、点赞数、链接)

获取指定回答的完整内容:

  • 作者名称和简介

  • 回答正文(图片替换为 [图片] 标记)

  • 点赞数、评论数

  • 发布/编辑时间

获取知乎专栏(zhuanlan.zhihu.com)文章全文,包括作者、点赞数、评论数。

获取回答或文章的评论列表,包括评论内容和作者。支持自定义加载数量。

获取知乎用户主页信息:昵称、简介、关注数、粉丝数、获赞数、回答数、文章数等。

实时抓取用户最近的活动(回答问题、发表文章、赞同内容等),自动存入本地 SQLite 数据库,支持历史查询。

风险说明

本项目使用 Playwright 驱动无头浏览器访问知乎,注入 stealth 反检测脚本。正常使用频率下(不频繁大量请求),风险较低。建议:

  • 使用已登录的 Cookie,避免频繁登录操作

  • 控制调用频率,避免短时间内大量请求

  • 本项目基于学习目的,禁止用于违法行为

Related MCP server: Stride28 Search MCP

1. 快速开始

1.1. 安装

需要 Python 3.10+mcp 包要求)。

# 克隆项目
git clone https://github.com/ay/zhihu-mcp.git
cd zhihu-mcp

# 创建虚拟环境并安装依赖
python3 -m venv venv
source venv/bin/activate   # Windows: venv\Scripts\activate
pip install -r requirements.txt

# 安装 Playwright 浏览器
playwright install chromium

知乎需要登录才能正常使用。将浏览器中的知乎 Cookie 导出为 cookies.json(Playwright 格式),放在项目根目录。

获取方式:

  1. 使用浏览器扩展(如 EditThisCookie、Cookie-Editor)导出

  2. 从其他知乎项目(如 zhihu_monitor)复制

  3. 确保包含 z_c0(认证 token)和 d_c0(设备 token)

1.3. 启动 MCP 服务

# 默认:无头模式
python3 mcp_server.py

# 如果需要看到浏览器界面(调试用)
HEADLESS=false python3 mcp_server.py

1.4. 验证

# 运行内置自测
python3 mcp_server.py --test

2. MCP 客户端接入

本服务使用 stdio 传输协议(标准输入/输出),兼容所有支持 stdio MCP 的客户端。

claude mcp add zhihu-mcp -- /path/to/zhihu-mcp/venv/bin/python3 /path/to/zhihu-mcp/mcp_server.py

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "zhihu-mcp": {
      "command": "/path/to/zhihu-mcp/venv/bin/python3",
      "args": ["/path/to/zhihu-mcp/mcp_server.py"],
      "env": {
        "HEADLESS": "true"
      }
    }
  }
}

在项目根目录创建 .cursor/mcp.json

{
  "mcpServers": {
    "zhihu-mcp": {
      "command": "/path/to/zhihu-mcp/venv/bin/python3",
      "args": ["/path/to/zhihu-mcp/mcp_server.py"],
      "env": {
        "HEADLESS": "true"
      }
    }
  }
}

在项目根目录创建 .vscode/mcp.json

{
  "servers": {
    "zhihu-mcp": {
      "command": "/path/to/zhihu-mcp/venv/bin/python3",
      "args": ["/path/to/zhihu-mcp/mcp_server.py"],
      "env": {
        "HEADLESS": "true"
      }
    }
  }
}
# 安装 MCPorter(如未安装)
npm i -g mcporter

# 添加 zhihu-mcp 到 MCPorter 配置
npx mcporter config add zhihu-mcp /path/to/zhihu-mcp/venv/bin/python3 /path/to/zhihu-mcp/mcp_server.py

# 验证
npx mcporter list zhihu-mcp

或直接编辑 MCPorter 配置文件(通常在 ~/.config/mcporter/config.json 或 OpenClaw 项目的 config/mcporter.json):

{
  "mcpServers": {
    "zhihu-mcp": {
      "command": "/path/to/zhihu-mcp/venv/bin/python3",
      "args": ["/path/to/zhihu-mcp/mcp_server.py"],
      "env": {
        "HEADLESS": "true",
        "TMPDIR": "/tmp"
      }
    }
  }
}

任何支持 stdio MCP 协议的客户端都可以接入。核心配置:

  • command: python3(或 venv 中的 python 路径)

  • args: ["/path/to/zhihu-mcp/mcp_server.py"]

  • transport: stdio

3. 可用 MCP 工具

连接成功后,可使用以下 12 个 MCP 工具:

内容搜索与浏览

工具

说明

关键参数

search_content

搜索知乎内容

keyword(必需), sort(relevance/newest/most_upvoted), content_type(all/question/article/answer), count

get_question_detail

获取问题详情 + Top 回答列表

question_id(必需)

get_answer_detail

获取回答完整内容

question_id(必需), answer_id(必需)

get_article_detail

获取专栏文章全文

article_id(必需)

get_comments

获取评论列表

url(必需,内容页完整 URL), count

用户相关

工具

说明

关键参数

user_profile

获取用户主页信息

token(必需,URL 中的用户标识,如 jiayaosu

get_activities

实时抓取用户动态(会启动浏览器)

user(必需), count

get_new_since

查询本地数据库中的历史动态(不爬取)

hours, user

get_db_stats

数据库统计信息

认证管理

工具

说明

关键参数

check_login_status

检查登录状态,返回用户名

cookie_status

Cookie 文件状态检查

delete_cookies

删除 Cookie 文件,重置登录

4. OpenClaw Skills

预置的高级技能,将多个 MCP 工具组合成完整的工作流:

Skill

说明

research-on-zhihu

知乎话题研究 — 搜索 + 阅读高赞回答 + 分析评论 → 输出研究报告

analyze-zhihu-question

问题深度分析 — 获取问题详情 + 逐个阅读回答 → 输出观点分布

analyze-zhihu-answer

回答深度分析 — 回答全文 + 评论区讨论 → 输出可信度评估

track-zhihu-user

用户追踪 — 资料 + 动态抓取 → 输出用户画像和活跃领域

使用示例

帮我研究一下知乎上关于"大模型Agent"的讨论
分析这个知乎问题:https://www.zhihu.com/question/19550225
看看知乎用户 jiayaosu 最近在做什么
帮我看看这个回答的评论区怎么说:https://www.zhihu.com/question/19550225/answer/1992353258262504861

5. 架构

┌─────────────┐     MCP/stdio      ┌──────────────┐    Playwright     ┌──────────────┐
│   AI Agent   │◄──────────────────►│  mcp_server  │◄────────────────►│   Chromium    │
│              │                    │              │   (headless)      │  + stealth    │
│ Claude Code  │                    │   12 tools   │                   └──────┬───────┘
│ Cursor       │                    └──────┬───────┘                          │
│ OpenClaw     │                           │                                  ▼
│ ...          │                    ┌──────┴───────┐                  ┌──────────────┐
└─────────────┘                    │   SQLite DB   │                  │  zhihu.com   │
                                   │  (活动历史)    │                  └──────────────┘
                                   └──────────────┘

工作原理:

  1. AI Agent 通过 MCP stdio 协议调用工具

  2. mcp_server.py 接收请求,驱动 Playwright 无头浏览器

  3. 浏览器注入 stealth 反检测脚本,访问知乎页面

  4. 搜索功能使用知乎内部 API(/api/v4/search_v3),更稳定

  5. 其他功能通过 DOM 提取页面数据

  6. 用户动态自动存入 SQLite,支持历史查询

6. 项目结构

zhihu-mcp/
├── mcp_server.py            # MCP 服务器入口(12 个工具定义)
├── zhihu_mcp/               # 核心包
│   ├── scraper.py           # 知乎页面抓取(DOM 提取 + 内部 API)
│   ├── config.py            # 配置管理
│   ├── storage.py           # SQLite 数据层
│   ├── errors.py            # 自定义异常
│   ├── browser/
│   │   ├── manager.py       # 浏览器生命周期管理
│   │   └── stealth.py       # 反检测 JS 脚本注入
│   ├── cookies/
│   │   └── manager.py       # Cookie 加载与持久化
│   └── backend/
│       └── pinchtab.py      # Pinchtab HTTP 后端(备用)
├── skills/                  # OpenClaw 高级技能
│   ├── research-on-zhihu/
│   ├── analyze-zhihu-question/
│   ├── analyze-zhihu-answer/
│   └── track-zhihu-user/
├── tests/                   # 单元测试
├── config.example.json      # 配置文件模板
├── requirements.txt         # Python 依赖
└── pyproject.toml           # 项目元数据与打包配置

7. 常见问题

Q: Cookie 过期了怎么办?

重新从浏览器导出 Cookie,替换 cookies.json。关键 cookie z_c0 通常有效期约 6 个月。

Q: 搜索结果为空?

搜索功能使用知乎内部 API,需要有效的登录 Cookie。请先用 check_login_status 确认登录状态。

Q: 浏览器启动失败?

确保已运行 playwright install chromium 安装浏览器。macOS 上如果遇到沙箱问题,设置环境变量 TMPDIR=/tmp

Q: 和 zhihu_monitor 项目的关系?

zhihu-mcp 是 zhihu_monitor 的升级版,增加了搜索、内容详情、评论、用户资料等功能,并以标准 MCP 协议提供服务。

技术栈

  • Python 3.10+

  • Playwright — 浏览器自动化 + stealth 反检测

  • FastMCP (mcp) — MCP 协议服务器框架

  • SQLite — 本地数据持久化

致谢

本项目的开发受到以下开源项目的启发:

  • xiaohongshu-mcp by @xpzouying — 小红书 MCP 服务器。本项目的架构设计、MCP 工具组织方式和 OpenClaw Skills 格式均参考了该项目。

  • zhihu_monitor by @shural — 知乎用户动态监控工具。本项目的知乎 stealth 反检测策略、DOM 选择器和 Cookie 管理逻辑源自该项目。

感谢这两个项目的作者和贡献者们的优秀工作。

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to search real content from Xiaohongshu and Zhihu, supporting keyword search, note details, and question retrieval.
    8
    4
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to directly operate Zhihu, including login, publishing articles and videos, searching content, getting recommendations, and commenting.
    6
    -
  • F
    license
    A
    quality
    B
    maintenance
    Read-focused MCP server for Zhihu, enabling retrieval of pins, articles, comments, and replies, with optional limited write tools for drafting and editing answers.
    10
    1
    -