CNKI Scholar
Click on "Install 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., "@CNKI Scholar帮我查知网上关于视障人群街道无障碍环境评价的硕博论文,按相关度排序"
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.
CNKI Scholar for ChatGPT / Codex
把开源的 ExquisiteCore/CNKI-search 改装成一个面向 ChatGPT / Codex 的 只读 Remote MCP + portable plugin + literature-search skill。
目标很明确:让模型真正查询 CNKI 文献元数据,而不是把普通网页搜索误当成“查过知网”。这个项目用于文献发现、撞题检查、硕博论文检索、摘要/关键词读取和参考文献追踪;它不下载收费全文、不绕过机构权限,也不破解验证码。
独立性说明: CNKI Scholar 是一个独立的开源适配项目,不是 CNKI 官方产品,也不代表 CNKI 背书。
现在包含什么
cnki-mcp/
├── plugin.json # 本地/开发 portable plugin manifest
├── mcp.json # 本地 MCP 配置
├── plugin.template.json # 生产 URL 模板
├── mcp.template.json # 生产 MCP URL 模板
├── skills/
│ └── cnki-literature-search/
│ └── SKILL.md # CNKI 文献检索与撞题判断工作流
├── cnki_chatgpt/
│ ├── server.py # Remote MCP + public policy/domain routes
│ ├── runner.py # 参数校验与 cnki CLI 调用
│ ├── config.py # 环境变量配置
│ └── policy.py # Privacy / Terms / Support 页面
├── submission/ # OpenAI 公共发布准备材料
│ ├── LISTING.md
│ ├── STARTER_PROMPTS.md
│ ├── TEST_CASES.md # 正好 5 个 positive + 3 个 negative
│ ├── ANNOTATIONS.md
│ ├── DATA_FLOW.md
│ ├── AUTH.md
│ ├── RELEASE_NOTES.md
│ └── REVIEW_CHECKLIST.md
├── scripts/configure_plugin.py # 用真实 HTTPS 域名生成生产插件包
├── deploy/ # 反代/部署说明
├── Dockerfile
└── docker-compose.ymlRelated MCP server: HUST CNKI Research MCP
MCP 工具
工具 | 能力 | 安全边界 |
| 主题/关键词/篇名/作者/摘要/全文索引/DOI;年份与文献类型过滤;相关度/时间/被引/下载排序 | 只读;单次结果数有上限 |
| 标题、作者、机构、摘要、关键词、DOI、来源、基金、被引/下载等元数据;可选参考文献 | 只接受 |
| 获取 CNKI 论文参考文献列表 | 只接受 |
三个工具都声明:readOnlyHint=true、destructiveHint=false、idempotentHint=true、openWorldHint=true。
Skill 做了什么
skills/cnki-literature-search/SKILL.md 专门解决“这个题到底有没有人写过”这一类问题。它要求模型:
先做精确篇名检索,再做主题/关键词扩展;
对创新性判断同时考虑期刊、硕士、博士论文;
分开看“被引最高”和“最新发表”;
结果太少时一次只放宽一个检索维度;
把重合拆成“标题重合 / 对象重合 / 方法重合 / 贡献重合”;
绝不把一次零结果当成“没人研究过”的证明;
只使用工具实际返回的题名、作者、年份、摘要等元数据,不编造。
例如:
帮我判断《基于视障人群需求的生活性街道无障碍环境评价与优化》
这个题目是否已经有人做过。先查精确篇名,再扩大到主题和关键词;
期刊、硕士和博士都查,不要因为一次零结果就说没人做。本地运行
docker compose up --build然后:
curl http://127.0.0.1:8000/health默认 MCP endpoint:
http://127.0.0.1:8000/mcp开发版根目录的 mcp.json 故意指向这个 localhost 地址。
生产部署
ChatGPT 公共插件需要一个稳定的公网 HTTPS MCP endpoint。因此生产环境先准备一个域名,比如:
https://cnki-scholar.example.com环境变量至少设置:
PUBLIC_BASE_URL=https://cnki-scholar.example.com
MCP_ALLOWED_HOSTS=cnki-scholar.example.com,cnki-scholar.example.com:*
PUBLISHER_NAME=你的 OpenAI 已验证开发者或企业名称
SUPPORT_EMAIL=你的支持邮箱MCP endpoint 会是:
https://cnki-scholar.example.com/mcp同时公开:
/ 项目首页
/health 健康检查
/privacy 隐私政策
/terms 服务条款
/support 支持说明
/.well-known/openai-apps-challenge OpenAI 域名验证如果提交页面给出域名验证 token:
OPENAI_APPS_CHALLENGE=粘贴提交页面给你的原始token服务会原样返回该 token。
反向代理示例见 deploy/Caddyfile.example。
生成生产 portable plugin 包
不要把示例域名硬写进仓库。部署 HTTPS 后运行:
python scripts/configure_plugin.py \
--base-url https://cnki-scholar.example.com \
--publisher "你的已验证发布者名称"会生成:
dist-plugin/
├── plugin.json
├── mcp.json
└── skills/cnki-literature-search/SKILL.md这里的 mcp.json 才会指向真实的公网 HTTPS /mcp。
OpenAI 公共提交准备
submission/ 已经把主要材料拆好了:
公共 listing 文案;
starter prompts;
5 个 positive + 3 个 negative review test cases;
每个 MCP tool 的 annotation 解释;
anonymous read-only 的鉴权设计说明;
数据流/隐私边界;
release notes;
一份逐项 review checklist。
正式提交前仍然需要你自己完成几件不可代替的事情:
在 OpenAI Platform 使用真实的、已验证的个人或企业发布者身份;
有一个真正可访问的 HTTPS 域名;
提供你自己拥有版权的 logo/icon,不要拿 CNKI 官方 logo 冒充官方集成;
在提交 portal 里执行 Scan Tools;
真机跑一遍 5+3 review cases;
按 portal 要求选择发布地区并完成政策声明。
细节见 submission/REVIEW_CHECKLIST.md。
为什么当前版本不做 OAuth
这是一个公开文献元数据、只读的 v0.2.0:没有用户账户,没有用户专属数据库,没有写操作,也不接收 CNKI 账号、校园网密码或机构 cookie。因此它保持 anonymous read-only,而不是为了“看起来更正式”硬塞一个登录系统。
如果未来要做“每个用户绑定自己的机构 CNKI 权限、私有收藏、下载历史”等用户专属功能,再重新设计权限边界,并按当时的 MCP/OpenAI 要求走 OAuth 2.1。
数据与隐私
工具请求只把完成当前检索所需的数据发给上游 CNKI:搜索词、筛选参数,或一个 kns.cnki.net 论文 URL。
应用代码本身没有保存搜索词/结果的数据库。生产反向代理和云平台仍可能生成常规访问/错误日志,因此部署者应避免记录 request body/原始搜索词,尽量脱敏,并设置有限保留周期。更完整说明见 /privacy 和 submission/DATA_FLOW.md。
安全设计
详情/参考文献 URL 必须是
https://kns.cnki.net/...,避免 SSRF/任意 URL 抓取;MCP HTTP 层启用 DNS rebinding 防护;
空查询、非法字段/文献类型/排序方式直接拒绝;
年份范围和最大结果数强校验;
默认最大并发 2,避免对 CNKI 激进抓取;
上游 CAPTCHA/反爬触发时明确报错,绝不尝试绕过;
不提供 PDF/CAJ 下载和付费墙绕过;
Docker 构建固定
ExquisiteCore/CNKI-searchrevision,避免上游静默变更。
当前固定 revision:
f7f423c9962c2cfcde8b31086bdb3e1099c46888环境变量
变量 | 默认 | 用途 |
|
| 上游 CLI |
|
| 单次调用总超时 |
|
| 单次最大返回量 |
|
| 对 CNKI 最大并发 |
|
| 服务监听地址 |
|
| 服务端口 |
| localhost 集合 | DNS rebinding Host allowlist |
| localhost 集合 | 浏览器/Inspector Origin allowlist |
| 空 | 公网 HTTPS origin |
|
| 页面/部署标识 |
| 空 | 支持/隐私联系邮箱 |
| 空 | OpenAI 域名验证 token |
测试
适配层测试无需连接 CNKI:
python -m unittest discover -s tests -v另外建议部署后再做两类 live test:
1. 用 MCP Inspector / OpenAI Scan Tools 检查三项工具 schema 和 annotations
2. 实际跑 search -> detail -> references,确认部署网络可以访问 kns.cnki.net本项目不会伪造“联网测试通过”。如果构建环境无法访问 GitHub/CNKI,只能完成静态/适配层测试,真正 CNKI 联调必须在能联网的部署环境完成。
License / third-party
本适配层 MIT。上游 ExquisiteCore/CNKI-search 也是 MIT;详见 THIRD_PARTY_NOTICES.md。CNKI 内容、商标、服务条款与数据库权利归其相应权利人所有。
License
This project is released under the MIT License. Copyright (c) 2026 Chengxu Xie.
It uses the MIT-licensed open-source project ExquisiteCore/CNKI-search as an upstream command-line client. See THIRD_PARTY_NOTICES.md for attribution. This repository is an unofficial community project and is not affiliated with, endorsed by, or sponsored by CNKI.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Search peer-reviewed papers and research methodology guidance from your AI agent.
Federated search of books and papers, BibTeX/RIS citations, open-access retrieval and reading.
Search 340M+ academic papers — citation graphs, semantic similarity, and AI literature reviews.
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables AI agents to search and retrieve academic papers from China National Knowledge Infrastructure (CNKI), supporting various search types including subject, keyword, author, and DOI lookups.321-
- FlicenseAqualityCmaintenanceEnables AI agents to search, read, and cite Chinese academic papers from CNKI using HUST single sign-on, with support for full-text retrieval, BibTeX export, and PDF download.72-
- AlicenseAqualityCmaintenanceEnables AI assistants to search and retrieve paper information from CNKI (China National Knowledge Infrastructure), supporting 15 search types, pagination, sorting, and detailed metadata extraction.31MIT
- AlicenseNot gradedqualityAmaintenanceEnables academic literature collection and full-text downloading from multiple sources (CNKI, Elsevier, OpenAlex, etc.) via natural language commands.3MIT