cnki-deepsearch
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., "@cnki-deepsearchSearch for deep learning and get references, citations, and similar papers"
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 DeepSearch
知网深搜 — 一次搜索,七维数据。不只是摘要。
CNKI DeepSearch 是一个知网学术搜索的 MCP (Model Context Protocol) 工具。在原有 cnki-search-mcp 的基础上,通过拦截 CNKI 内部 REST API,一次页面访问即可获取论文的七个维度数据:摘要、关键词、参考文献、引证文献、相似论文、关键词权重、引用统计。
与原版的区别
维度 | 原版 cnki-search-mcp | CNKI DeepSearch |
搜索 + 摘要 | ✅ | ✅ |
下载 PDF | ✅ | ✅ |
参考文献列表 | ❌ | ✅ 含标题/作者/来源/年份/URL |
引证文献列表 | ❌ | ✅ 谁引用了这篇论文 |
共引 / 二级引用 | ❌ | ✅ 间接引用关系 |
相似论文推荐 | ❌ | ✅ CNKI 算法推荐 |
关键词权重 | ❌ | ✅ PUC 权重排序 |
知识图谱推演 | ❌ | ✅ 论文→引用→论文 多层链条 |
浏览器保活 | ❌ | ✅ 同 session 不重启 |
dual-mode | ❌ | ✅ basic(快) / full(全) |
Related MCP server: scholar-mcp
安装
pip install cnki-deepsearch详细配置见 MCP 设置说明. 首次使用需完成 CNKI 验证码,cookie 自动保存后续无需重复验证。
工具列表
cnki_search_with_abstracts(主力)
搜索 + 自动打开每篇论文获取详细信息
mode="full" (默认): 摘要 + 关键词 + 参考文献 + 引证文献 + 相似论文 + 关键词权重
mode="basic": 仅摘要 + 关键词(快,10篇约15秒)cnki_get_citations
获取单篇论文的引用网络:参考文献、引证文献、共引文献、二级引用cnki_search / cnki_professional_search
标准搜索 / 专业检索语法搜索cnki_get_article / cnki_download
获取单篇详情 / 下载 PDF使用示例
Full 模式搜索
用户: 搜索"流动穆斯林 教派"相关论文,max_results=3
Claude: [调用 cnki_search_with_abstracts(query="流动穆斯林 教派", max_results=3)]返回结果示例(单篇论文):
{
"title": "伊斯兰宗教传统的现代调适——以义乌穆斯林宗教实践为例",
"authors": ["马艳"],
"source": "北方民族大学学报(哲学社会科学版), 2012",
"abstract": "伊斯兰教的宗教革新是一个在内部...",
"keywords": ["流动穆斯林", "伊斯兰教本土化", "文化适应", "宗教革新"],
"_counts": {
"references": "6",
"citations": "1",
"co-references": "1725",
"second-references": "216"
},
"references": [
{
"title": "伊斯兰文化",
"authors": ["马明良"],
"source": "甘肃人民出版社",
"year": "2011",
"url": "https://kns.cnki.net/kcms2/article/abstract?v=..."
}
],
"citations": [
{
"title": "城市穆斯林流动女工群体研究",
"authors": ["马晓梅"],
"source": "宁夏大学",
"year": "2017",
"type": "[D]"
}
],
"similar_articles": [
{
"title": "从塞姆石堆到资源博弈——中国东南穆斯林...",
"source": "世界宗教研究",
"year": "2026"
}
],
"keyword_domains": [
{"keyword": "伊斯兰教", "weight": "19"},
{"keyword": "流动穆斯林人口", "weight": "15"},
{"keyword": "穆斯林", "weight": "13"}
]
}知识图谱链条推演
用户: 从马艳的论文出发,沿着引证文献链条往下挖三层
Claude:
马艳(2012) → 被引 ← 《城市穆斯林流动女工群体研究》(2017)
→ 参考文献 → 《伊斯兰教社会学》(2001, 被引661次)
→ 引证文献 → ...通过论文的 references 和 citations 字段,可以无限层地沿着引用关系遍历知识图谱。
技术架构
┌─────────────────────────────────────────┐
│ MCP Server │
│ server.py — 工具定义 + handler │
├─────────────────────────────────────────┤
│ Browser Automation │
│ browser.py — Playwright (Edge/Chromium) │
│ · 搜索导航 + 验证码处理 │
│ · 页面滚动触发懒加载 │
│ · 拦截 citation-api 响应 │
│ · 拦截 recommend/similar 响应 │
│ · 拦截 starter/domains 响应 │
│ · 浏览器单例 + 健康检查 + 自动重连 │
├─────────────────────────────────────────┤
│ Data Parsing │
│ parser.py — BeautifulSoup + JSON │
│ · parse_search_results() │
│ · parse_article_detail() │
│ · parse_citation_api_response() ← NEW │
│ · parse_similar_articles() ← NEW │
│ · parse_domains() ← NEW │
├─────────────────────────────────────────┤
│ Query Builder │
│ query_builder.py — CNKI 专业检索语法 │
└─────────────────────────────────────────┘核心原理:API 拦截
CNKI 论文详情页在滚动到底部后,会自动调用内部 REST API:
restapi/citation-api/v1/literature/references ← 参考文献
restapi/citation-api/v1/literature/citations ← 引证文献
restapi/citation-api/v1/literature/quotations/metrics ← 引用统计
openapi/usercenter-api/v1/recommend/similar/articles ← 相似论文
restapi/citation-api/v1/literature/starter/domains ← 关键词权重我们通过 Playwright 的 page.on("response") 拦截这些响应,直接解析 JSON,完全避开 CNKI 的 DOM 懒加载、JS 重置、CSS 隐藏等反爬机制。
浏览器保活
async def get_browser():
if _browser is not None:
if _browser._browser.is_connected(): # 健康检查
return _browser # 复用
_browser = None # 死了,重建
_browser = await create_browser() # 首次启动
return _browser同一 MCP session 内浏览器只启动一次,验证码只做一次。
探索历程
DOM 方案(失败):尝试点击引用 Tab、MutationObserver 监听 DOM 变化、150ms 轮询
div.list_item。CNKI 的懒加载 + 数据闪现 1 秒后 JS 重置,DOM 方案全军覆没。全量抓包对比(转折):写脚本 dump 页面加载时的全部 130 条 HTTP 响应,对比"滚动到底部"和"不滚动"的差异。发现不滚动时 citation-api 调用量为 0,滚动后暴增到 17 条。确认引用数据走的是内部 REST API 而非 DOM 渲染。
API 拦截方案(成功):不再碰 DOM,直接用
page.on("response")拦截 citation-api、recommend/similar、starter/domains 三组端点的 JSON 响应。一次页面访问 6.5 秒拿完全部七个维度的数据。同时发现页面默认只加载参考文献,引证文献需要点一下 Tab 触发,其他间接引用同理。链条推演验证:用搜到的论文 URL 直接跳转,获取其引用网络,再跳转,验证了"论文 A → 引证文献 → 论文 B → 参考文献 → 论文 C"的多层知识图谱遍历完全可行。
License
MIT
致谢
原版 cnki-search-mcp 提供了搜索和浏览器自动化的基础框架
CNKI(中国知网)提供了丰富的中文学术资源
Available Tools
16 toolscnki_co_clickA
在协作浏览器中点击目标。target 支持三种写法:
可见文本(默认):如"南传佛教"(点中文本所在元素/链接)
row:N:搜索结果列表第 N 条(N 从 1 起,自动点标题链接)
css:选择器:任意 CSS 选择器
注意:点击会真实发生在用户可见的窗口里,操作前应先告知用户。
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | 标签页序号;不传则操作用户当前页 | |
| target | Yes | 点击目标:可见文本 / row:N / css:选择器 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
明确告知点击会真实发生在用户可见窗口,并提醒操作前应告知用户,体现了对副作用和用户可见影响的披露。由于没有 annotations,描述承担了全部责任,虽未提及可能引发的后续变化(如跳转、提交),但已含关键行为提示。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
描述简洁紧凑,使用条理化的列表说明目标写法,没有冗余信息。必要注意事项以一句独立警示句呈现,整体结构清晰。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
对于完成点击操作,描述覆盖了目标指定的所有方式、参数默认行为以及用户可见性警示。由于没有输出 schema,无需额外说明返回值。信息完整,足以指导代理正确调用。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
两个参数均有描述,schema 覆盖 100%。描述额外详细解释了 target 的三种语法格式及其含义,并说明 index 的默认行为(不传则操作当前页),远超 schema 本身提供的信息。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
明确说明工具功能:在协作浏览器中点击目标(
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
提供了目标书写格式(文本、row:N、CSS)和操作前的注意事项,但没有明确提及何时应使用本工具而非其他协作浏览器操作工具(如切换、读取、输入等)。缺少显式的替代方案区分。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cnki_co_closeA
关闭协作窗口(只关用户页,浏览器进程与登录态保持)。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description transparently explains the side effects: only the user page is closed, while the browser process and login state remain intact. This is helpful and goes beyond basic tool purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct sentence containing only relevant information with no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple action and lack of parameters/output schema, the description provides sufficient context for correct use, including the key behavioral constraint about login state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the schema coverage is complete. No parameter descriptions are needed, so this dimension defaults to a high baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool closes the collaboration window and distinguishes it from other cnki_co_* operations by specifying the scope (user page only). Verb and resource are explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like cnki_co_open or cnki_co_switch, but the behavioral note about preserving browser process and login state provides some contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cnki_co_openA
打开协作浏览器窗口(可见、自动机构登录、常驻不关)。这是协作模式的起点:调用后浏览器窗口会在用户屏幕上出现,用户可以自由搜索/点击;AI 通过 cnki_co_read/cnki_co_click 等工具读取和操作同一个窗口。
【协作模式协议,必读】
回合制:AI 只在被调用时看/操作浏览器,回合之间窗口完全归用户。
AI 动手操作前,先口头告知用户(例如"我准备点开第3篇")。
标签页序号从左到右,从 0 开始(cnki_co_tabs 会返回标题确认)。
如果窗口已打开,重复调用只是返回当前状态,不会打断用户。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the window is visible, auto-login, persistent, and that repeated calls do not interrupt the user. It fully explains side effects and non-destructive behavior, even without annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is slightly verbose due to the protocol list, but each part is relevant and concise. The front-loaded main purpose is clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description fully covers what the tool does and its role in the collaboration workflow. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters are declared, so no parameter explanation is needed. The empty schema makes parameter semantics trivially complete, warranting the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool opens a collaborative browser window (visible, auto-login, persistent) and identifies it as the starting point for collaboration mode. It distinguishes from sibling tools like cnki_co_close and cnki_co_switch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies this tool should be used first in collaboration mode and includes protocol rules for interaction, but does not explicitly contrast with alternative tools or specify when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cnki_co_readA
读取协作浏览器中指定标签页(默认用户当前页)的内容,按页面类型结构化返回:
搜索结果页 → results[](题名/作者/来源/时间/类型/被引)
文章详情页 → detail(标题/作者/摘要/关键词/DOI)
其他页面 → text(正文文本)
读取是后台操作,不会切换用户的窗口焦点。
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | 标签页序号;不传则读用户当前页 | |
| max_chars | No | 文本型页面的最大字符数,默认6000 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is transparent about side effects: it states it is a read operation performed in the background and explicitly notes it will not switch the user's window focus. This assures safe usage with no destructive actions, and no annotations contradict this behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, using a bullet-like list to clearly present the three possible return types. It avoids unnecessary details and is easy for an agent to parse and act upon.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides sufficient context for typical usage, including return types, default tab behavior, and the background nature. It does not address edge cases like invalid tab indexes or unrecognized page types, but these are not critical for an agent's effective use of the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes both parameters (index with default current tab, max_chars with default 6000). The description does not add extra semantic information beyond what the schema provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: to read the content of a specified tab (default current tab) in a collaborative browser, and it explicitly lists the structured return formats for different page types. It distinguishes itself from sibling tools by highlighting it is a background operation that does not switch the user's focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a strong differentiator—it operates in the background without changing focus—and indicates it reads from a tab, which implicitly guides when to use it (e.g., to extract content while keeping the user's view unchanged). However, it does not explicitly contrast with sibling tools like cnki_co_switch or cnki_co_click.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cnki_co_statusA
查看协作模式当前状态:窗口是否打开、是否可见(有头)、当前所有标签页。适合在不确定窗口状态时先查一下。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description itself carries the burden. It uses '查看' (view), which indicates a read-only, non-mutating operation. However, it does not explicitly state that no side effects occur, so a small deduction is applied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, consisting of two short sentences that communicate the resource, action, and use case without any fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides sufficient context for a simple status tool: it names the resource (collaboration mode status), the attributes it checks (window open, visibility, tabs), and when to use it. Since there is no output schema, it does not need to detail the response format, but a brief mention of the output structure could make it more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is complete (no parameters to describe). According to the scoring guideline, 0 parameters warrants a baseline score of 4, and no additional parameter description is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to view the current status of collaboration mode, listing specific elements (window open, visibility, tabs). It distinguishes itself from sibling tools like cnki_co_switch or cnki_co_read, which are actions rather than status checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using this tool when unsure about the window state ('适合在不确定窗口状态时先查一下'), providing a clear use condition. It does not explicitly contrast with alternatives, but the condition is sufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cnki_co_switchA
把指定标签页切到前台(窗口焦点跟随)。
| Name | Required | Description | Default |
|---|---|---|---|
| index | Yes | 标签页序号(从 0 开始,见 cnki_co_tabs) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior itself. It states the main effect (foregrounding a tab) and adds 'window focus follows,' which is a behavioral detail. However, it does not mention edge cases like invalid index handling (though that may be considered minor for a simple action).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence, directly stating the action and the focus-following behavior. No unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and lack of output schema, the description covers the essential aspects: purpose and parameter meaning. It does not explain error behavior or return values, but these are not required for such a basic action and the description is sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'index' has a clear description: tab number starting from 0, with a reference to cnki_co_tabs for context. This fully explains the parameter's meaning and usage, exceeding basic schema coverage by providing cross-reference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to bring a specified tab to the foreground and follow window focus. It uses specific verb 'switch' and identifies the resource ('specified tab'), and it is distinct from sibling tools like cnki_co_tabs (list tabs) or cnki_co_open (open new tab).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. It implies usage when a tab needs focus, but lacks explicit guidance such as 'use when you need to activate a tab' or conditions that would make this tool preferable over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cnki_co_tabsA
列出协作浏览器当前所有标签页:序号(0 起,从左到右)、标题、网址、是否聚焦。用户说"看第N个标签页"时,先调用此工具确认序号对应哪一页。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only operation by saying 'list', but does not explicitly state that it has no side effects or does not modify state. However, the wording strongly suggests it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and free of unnecessary words. It efficiently conveys the purpose and the usage hint in two sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description sufficiently describes what the tool returns (index, title, URL, focus) and provides contextual guidance for when to use it, making it complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so a baseline score of 4 is applied. The description does not need to explain parameters, and it correctly omits them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all tabs in the collaborative browser, specifying the fields (index, title, URL, focus status). It distinguishes from sibling tools like switch, read, and click by focusing on listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly provides a usage scenario: when the user asks to 'see the Nth tab', call this tool first to confirm the index. This gives clear guidance on when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cnki_co_typeA
在协作浏览器的输入框中输入文字。into 默认知网一框式搜索框,可传任意 CSS 选择器指定其他输入框。
| Name | Required | Description | Default |
|---|---|---|---|
| into | No | 输入框:search(默认知网搜索框) 或 CSS 选择器 | search |
| text | Yes | 要输入的文字 | |
| index | No | 标签页序号;不传则操作用户当前页 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavior. It states the action (input text) but does not describe side effects, such as overwriting existing content, focusing the input, or triggering search. The absence of destructive hints makes it safe, but details are minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that covers the core action and the parameter defaults. No unnecessary words or redundancy, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple input action, the description provides sufficient context: what it does, default target, and custom selector option. It does not mention return values or validation, but given the simplicity and lack of output schema, this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions cover all three parameters (text, into, index) with no gaps. The description adds minimal extra value by explaining the default 'search' as the CNKI search box, which is already implied by the schema. Per guidelines, high schema coverage gives a baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: entering text into an input box of a collaborative browser. It specifies the resource (collaborative browser) and the action, but does not explicitly contrast with sibling tools like clicking or reading, though the action is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides the default target (CNKI search box) and allows custom selectors, but does not explicitly state when to use this tool versus others, such as for typing versus clicking. The usage context is implied by the action, but no explicit alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cnki_downloadA
下载知网论文PDF。输入文章详情页URL,自动点击下载按钮并保存到downloads/目录。需要机构登录权限。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 知网文章详情页URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It transparently describes the side effect of saving a file to the downloads/ directory and mentions the need for institutional login. It does not detail error handling or potential overwrites, but the core behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two short sentences within the tool description. It efficiently covers the input, action, output location, and a critical prerequisite without unnecessary wording. The structure is clean and direct.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple download tool, the description is complete: it states what it does (download PDF), how (auto-click button), where it saves (downloads/), and a key condition (institutional login). No additional information is necessary for an agent to decide when to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'url' has a clear description in the schema: '知网文章详情页URL' (CNKI article detail page URL). The tool description repeats this, reinforcing the expected value. Schema coverage is 100%, and the description adds no ambiguity, though it also offers no extra details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: downloading CNKI paper PDFs. It specifies the input (article detail page URL) and the action (auto-click download and save to downloads/). This distinguishes it from sibling tools like search or get_article, which have different functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates usage by specifying the required input and the prerequisite of institutional login. It does not explicitly mention alternatives, but the distinct purpose makes it clear when to use this tool over others. The login requirement provides important context for when it can be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cnki_get_articleA
获取知网文章详细信息。输入文章URL,返回标题、作者、摘要、关键词等。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 知网文章详情页URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does disclose the observable return contract ('返回标题、作者、摘要、关键词等'), which is the core behavior for a read-only retrieval tool. However, it omits failure behavior (malformed/unreachable URLs), whether CNKI subscription/login is a precondition, and any throttling or blocking considerations, all of which are material for this vendor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences front-load the purpose ('获取知网文章详细信息') and then pack input and output into a single follow-on sentence. There is no filler and no redundant restating of the tool name, so it is an efficient definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given it is a one-parameter tool with no output schema and no annotations, the description is mostly self-sufficient: it explains why the URL you need and what you should get back. The vague trailing '等' leaves the full returned field set to guesswork, and there's no hint of what happens when the URL is invalid, which prevents a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; the url parameter is already described in the schema as '知网文章详情页URL'. The description reinforces that the URL must be an article detail page rather than a search page, which adds marginal meaning, but with full schema coverage and one trivial parameter the baseline of 3 is exactly right.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource pair ('获取知网文章详细信息') and enumerates the expected outputs (标题、作者、摘要、关键词), so an agent understands exactly what the tool fetches. That the input is an article URL, not a query, distinguishes it from the cnki_search/cnki_professional_search siblings, but it earns a 4 rather than a 5 because it never explicitly differentiates itself from the similarly URL-driven sibling cnki_get_citations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidance is only implied: stating '输入文章URL' implies the tool is appropriate once a specific article URL is already in hand, typically after a search. However, there is no explicit when-to-use vs when-to-avoid framing and no mention of alternatives such as cnki_get_citations or cnki_download, so the agent has to infer routing from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cnki_get_citationsA
获取知网论文的引用网络信息(参考文献和引证文献列表)。输入文章详情页URL,返回该论文的参考文献、引证文献等引用数据。可选参数 tabs 指定要获取的引用类型。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 知网文章详情页URL | |
| tabs | No | 要获取的引用类型列表。可选值:references(参考文献)、citations(引证文献)、coreferences(共引文献)、secondreferences(二级参考文献)、secondcitations(二级引证文献)。默认:['references', 'citations'] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral details such as read-only nature, potential rate limits, authentication requirements, or side effects. Without this information, an agent cannot anticipate operational constraints or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences that efficiently state the purpose, input, output, and optional parameter. No unnecessary information is included, and the structure is clear and direct.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description provides sufficient context for basic use: it explains what the tool does and what inputs are needed. It does not describe the return format, but this is not strictly required for invoking the tool. Minor omission is the lack of detail on how the returned citation data is structured, but this is not critical for selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are thoroughly explained. The description defines 'url' as the article detail page URL and 'tabs' as the citation types, listing all possible values and the default. This adds meaning beyond the schema, which only repeats the same descriptions, by clarifying the default behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves citation network information for CNKI papers, specifically references and cited literature lists. It uses the verb '获取' (get) and specifies the resource (article detail page URL), making the purpose unambiguous and distinct from sibling tools that handle searches or article details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for citation data retrieval, and the input URL and optional tabs parameter provide clear guidance. It does not explicitly contrast with sibling tools like cnki_get_article, but the specialized focus on citations makes appropriate usage inferable. Lacks an explicit 'when not to use' statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cnki_professional_searchA
使用CNKI专业检索语法直接搜索。格式:<字段代码><匹配运算符><检索值>,用AND/OR/NOT连接。
关键规则(不同字段用不同操作符,写错会导致搜索挂起):
AU(作者) 用 = 精确匹配,如 AU = '钱伟长'
AF(作者单位) 用 % 模糊匹配,如 AF % '清华大学'
SU(主题) 用 %= 相关匹配,如 SU %= '人工智能'
TI(篇名) 用 % 模糊匹配
KY(关键词) 用 = 精确匹配
YE(年份) 用比较式,如 YE >= '2020' AND YE <= '2024' 注意:YE BETWEEN ('a', 'b') 会被知网风控拦截(返回“暂无数据”),请勿使用
常见组合示例:
作者+单位:AU = '马强' AND AF % '陕西师范大学'
主题+年份:SU %= '流动穆斯林' AND YE >= '2010' AND YE <= '2025'
关键词+作者:KY = '伊斯兰教' AND AU = '马强'
不确定操作符时先调用 cnki_syntax_guide 查看完整语法参考。
【使用须知,必读】
不要与其他 cnki 工具并行调用(串行锁,并行会超时)。
若返回"暂无数据,请稍后重试":风控拦截,等待 30-60 秒后重试,或简化表达式。
若返回"超时"错误:原样重试一次(服务会自动重建浏览器)。
年份条件用 YE >= '2020' AND YE <= '2024' 形式,绝不用 YE BETWEEN。
| Name | Required | Description | Default |
|---|---|---|---|
| expression | Yes | CNKI专业检索表达式。确保字段代码和匹配运算符正确配对。 | |
| max_results | No | 最大返回结果数,默认20 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and succeeds: it discloses that wrong operators may hang the search, that '暂无数据' can indicate risk-control blocking rather than no results, that timeouts can be retried with browser rebuild, and that parallel calls timeout.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well organized: syntax rules, examples, syntax-guide referral, and a numbered operational notice. The content is mostly high-value, though the year rule is emphasized more than once and the overall length is substantial.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a syntax-driven tool with no annotations and no output schema, the description is remarkably complete. It covers field operators, correct expression forms, common failure modes, retry behavior, concurrency constraints, and where to get more syntax help, which is everything an agent needs to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers both parameters, and the prose adds substantial value for expression: field-specific operators, quoting style, AND/OR/NOT composition, multi-field examples, and the YE BETWEEN warning. It adds nothing about max_results, but the default value and schema description are already sufficient there.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening line identifies the exact action: searching CNKI directly using CNKI professional search syntax. The field/operator rules and examples make the tool clearly distinct from sibling tools like cnki_search or cnki_search_with_abstracts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides strong operational guidance: consult cnki_syntax_guide when unsure about operators and do not call other cnki tools in parallel. However, it does not explicitly state when to prefer this tool over alternative sibling search tools, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cnki_searchA
搜索知网CNKI学术文献。支持自然语言描述搜索需求,自动构造专业检索表达式。适用于:主题搜索、关键词搜索、作者搜索、机构搜索、年份筛选等。
【使用须知,必读】
不要与其他 cnki 工具并行调用——浏览器操作是串行的,并行调用会互相等待直至超时。一次只发一个 cnki 请求,等它返回再发下一个。
年份范围请用 year_from/year_to 参数(内部自动使用正确语法),不要自己构造 YE BETWEEN 表达式——该写法会被知网风控拦截。
若返回"暂无数据,请稍后重试":是被知网风控临时拦截,等待 30-60 秒后重试一次,或去掉部分筛选条件再试。
若返回"超时"错误:直接原样重试一次即可(服务会自动重建浏览器连接)。
max_results 建议不超过 60(知网每页 20 条,翻页过多易触发风控)。
该 MCP 使用真实浏览器窗口操作知网,若页面跳转到验证页,需要用户人工完成验证后再重试。
| Name | Required | Description | Default |
|---|---|---|---|
| fund | No | 按基金筛选 | |
| field | No | 一框式检索的搜索字段。可选:SU(主题,默认)、TI(篇名)、KY(关键词)、AB(摘要)、FT(全文)、AU(作者)、AF(作者单位)、FU(基金)、LY(文献来源)、TKA(篇关摘) | |
| query | Yes | 搜索内容描述。可以是简单的关键词(如'人工智能'),也可以是带修饰的描述(如'作者:张三 关键词:机器学习 2020-2024')。支持的修饰字段:作者:、关键词:、单位:、基金:、来源:、篇名:、摘要: | |
| author | No | 按作者筛选 | |
| keyword | No | 按关键词筛选 | |
| year_to | No | 结束年份(含) | |
| year_from | No | 起始年份(含) | |
| max_results | No | 最大返回结果数,默认20 | |
| organization | No | 按作者单位筛选 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations are None, the description discloses critical behavioral aspects: it uses a real browser, may trigger verification pages requiring manual intervention, can hit rate limits (returning '暂无数据' or timing out), and describes retry strategies. This is highly transparent about the tool's runtime behavior and failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a concise opening sentence states the purpose, followed by a numbered list of usage notes. The notes are lengthy but essential due to the browser-based nature and rate-limiting caveats. Information is front-loaded and organized logically, with no redundant fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (real browser, potential verification, rate limits, timeout retries), the description covers all necessary operational context. It explains how to construct queries, what parameters to use, how to handle errors, and when to involve the user (verification). There is no output schema, so return values are not required, but all other relevant aspects are addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 9 parameters are described in the schema, with detailed explanations for 'query' including examples and supported modifier fields (e.g., 作者:, 关键词:). The descriptions clarify each filter (author, organization, fund, year) and the 'field' enum values. Schema coverage is 100%, and the description adds extra context for the query parameter, leaving no ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches CNKI academic literature with natural language support and lists applicable use cases (topic, keyword, author, institution, year). However, it does not explicitly distinguish from sibling search tools like cnki_professional_search or cnki_search_with_abstracts, so the purpose is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a detailed '使用须知' block with explicit guidance: avoid parallel calls, use year_from/year_to instead of manual YE BETWEEN expressions, handle rate limiting with retry, deal with verification pages, and cap max_results. This provides strong operational instructions and effectively tells when and how to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cnki_search_with_abstractsA
搜索知网CNKI学术文献并自动获取每篇论文的详细信息。与cnki_search使用相同的搜索参数,支持两种模式: full(默认): 摘要+关键词+参考文献+引证文献+相似论文+关键词权重,一次页面访问全部获取,10篇约40-60秒 basic: 仅摘要+关键词,速度快,10篇约15-20秒
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 数据模式:full(默认,含引用网络+相似论文+关键词权重) 或 basic(仅摘要关键词) | full |
| field | No | 搜索字段:SU主题(默认)、TI篇名、KY关键词等 | |
| query | Yes | 搜索关键词或自然语言描述 | |
| author | No | 按作者筛选 | |
| keyword | No | 按关键词筛选 | |
| year_to | No | 结束年份(含) | |
| year_from | No | 起始年份(含) | |
| max_results | No | 最大返回结果数,默认10 | |
| organization | No | 按作者单位筛选 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description transparently states that it automatically fetches details and provides time estimates (40-60s vs 15-20s for 10 results), which helps set expectations. It does not explicitly mention read-only behavior or side effects, but given the search context this is not a major gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured, using a short introductory sentence followed by a clear breakdown of modes, time costs, and shared parameters. No redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no output schema, the description sufficiently covers what the tool does, the optional modes, and performance expectations. It does not describe error handling or pagination, but these are not critical for basic usage and the description is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 9 parameters are described, with clear explanations for filters like author, keyword, year range, and organization. Default values for mode and max_results are provided. While the Chinese descriptions are concise, they add meaningful context beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool searches CNKI academic literature and automatically fetches detailed information for each paper, distinguishing itself from cnki_search by promising enhanced detail retrieval. The two modes (full and basic) further clarify the scope of what is returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use each mode based on the trade-off between detail (full) and speed (basic), and notes it shares parameters with cnki_search. However, it does not explicitly compare with cnki_professional_search or other siblings, leaving some ambiguity about when to prefer this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cnki_syntax_guideA
获取CNKI专业检索表达式的完整语法参考。在构造复杂检索表达式之前,先调用此工具获取字段代码、匹配运算符、逻辑运算符、比较运算符、位置描述符等完整说明。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool provides a syntax reference but does not describe the return format (text, structured data), any side effects (though it is inherently read-only), or limitations. The description is functionally transparent but lacks detail on what the agent will receive or any caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence that front-loads the purpose and follows with a usage trigger. Every clause earns its place, with no redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema reference tool, the description covers the essential points: what the tool returns and when to call it. It does not specify the output format, but for a syntax guide, the agent can reasonably infer it receives textual reference material. Minor gap: could mention the output is parseable or structured, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, so the baseline is 4. There is nothing for the description to add about parameters, and the description correctly focuses on the tool's purpose rather than parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (获取/get) and resource (CNKI专业检索表达式的完整语法参考), and explicitly lists the types of syntax it covers (field codes, operators, descriptors). It clearly distinguishes itself from sibling search and action tools by being a reference guide rather than a search operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit when-to-use instruction: '在构造复杂检索表达式之前' (before constructing complex search expressions), making the trigger condition clear. It does not explicitly mention when not to use it or name alternatives, but its role as a prerequisite for search expression construction is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
16 tool updates
v0.2.1- First observed
cnki_co_click - First observed
cnki_co_close - First observed
cnki_co_navigate - First observed
cnki_co_open - First observed
cnki_co_read - First observed
cnki_co_status - First observed
cnki_co_switch - First observed
cnki_co_tabs - First observed
cnki_co_type - First observed
cnki_download - First observed
cnki_get_article - First observed
cnki_get_citations - First observed
cnki_professional_search - First observed
cnki_search - First observed
cnki_search_with_abstracts - First observed
cnki_syntax_guide
TDQS
Scored across 16 tools
Most tools have clear boundaries: search variants (cnki_search, cnki_professional_search, cnki_search_with_abstracts) are differentiated by usage mode and output detail, while cnki_get_article and cnki_co_read both retrieve article info but from explicit URL vs. current browser tab. Minor overlap persists between search and professional search, but the descriptions and parameter differences prevent serious misselection.
All tools share the cnki_ prefix, and the verb_noun pattern is mostly followed (read, click, type, navigate, close, search, download, get_citations). A couple of noun-based names (cnki_co_tabs, cnki_syntax_guide) and the co_ subprefix for collaborative tools introduce slight inconsistency, but the grouping actually aids understanding.
At 16 tools, the server is substantial but well-scoped for a domain that spans both direct CNKI API-style operations and an interactive collaborative browser mode. No obvious redundancy, and each tool maps to a needed capability for searching, retrieving, downloading, or managing shared browser sessions.
The toolset covers the full research workflow: natural-language and professional search, detailed article retrieval, abstract enrichment, citation tab access, PDF download, and collaborative browsing. Minor gaps exist (e.g., no explicit bookmark/favorite or batch export tool), but these are not core to the apparent purpose of 'CNKI deep search' and can be worked around via the browser tools.
Maintenance
Related MCP Connectors
Academic research MCP server for paper search, citation checks, graphs, and deep research.
MCP server for web extraction and rendering via AceDataCloud WebExtrator
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
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
- AlicenseAqualityAmaintenanceMulti-source academic paper search, citation graph exploration, and PDF download as an MCP server, designed for LLM agents doing research.6118 PyPI3Apache 2.0
- AlicenseAqualityDmaintenanceAcademic paper search and retrieval MCP server integrating multiple scholarly platforms into a unified interface. Supports search, fetch, trend analysis, and literature review workflows.819 npm3MIT
- AlicenseNot gradedqualityCmaintenanceSERP-free scholarly search MCP server that queries academic sources like arXiv, Semantic Scholar, and conference proceedings using official APIs and reverse-engineered endpoints, with no API keys required. It supports unified conference search and returns normalized paper metadata.3MIT