SepineTam/cnki-mcp

An MCP server, CLI and Skills for reach CNKI.

Project Overview项目介绍

This is an MCP server built to access CNKI, China's largest academic literature database, and it is compatible with any MCP-supporting agent framework including DSH. It exposes core tools for searching CNKI literature, fetching full journal metadata by ISSN, looking up ISSNs via journal names, and reading basic article metadata. It also packages a public Python API that developers can install via pip and import to build custom literature automation workflows. The project is not officially affiliated with CNKI, is intended only for personal learning, and is released under the open-source GPL-3.0 license.

To get started with the server, first you need to install the uv dependency manager on your local machine. The first step after installation is to run uv run cnki-mcp init to complete institutional authentication via your organization's CNKI access, which will save your authentication profile for future use. You can also specify a custom profile name during initialization if you manage multiple accounts. Once initialized, you can start the server via the default HTTP transport on localhost port 7788 by running just uv run cnki-mcp, then connect the server to your preferred AI agent.

This tool is built for researchers who need to quickly search and aggregate academic literature from CNKI via their existing AI agent workflow, as well as Python developers building custom academic tools. If you request metadata for an unreleased journal issue, the server will return a clear IssueNotAvailable error instead of incomplete results. It does not support full-text download of CNKI articles, only provides access to article metadata and search results. Any unauthorized use of this tool is prohibited, and users bear full responsibility for any violations of CNKI's terms of service that occur while using this server.

这是一个用于访问中国知网(CNKI)的MCP服务器,支持DSH等各类兼容MCP协议的AI agent接入。它提供知网文献检索、期刊元数据获取、文章基础信息读取等核心能力,同时开放了Python API供开发者进行不同的二次开发或定制功能。项目遵循GPL-3.0开源协议,仅作为个人学习项目使用,不与CNKI官方存在从属关系。

普通用户完成初始化机构认证后,启动HTTP服务连接到自己常用的AI agent,就能用自然语言调用检索能力完成日常文献调研。开发者可以直接导入项目提供的Python包,调用封装好的检索接口编写自定义的自动化文献处理脚本。这个工具适合需要定期梳理特定领域学术进展的科研人员,以及开发学术文献工具的开发者使用。

使用本工具需要先在本地安装uv依赖,首次运行需要执行uv run cnki-mcp init完成认证,之后可通过uv run cnki-mcp启动默认本地HTTP服务。项目仅提供检索和文章元信息获取,不支持全文下载,未发行的刊期会返回错误提示。用户需要通过机构账号完成认证,所有使用风险由用户自行承担。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • 40 stars - an early-stage project星标 40,属于早期项目
  • No DSH plugin manifest detected - it may only carry the dsh-plugin topic, so the install method must be confirmed on the spot未检测到 DSH 插件清单:可能只是打了 dsh-plugin 话题,安装方式要现场确认
  • Not DSH-native: a multi-platform tool that may require Node / Electron or another runtime first非 DSH 原生,是多平台兼容工具:可能要先装 Node / Electron 等运行时
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:SepineTam/cnki-mcp

把 SepineTam/cnki-mcp 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

CNKI-MCP: An MCP server, CLI and Skills for reach CNKI.

PyPI version PyPI Downloads License

免责声明:该项目仅为个人学习项目,且仅供学习参考。 该项目不隶属任何公司、机构,与中国知网(下简称为知网或CNKI)无任何所属关系。 该项目不应用于非法手段,包括但不限于:批量访问知网进行搜索,以非正规途径获取知网论文,利用该项目进行违法违规的行为。 如有上述行为,本项目不构成任何因果利害关系,由使用者自行负责。最终解释权归本项目所有。

商标及非关联声明:项目所提及的“中国知网”“知网”“CNKI”等名称、商标及相关标识,其相关权利均归各自合法权利人所有。 本项目仅在客观说明所涉及的平台、适用对象或技术功能所必需的范围内引用相关名称,不将其作为本项目自身的品牌或来源标识,亦不表示或暗示本项目获得相关权利人的授权、认可、赞助或支持。 本项目为独立的非官方项目,与中国知网及其运营主体不存在隶属、代理或官方合作关系。 本项目的发布、分发及使用,不构成对上述第三方商标或标识的任何使用授权。 如相关权利人认为本项目存在侵犯其合法权益的情形,可向项目提交 Issue 并通过邮箱联系维护者,维护者将及时核实并依法处理。

快速开始

本项目提供了配套的 Skill,且同时支持 MCP,CLI,Python API 等多种使用方式,以便为研究者的 Agent 助理快速稳定地使用中国知网搜索论文查找论文。

如果你是人类研究者,将下面这句话发送给你的 Agent 即可:

帮我从 GitHub 上安装 SepineTam/cnki-mcp 这个项目的 skill,subagents 等,并通过命令行的形式初始化这个项目。
成功初始化后,去查看《世界经济》这本期刊的 ISSN 号,并告诉我这个期刊在 2025 年是否发表过任何和人才引进相关的文章。

如果你是 Agent,参考 CNKI-MCP 的 Agent 安装文档

首次初始化

首次使用时运行:

uv run cnki-mcp init

命令会询问 Profile 名称,直接回车使用 default。也可以直接指定名称:

uv run cnki-mcp init --profile school

请在打开的浏览器中完成学校或机构认证。初始化成功后,该 Profile 会成为默认 Profile,后续启动和检索无需重复指定。

推荐启动方式

推荐使用 HTTP。下面两条命令效果相同,默认监听 127.0.0.1:7788:

uv run cnki-mcp
uv run cnki-mcp serve --transport http --host 127.0.0.1 --port 7788

服务启动时会打开一个持久浏览器,并在服务进程退出时关闭。项目只提供知网检索和 文章信息读取,不提供全文下载。

按 ISSN 获取某一期的全部文章 metadata:

uv run cnki-mcp tool journal --issn 1002-9621 --year 2026 --vol 1

这里的 --vol 表示知网页面上的期号。返回结果会把真正的卷号 volume 和期号 issue 分开提供。尚未发行的年份或期号会返回 IssueNotAvailable。

通过期刊名称搜索 ISSN:

uv run cnki-mcp tool issn --journal "世界经济"

搜索会忽略期刊名中的空格和标点,并返回知网搜索到的全部候选期刊。期刊目录来自 知网期刊导航页。工具每次都会通过 ISSN 重新定位期刊并获取当次有效的页面地址, 不会保存其中会失效的 p 参数。

通过 Python 使用

该项目提供了 Python API 供学习参考:

# pip install cnki-mcp

from cnki_mcp import CnkiClient

with CnkiClient(profile="profile1") as client:
    results = client.search(
        "TI='生态' and KY='生态文明'",
        sort_by="date",
    )

文档

← 上一个 Prev dsh-opencode-palette 下一个 Next dsh-lark-link →