WOS & CNKI MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WOS & CNKI MCP ServerSearch Web of Science for recent papers on CRISPR gene editing"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WOS & CNKI MCP Server (Pure Go Version)
基于 Go 语言的学术文献 MCP (Model Context Protocol) 服务端,支持 Web of Science (WoS) 与 CNKI (中国知网) 文献检索、摘要获取、PDF 下载后立即阅读、指定本地路径 PDF 读取与按页、按字符连续阅读全文。PDF 解析使用纯 Go 库,无需 Python 或外部 PDF 工具。
🌟 核心特性
🚀 100% 纯 Go 实现:无需 Python 运行时或复杂第三方环境,单二进制文件开箱即用,资源占用低、启动极速。
🔍 CNKI (中国知网) 全套工具链:
机构 SSO 纯协议认证:自动完成 CAS + Shibboleth 统一认证并提取
LID与全域凭证,无需手动抓包 Cookie。免人机验证获取摘要:智能识别风控,文章详情页直接放行,内置请求限流与 Session 保活机制。
知网文献 PDF 全自动下载:逆向重定向与全域 Cookie 保活,支持一键按文章标题、关键词或 URL 下载完整 PDF。
📁 安全沙盒与文献管理:
沙盒隔离机制:自动将文献归档在
download/目录下,严格防范路径穿越。多级分类目录:支持按时间或主题自定义子文件夹归档,如
topic/subtopic。分页全文阅读:使用 PDF 对象解析和 Unicode 字体映射,返回物理页码、文本覆盖范围、未提取页面和续读参数。
指定路径读取:支持 Windows / Linux / macOS 上的 PDF 绝对路径、
file://URI,以及下载目录内的相对路径。连续阅读:默认每次返回 20000 个 Unicode 字符,超出后提供
next_call;复用已解析文本,避免每次续读重新解析文档。
📖 面向 AI 的全文工作流:MCP 初始化指引、工具描述、检索结果和下载结果均明确区分摘要与全文,引导 AI 筛选论文后主动下载、连续阅读,再完成研究或综述。
🌐 Web of Science (WoS) 检索:
核心合集文献搜索、结构化元数据提取、国际标准引文生成与 Unpaywall Open Access 支持。
🔌 双传输协议支持:
支持 SSE (HTTP) 与 stdio 双模式,完美兼容 Claude Desktop、Cursor、Antigravity IDE、Cherry Studio 等各类 MCP 客户端。
Related MCP server: scholar-mcp
🛠️ MCP 工具清单
工具名称 | 功能描述 | 主要参数 |
| 下载知网 PDF,默认立即返回正文分段和续读参数 |
|
| 查看 |
|
| 读取本地 PDF,或沙盒内 TXT / JSON / Markdown,支持连续分段 |
|
| 直接读取指定路径 PDF,无需先下载或搬移文件 |
|
| 检索中国知网中文文献,返回题录/摘要及全文下载建议 |
|
| 获取知网论文详情(摘要、作者、关键词等) |
|
| 检索 Web of Science 国际核心数据库文献 |
|
| 获取指定 WoS 文献的完整元数据 |
|
| 生成规范的学术引用字符串 |
|
| 统一下载并开始阅读,支持 DOI / WoS ID / 知网标题或 URL / PDF 直链 |
|
全文阅读示例
读取指定位置的 PDF(read_pdf 或 read_paper_content):
{"file_path": "D:/文献/论文.pdf"}同样支持 file:///D:/文献/论文.pdf、/home/user/papers/paper.pdf、~/papers/paper.pdf。路径指 MCP 服务器所在机器;远程 SSE 服务不能直接读取客户端电脑的硬盘。相对路径(如 topic/paper.pdf)始终以 download_path 为根目录。
只读某个页码范围,或控制每次返回的字符数:
{"file_path": "D:/文献/论文.pdf", "start_page": 3, "end_page": 8, "max_chars": 12000}start_page / end_page 是从 1 开始的 PDF 物理页码,结束页包含在内。省略它们时选择整篇文献。下载工具默认 extract_text=true,同样自动返回首段正文;只有单纯存档时才设为 false。
返回值包含:
字段 | 含义 |
| 本次返回的正文,包含 |
| 所选页范围的总字符数 / 本次返回字符数 |
| 在固定页范围内的 Unicode 字符偏移,从 0 开始 |
| 是否还有正文,以及可直接执行的下一次工具调用 |
| 所选页范围是否覆盖整个文档 |
| 本次响应是否包含所有页面的全部已提取文本,不能把最后一段误认为全文 |
| 是否所有页面均提取出文本,以及未提取出文本的页码 |
AI 的推荐流程:检索 → 筛选相关论文 → 下载并读取 → 按 next_call 逐段续读到 has_more=false → 带页码给出分析。仅要求题录、引用或摘要时无需下载所有结果。MCP 会提供明确指引和后续调用,但具体是否执行仍由 AI 客户端决定。
PDF 阅读只提取文本层,暂不提供 OCR 或图像阅读。扫描页、纯图页、空白页会明确列出;全部没有文本时工具返回错误及诊断。图表、公式和多栏版式需要额外核对,不能将文本提取等同于完整视觉阅读。单个文件上限 100 MiB,PDF 上限 2000 页、解码文本上限 32 MiB,单次最多返回 100000 字符。CAJ 需要先转换为 PDF。
下载会校验 HTTP 状态、PDF 文件头和结束标记;失败时清理临时文件,不会把登录网页保存为“成功下载的 PDF”。同名文献使用独立文件名。开放获取会尝试多个 PDF 候选链接。
🚀 快速开始
1. 编译构建
使用 wos_mcp_go/go.mod 声明的 Go 版本(当前为 Go 1.26.5):
cd wos_mcp_go
go build -o wos_mcp_go.exe .2. 配置文件
在 wos_mcp_go.exe 同级目录下创建 config.json(可参考 config.example.json):
{
"username": "您的机构账号",
"password": "您的密码",
"port": 5000,
"download_path": "download"
}💡 提示:也可直接使用环境变量注入账号,无需将密码保存在配置文件中:
WOS_USERNAME=your_username
WOS_PASSWORD=your_passwordDOI / WoS 的开放获取下载还需在配置中填写
unpaywall_email,或设置环境变量UNPAYWALL_EMAIL为自己的有效联系邮箱。知网下载、PDF 直链下载和本地 PDF 阅读不需要此项;本地阅读也不需要机构账号。
3. 运行服务
# Windows
.\wos_mcp_go.exe
# Linux / macOS
./wos_mcp_go启动后:
SSE 端点:
http://127.0.0.1:5000/ssestdio 模式:同时在标准输入输出监听 MCP 协议请求。
💻 接入 MCP 客户端
1. Claude Desktop
编辑配置文件 %APPDATA%\Claude\claude_desktop_config.json (Windows) 或 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"academic-search": {
"command": "C:\\path\\to\\wos_mcp_go\\wos_mcp_go.exe",
"args": []
}
}
}2. Cursor / Antigravity IDE / 其它 SSE 客户端
直接添加 SSE 类型 MCP Server:
URL:
http://127.0.0.1:5000/sse
📋 配置参数说明
字段 | 类型 | 说明 |
| string | 机构 CAS 统一认证账号 |
| string | 机构 CAS 密码 |
| number | SSE 服务监听端口(默认 |
| boolean | 为 |
| string | 文献下载沙盒根目录(默认 |
| string[] | 可读取的沙盒外 PDF 目录列表。默认空列表且 |
| string | Unpaywall 联系邮箱;环境变量 |
| object | 运行过程中自动维护与刷新的会话 Cookie 缓存,无需手动填写 |
例如将外部阅读限制在两个文献目录:
{"local_pdf_roots": ["D:/文献", "C:/Users/yourname/Documents/Papers"]}沙盒外只开放 PDF 的只读访问,下载仍写入沙盒。会话刷新会保留上述配置。更新二进制后,请重启 MCP 并在客户端重新连接,刷新工具列表与初始化指引。
开发验证
cd wos_mcp_go
go test ./...
go vet ./...
go build -o wos_mcp_go.exe .自动化测试覆盖中文字体映射、多页分段续读、指定路径、阅读覆盖状态、损坏 PDF、路径边界、下载响应校验、开放获取备用链接,以及 MCP 初始化/工具发现/调用。测试使用本地 PDF 和模拟 HTTP,不依赖机构账号或真实知网/WoS 网络。
📄 开源许可
本项目遵循 MIT 开源许可证。
This server cannot be deployed
Maintenance
Related MCP Connectors
Academic literature search, retrieval, and private library management on top of OpenAlex.
Multi-engine scholarly research server for search, traversal, full text, and reading lists.
Federated search of books and papers, BibTeX/RIS citations, open-access retrieval and reading.
Research paper search with real citations and reference formatting for AI assistants
Related MCP Servers
- AlicenseAqualityDmaintenanceUnified academic search MCP server that searches open literature (arXiv, bioRxiv, medRxiv, PMC), CNKI, and Web of Science, with browser-backed authentication, local paper library, and export to multiple formats.212MIT
- AlicenseAqualityBmaintenanceMulti-source academic paper search, citation graph exploration, and PDF download as an MCP server, designed for LLM agents doing research.6249 PyPI3Apache 2.0
- AlicenseAqualityDmaintenanceMCP server enabling AI agents to search and retrieve scientific papers, citations, and author profiles from Crossref, OpenAlex, and Semantic Scholar with no API keys required.519 PyPI3MIT
- AlicenseAqualityBmaintenanceUnifies academic literature retrieval from multiple sources like Scopus, ArXiv, PubMed, and Google Scholar into a single standardized API for LLM agents.2911AGPL 3.0