cuc-literature-mcp
This server automates SCI literature searching, PDF retrieval, and Tencent Docs table maintenance for CUC, without exposing credentials.
Check WOS, IEEE, and Tencent Docs browser sessions, optionally opening a login window for the user to authenticate or solve captchas.
Refresh the Chinese Academy of Sciences journal partition map from a Tencent Docs source sheet and local overrides.
Create a recoverable search run with topics, institution, year range, target sheet, and PDF directory, and generate a WOS advanced query.
Execute WOS Core Collection searches, filter by year/institution/SCI-EXPANDED, and stop safely if more than 500 records are found.
Download authorized PDFs in priority order: IEEE formal PDF → publisher open PDF → preprint/author manuscript, validating HTTPS, file header, size, and SHA-256.
Incrementally sync results to a non-official Tencent Docs sheet, upload PDF attachments, sort rows, and preserve manual notes and existing attachments.
Retrieve run status including current stage, errors, pending user actions, Tencent target, and PDF directory without launching a browser or modifying files.
Retrieves and downloads full-text PDFs from IEEE Xplore through institutional access, with fallback to open access versions.
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., "@cuc-literature-mcp检索中国传媒大学2024年以来的无线通信SCI论文,下载PDF并同步到腾讯文档"
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.
CUC Literature MCP:中传 SCI 论文检索与腾讯论文表维护
一个运行在用户电脑上的 TypeScript STDIO MCP,配套可被 Codex 自动发现的 Skill。它使用独立、持久化的 Chrome 或 Edge 配置访问 Web of Science、IEEE/开放全文和腾讯文档,不调用 OpenAI API,也不会读取或返回账号密码和 Cookie。
当前版本:
0.2.0。除原有检索流程外,新增存量工作表审计、DOI核验、正式版PDF升级、10 MiB压缩、变更预览与指纹保护写回。WOS、出版社和腾讯文档均为网页自动化适配器;页面不确定时会停止并返回可恢复错误,不会绕过验证码、登录或付费限制。
目录
Related MCP server: academic-mcp
能做什么
在 WOS Core Collection 构造并执行高级检索;
默认检索中国传媒大学2024年至当前年份的 SCI-EXPANDED 论文;
围绕无线通信、通信导航融合、通信感知一体化扩展 RIS、语义通信、近场定位、卫星通信、SAGIN、毫米波、太赫兹、MIMO、NOMA、车联网、无人机通信、信道编码和6G等紧邻主题;
按 DOI → WOS号 → 标准化题名去重;
从腾讯正式工作表只读提取“期刊—2025中科院大类分区”映射;
按 IEEE 机构正式PDF → 出版商开放PDF → 预印本/作者公开稿的顺序尝试下载;
只保存 HTTPS、具有
%PDF文件头、大小合理并通过 SHA-256 校验的文件;增量同步到腾讯文档的非正式工作表,保护人工备注和已有附件;
按年份倒序,同年份按
1区 Top → 1区 → 2区 Top → 2区 → 3区 → 4区 → 待核验整行排序;把运行进度保存在本地,可在登录或验证码处理后用原
run_id继续;按腾讯表头动态定位现有论文、DOI和附件,兼容旧A—J与扩展A—L表;
通过Crossref及DOI解析器核验/补全DOI,仅接受题名、期刊、年份完全一致的记录;
从PDF正文核对题名、作者、期刊、DOI、出版社、中传单位和页数;
超过10 MiB时用Ghostscript生成保留原件的压缩副本,并在上传前重新核验;
维护写回先生成带工作表指纹的变更集,附件替换需要显式授权。
工作边界
本项目不会:
提供或共享中国传媒大学、WOS、IEEE、腾讯文档账号;
传输账号密码、Cookie 或浏览器配置;
绕过统一身份认证、验证码、机构权限或付费墙;
把未知中科院分区猜成“未收录”;
自动修改正式来源工作表“工作表1”;
授予论文 PDF 的再分发权。
每位使用者都必须拥有相应数据库和腾讯文档的合法访问权限。公开仓库不包含任何个人腾讯文档链接、浏览器登录态或已下载PDF。
让 Codex 指导安装
OpenAI 官方说明,Codex 会从仓库路径上的 .agents/skills 发现项目 Skill,本地 STDIO MCP 可以通过 codex mcp add 注册;ChatGPT 桌面应用、Codex CLI 和 IDE 扩展共享该配置:
把仓库交给 Codex 后,可以直接发送:
请先完整阅读仓库根目录的 AGENTS.md 和 README.md。
检查我的操作系统、Node.js、Codex 和浏览器环境,指导并执行本项目安装。
不要读取或复制 .runtime/chrome-profile,不要询问我的密码、Cookie或验证码。
安装前向我索取一个有编辑权限的腾讯表格URL;目标工作表使用“MCP测试”。
安装后执行 doctor,打开专用浏览器让我自行完成WOS、IEEE和腾讯文档登录,并告诉我如何开始第一次检索。Codex 应按照 AGENTS.md 执行。登录、验证码和腾讯文档授权必须由用户在可见浏览器中亲自完成。
Windows 快速安装
1. 前置条件
Windows 11,推荐;
ChatGPT Windows 桌面应用或 Codex CLI;
Node.js 20 或以上;
Google Chrome,或 Microsoft Edge;
Git,可选,也可以下载 ZIP。
可以在 PowerShell 检查:
node --version
npm --version
codex --version如果没有 Node.js:
winget install OpenJS.NodeJS.LTS如果没有 Git:
winget install Git.Git安装后重新打开 PowerShell。
2. 获取仓库
git clone https://github.com/SHENAO1/cuc-literature-mcp.git
cd cuc-literature-mcp也可以从 GitHub 的 Code → Download ZIP 下载并解压,然后在该目录打开 PowerShell。
3. 执行安装
把下面的示例链接替换成你有编辑权限的腾讯表格链接:
Set-ExecutionPolicy -Scope Process Bypass
./scripts/install.ps1 `
-TencentDocUrl "https://docs.qq.com/sheet/你的文档ID" `
-BrowserChannel chrome使用 Edge:
./scripts/install.ps1 `
-TencentDocUrl "https://docs.qq.com/sheet/你的文档ID" `
-BrowserChannel msedge安装脚本会:
用
npm ci安装锁定版本依赖;编译并运行完整测试;
把本机配置写到
.runtime/settings.json;使用
codex mcp add注册cuc-literature;执行安装诊断。
如果希望在其他项目目录也能用 $cuc-literature-search,增加:
-InstallGlobalSkill完整 Windows 说明见 docs/WINDOWS.md。
macOS 快速安装
git clone https://github.com/SHENAO1/cuc-literature-mcp.git
cd cuc-literature-mcp
chmod +x scripts/install.sh scripts/uninstall.sh
./scripts/install.sh \
--tencent-doc-url "https://docs.qq.com/sheet/你的文档ID" \
--browser-channel chrome可选的全局 Skill:
./scripts/install.sh \
--tencent-doc-url "https://docs.qq.com/sheet/你的文档ID" \
--install-global-skill完整说明见 docs/MACOS.md。Linux/WSL 可以构建和运行协议测试,但本项目依赖可见桌面浏览器,主要支持 Windows 原生和 macOS。
首次登录
安装后运行:
npm run login工具会启动独立浏览器配置目录:
.runtime/chrome-profile请在这个专用窗口中分别完成:
中国传媒大学统一身份认证;
WOS 机构访问;
IEEE Xplore 机构访问;
腾讯文档登录,并确认对目标文档有编辑和附件上传权限;
如果出现验证码,由用户自行完成。
完成后回到终端按回车,程序会重新检查会话。不要把日常 Chrome 的用户目录复制到 .runtime,也不要把 .runtime 分享给别人。
诊断当前会话:
npm run diagnose安装诊断:
npm run doctor完成安装或修改 MCP 配置后,重启 ChatGPT/Codex。
开始使用
在本仓库打开新的 Codex 会话,输入:
使用 $cuc-literature-search 检索中国传媒大学2024年以来无线通信、通信导航融合和通信感知一体化相关SCI论文,写入默认腾讯文档并下载PDF。如果安装了全局 Skill,也可以在其他项目中这样调用。
维护现有腾讯工作表时,推荐先生成预览,不立即写入:
使用 $cuc-literature-search 维护以下腾讯文档的“补充论文”工作表:
https://docs.qq.com/sheet/你的文档ID
审计所有论文的题目、作者、期刊、年份、DOI和PDF附件;
核验并补全高置信度DOI,检查附件是否为正式出版版;
下载可以合法获取的正式版PDF,超过10 MiB时压缩并重新核验。
先执行preview_updates并展示变更,不要立即写入腾讯文档。核对预览后,再发送:
继续原 run_id,应用刚才的 change_set_id。
允许上传新增附件,并允许用核验通过的正式出版PDF替换预印本附件。
应用后重新审计,确认没有错行、重复附件或未保存内容。download_fulltext 支持三种范围:
missing_only:只处理缺失PDF;upgrade_to_formal:把预印本或作者稿升级为正式出版版;all:逐篇重新获取并核验正式版,适合全面复核。
正常编排顺序:
check_browser_session
→ refresh_partition_map
→ create_search_run
→ search_wos
→ download_fulltext
→ sync_results
→ get_run_status维护现有工作表:
create_maintenance_run
→ audit_sheet
→ resolve_dois
→ download_fulltext
→ preview_updates
→ apply_updates
→ audit_sheet出现 login_required、captcha_required 或 needs_user_action 时,不要新建运行。完成页面操作后让 Codex使用原 run_id 重试。详细示例见 docs/USAGE.md。
配置与输出
本机设置
安装器把非敏感设置写入:
.runtime/settings.json该文件不会提交到 Git。重新配置:
npm run configure -- \
--tencent-doc-url "https://docs.qq.com/sheet/你的文档ID" \
--browser-channel chrome \
--source-sheet "工作表1" \
--target-sheet "MCP测试" \
--pdf-directory "output/pdfs"PowerShell 可以把反斜杠续行改为一行,或使用反引号 `。
环境变量优先于 .runtime/settings.json:
变量 | 用途 | 默认值 |
| 项目绝对路径 | 当前工作目录 |
| 腾讯表格链接 | 必填,无公开默认值 |
| 分区映射来源表 |
|
| MCP写入目标表 |
|
| PDF目录 |
|
|
|
|
| WOS入口覆盖 | 中传机构入口 |
| IEEE入口覆盖 | 中传图书馆IEEE入口 |
| 测试用无头模式,设为 | 不启用 |
腾讯文档表头
新建检索表默认使用 A—J:
论文题目、作者、年份、期刊、SCI索引、WOS号、DOI、
中科院SCI分区(2025大类)、PDF附件、学校数据库下载核验/未下载原因MCP 生成的备注以
[MCP]开头;已有非
[MCP]人工备注不覆盖;已有 PDF 附件不重复上传;
已有表通过表头名称定位,不假设PDF或DOI列号;
检索排序使用表头后的首个空列作为临时列,完成后清空;维护模式原位更新、不排序;
目标工作表与来源工作表同名时程序拒绝运行。
本地文件
output/pdfs/<年份>/ 通过校验的PDF
.runtime/runs/<run-id>.json 可恢复进度
.runtime/chrome-profile/ 独立浏览器登录态
.runtime/partition-map.csv 本地分区映射
config/partition-overrides.csv 可提交的人工分区覆盖分区覆盖 CSV 格式:
journal,normalized_journal,partition,top,source
IEEE Access,ieee access,2区,false,overrideMCP 工具
工具 | 主要输入 | 作用 |
|
| 检查 WOS、IEEE、腾讯文档会话 |
| 文档URL、来源工作表 | 只读提取期刊分区并生成本地映射 |
| 主题、年份、单位、输出位置 | 创建 |
|
| 检索、完整记录导出、筛选和去重 |
| 文档URL、工作表、PDF目录 | 创建存量维护 |
|
| 动态读取表头、逐行问题和工作表指纹 |
|
| 核验已有DOI并补全高置信度缺失项 |
|
| 下载、升级并正文验证有权获取的PDF |
|
| 生成不修改云端的变更集 |
|
| 指纹一致时原位应用并复核 |
|
| 增量写表、上传附件、整行排序 |
|
| 查看阶段、错误、输出和待操作项 |
所有工具返回简短文本和结构化 JSON。命中超过500篇时会停止,避免不受控批量操作。
升级与卸载
升级
git pull
./scripts/install.ps1 -TencentDocUrl "https://docs.qq.com/sheet/你的文档ID"macOS:
git pull
./scripts/install.sh --tencent-doc-url "https://docs.qq.com/sheet/你的文档ID"安装器只替换同名 cuc-literature MCP,不修改其他 MCP 配置。
Windows 卸载
只移除 MCP 注册,保留登录态、运行记录和PDF:
./scripts/uninstall.ps1同时移除本地运行态和全局 Skill:
./scripts/uninstall.ps1 -RemoveRuntime -RemoveGlobalSkill只有明确希望删除下载的论文时才增加:
-RemoveDownloadedPdfsmacOS 对应参数见 ./scripts/uninstall.sh --help或 docs/MACOS.md。
常见问题
codex 命令不存在
先确认 ChatGPT/Codex 已安装并重启终端。也可以在 ChatGPT 桌面应用中打开 Settings → MCP servers → Add server,选择 STDIO,手动填写 Node 路径和 dist/server.js。详细步骤见 docs/TROUBLESHOOTING.md。
PowerShell 禁止运行脚本
只对当前窗口临时放行:
Set-ExecutionPolicy -Scope Process Bypass找不到 Chrome
安装 Chrome,或者重新执行安装并指定:
-BrowserChannel msedgeWOS 或 IEEE 一直要求登录
确认使用的是工具启动的专用浏览器窗口,且当前网络/账号具有中国传媒大学数据库权限。校外访问可能还需要学校允许的 VPN 或统一身份认证。
腾讯文档能打开但不能写入
确认文档不是只读共享,并拥有编辑、创建工作表和上传附件权限。第一版依赖腾讯表格网页UI;页面改版可能触发 TENCENT_UI_CHANGED 等错误。
为什么有论文没有PDF
常见原因包括机构无权限、无PDF入口、登录失效、验证码、HTML伪PDF、附件超过限制或只有不接受的版本。元数据仍可写入,J列会记录标准化原因。
更多错误码和恢复方式见 docs/TROUBLESHOOTING.md。
开发和测试
npm ci
npm run check
npm test
npm run validate:skill测试覆盖:
WOS查询、筛选、导出解析和500篇安全边界;
DOI/WOS/题名标准化及去重;
中科院分区解析和排序;
PDF文件头、大小和SHA-256校验;
人工备注保护;
WOS、IEEE、腾讯文档合成页面状态;
MCP工具枚举、Schema、错误结构和编译后STDIO握手。
GitHub Actions 在 Windows、macOS 和 Ubuntu 上执行构建与测试。真实机构登录后的端到端测试不会在公共 CI 中运行。
贡献前请阅读 CONTRIBUTING.md,安全问题请阅读 SECURITY.md。架构说明见 docs/ARCHITECTURE.md。
许可证
MIT。数据库、出版商页面、腾讯文档及下载论文分别受其自身条款和版权约束;MIT 许可证只覆盖本仓库代码和文档。
Available Tools
7 toolscheck_browser_session检查中传文献检索浏览器会话ARead-onlyIdempotent
在专用持久化Chrome中检查WOS、IEEE和腾讯文档登录状态。不会读取或返回密码、Cookie;open_login_window=true时保留可见窗口供用户登录或完成验证码。
| Name | Required | Description | Default |
|---|---|---|---|
| open_login_window | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| data | Yes | |
| summary | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and idempotentHint annotations, the description adds meaningful privacy behavior (does not read or return passwords or cookies) and explains the visible-window behavior when open_login_window is true. This provides context not captured by annotations alone.
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 two sentences, front-loaded with the core purpose, and includes only essential details (privacy guarantee and parameter behavior). No redundant or filler content.
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 read-only tool with one parameter and an output schema, the description covers purpose, parameter semantics, and safe behavior. It lacks explicit sibling differentiation, but the tool's simplicity and existing output schema keep the description reasonably 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?
Though the schema has no parameter description (0% coverage), the description explains that setting open_login_window=true keeps a visible window for login or CAPTCHA, implying the default false behavior. This adds semantic value to an otherwise bare boolean parameter.
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 checks login status for WOS, IEEE, and Tencent Docs in a persistent Chrome instance, using a specific verb and resource scope. It also explicitly distinguishes itself from search/download siblings by focusing on session verification rather than content retrieval.
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 verifying sessions before search or download, and explains the open_login_window parameter for interactive login/CAPTCHA. However, it does not explicitly say when to use this tool over alternatives (e.g., 'use before search_wos') or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_search_run创建中传SCI检索运行A
创建可恢复的本地运行记录并生成WOS高级检索式,不执行联网检索。目标工作表禁止使用正式“工作表1”。
| Name | Required | Description | Default |
|---|---|---|---|
| topics | No | ||
| end_year | No | ||
| start_year | No | ||
| institution | No | ||
| target_sheet | No | ||
| pdf_directory | No | ||
| tencent_doc_url | No | ||
| accept_preprints | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| data | Yes | |
| summary | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses 'recoverable' behavior, the absence of online retrieval, and a worksheet prohibition. However, with all annotations false, the description carries full burden, and it lacks details on side effects, state persistence, or interaction with other system components like browser sessions.
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 two sentences, direct, and without fluff. It front-loads the primary purpose and adds a key constraint, achieving high information density in minimal text.
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?
This is a complex 8-parameter tool with no schema descriptions and no annotations. The description covers only the high-level purpose and one parameter constraint, leaving major gaps in parameter understanding and usage context. It is far from adequate for an agent to invoke the tool 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?
Schema has 0% description coverage, and the description only addresses target_sheet (prohibiting 'Sheet1'). It does not explain topics, years, institution, pdf_directory, tencent_doc_url, or accept_preprints. The WOS query mention implies some parameters are search criteria, but explicit semantics are missing.
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 creates a recoverable local run record and generates a WOS advanced search query, and explicitly notes it does not perform online retrieval. This specific verb+resource description distinguishes it from sibling search_wos, which likely executes the actual search.
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 phrase '不执行联网检索' (does not perform online retrieval) implies use for preparation rather than actual searching, but no explicit when/when-not conditions or alternative tools are named. The target worksheet restriction is a constraint, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_fulltext下载可授权论文PDFAIdempotent
按IEEE机构正式PDF、出版商开放PDF、预印本/作者公开稿顺序下载;只保存HTTPS且通过PDF头、大小和SHA-256校验的文件,不绕过登录、验证码或付费限制。
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| data | Yes | |
| summary | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing the download source order, HTTPS-only requirement, file validation steps (PDF header, size, SHA-256), and the explicit boundary of not bypassing login/captcha/paywalls. These details align with the annotations (non-destructive, idempotent) and add significant behavioral context.
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, dense sentence that efficiently packs the action, source priority, validation rules, and ethical constraints without redundant words. It is front-loaded with the verb and resource, making it easy to parse.
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 thoroughly covers the tool's behavioral specifics, and the output schema presumably handles return values. However, it omits any explanation of the input parameter and the prerequisite context (e.g., needing a completed run), which leaves a minor gap for practical use.
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?
There is only one parameter, run_id, with 0% schema description coverage, and the tool description does not mention it at all. The agent gets no explanation of what run_id represents or how to obtain it, so the description fails to compensate for the missing schema documentation.
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 specifies the tool's function: downloading fulltext PDFs with a defined priority order (IEEE official, publisher open, preprint/author manuscript) and validation criteria. This specific verb+resource statement distinguishes it from sibling tools like search_wos or sync_results, making the purpose immediately clear.
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 the tool is for downloading fulltexts after a search run, but it does not explicitly state when to use it or mention alternatives. There is no when-not guidance or exclusion, leaving usage context mostly implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_run_status读取文献检索运行状态ARead-onlyIdempotent
读取本地run_id的阶段、待用户操作、错误、腾讯文档目标和PDF目录,不启动浏览器或修改文件。
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| data | Yes | |
| summary | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already assert readOnlyHint, idempotentHint, and destructiveHint, and the description adds non-obvious behavioral details: it does not start a browser and does not modify files, and it reads both local run state and Tencent doc/PDF paths. This goes beyond the structured annotations, though it does not discuss error behavior or return format (which is covered by an output schema).
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, front-loaded sentence that starts with the action and lists the exact data returned, followed by a decisive side-effect disclaimer. Every element earns its place, and there is no redundant phrasing.
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?
With one simple parameter, an output schema present, and annotations covering safety, the description fully explains what the tool does, what data it reads, and what side effects it avoids. This is complete for the tool's low complexity and leaves no major gap 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 input schema only defines run_id as a string with no description, and schema_description_coverage is 0%. The description compensates by clarifying that the run_id is a local identifier and enumerating what will be read from it, which gives the agent enough context to understand the parameter's role without over-specifying format.
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 the specific verb '读取' (read) and identifies the resource as the local run_id's status fields (stage, pending user action, errors, Tencent doc target, PDF directory). It also explicitly states '不启动浏览器或修改文件' (does not start browser or modify files), which differentiates it from sibling tools like check_browser_session and sync_results.
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 clearly indicates this is a read-only status check for a local run_id, and the negative clause about not starting the browser provides a relevant exclusion. However, it does not explicitly name alternative tools or state when to prefer this over check_browser_session or sync_results, 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.
refresh_partition_map刷新中科院分区映射AIdempotent
只读指定腾讯文档来源工作表的期刊与2025中科院大类分区,合并本地override并写入.runtime映射;不会修改来源工作表。
| Name | Required | Description | Default |
|---|---|---|---|
| source_sheet | No | ||
| tencent_doc_url | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| data | Yes | |
| summary | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, idempotentHint=true), the description adds key behavioral details: it reads from a Tencent doc, merges local overrides, writes to a .runtime file, and does not modify the source. This provides transparency about side effects and the 'read-only' nuance, which is valuable. No contradiction with 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 a single sentence that front-loads the core action and includes the most important caveat (no modification of source). Every word earns its place with no redundant information.
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 tool with 2 parameters and an output schema, the description adequately covers inputs, process, and side effects. It doesn't explain the output schema (which exists), so that is not required. The only gap is the lack of explicit parameter mapping, but overall it is complete enough for selection and invocation.
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?
With schema description coverage at 0%, the description must compensate. It mentions the 'specified Tencent doc source worksheet', which hints at source_sheet and tencent_doc_url, but does not explicitly map parameter names or explain format. It adds some meaning but not enough to fully compensate for the gap.
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: reads journal names and CAS partitions from a specified Tencent doc worksheet, merges local overrides, and writes to a .runtime mapping. It also explicitly notes it does not modify the source worksheet, distinguishing it from sibling tools like sync_results.
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 clear context about its purpose and side effects (no modification to source sheet), implying when it should be used. However, it does not explicitly mention alternatives or when not to use it, so it falls 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.
search_wos执行WOS SCI检索AIdempotent
使用专用Chrome在WOS Core Collection执行运行中的高级检索,导出完整记录并按年份、单位和SCI-EXPANDED筛选。命中超过500篇时停止。
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| data | Yes | |
| summary | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the stop condition at 500 hits and the filtering behavior (by year, unit, SCI-EXPANDED), which adds context beyond annotations. It also mentions exporting complete records, aligning with readOnlyHint=false. However, it does not specify the export destination or whether run status is updated, leaving some behavioral gaps.
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 dense sentence that efficiently packs the tool's purpose, execution details, filtering, and stop condition without fluff. Every clause contributes essential information, and it is well front-loaded.
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 tool is moderately complex, and while the output schema exists, the description misses parameter semantics and does not clarify prerequisites (e.g., creating a run first) or edge cases. It covers the main behavior but leaves gaps for an agent to decide when and how to invoke the tool 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 input schema has a single required parameter run_id with no description, and the description does not explain what run_id refers to or how it relates to the search run. Schema coverage is 0%, and the description fails to compensate, providing only implicit meaning through the word '运行中的'.
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 executes an advanced search in WOS Core Collection using a dedicated Chrome, exports complete records, and filters them by year, unit, and SCI-EXPANDED. The phrase '运行中的' (ongoing) distinguishes it from creating a search run, making it distinct from sibling tools like create_search_run. It includes specific action, resource, and constraints.
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 context such as the need for a dedicated Chrome and the stop condition at 500 hits, but it does not explicitly state when to use this tool versus alternatives like create_search_run or get_run_status. It implies usage for an existing run via '运行中的', but no exclusions or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sync_results同步论文到腾讯文档ADestructiveIdempotent
向运行指定的非正式工作表增量写入A-J中文列、上传本地PDF并整行排序。会更新[MCP]备注;非[MCP]人工J列备注和已有附件不覆盖。
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| data | Yes | |
| summary | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (destructiveHint, readOnlyHint, etc.), the description reveals specific side effects: it updates [MCP] remarks, preserves non-MCP manual J-column remarks and existing attachments, uploads PDFs, and sorts rows. These details give the agent a clear picture of the tool's non-obvious behaviors, exceeding the annotation baseline.
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 two sentences long, front-loaded with the primary actions (write, upload, sort), and each sentence adds unique value—the second sentence clarifies what is preserved. No wasted words or repetition of schema details.
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 complex sync tool with multiple operations and side effects, the description covers all key aspects: the data written, the upload of PDFs, sorting, and the selective update of remarks. The existence of an output schema means return values need no explanation, so the description is sufficiently complete for an agent to invoke the tool accurately.
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 has zero description coverage, and the description only indirectly references run_id via '运行指定' (specified by the run). This gives some meaning to the parameter but does not explain its format, constraints, or how it maps to the worksheet. Since there is only one parameter, it is adequate but not rich.
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 specific verbs ('incrementally write', 'upload', 'sort') and identifies the resource (Tencent Docs worksheet), clearly distinguishing it from sibling tools like search_wos and download_fulltext. It also mentions the specific columns (A-J) and remark handling, leaving no ambiguity about its function.
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 when you need to sync results from a run to Tencent Docs, and specifies that it will not overwrite manual remarks or existing attachments, which is a caution. However, it does not explicitly state when not to use it or name alternative tools, so it falls 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.
TDQS
Each tool targets a distinct stage: check_browser_session checks login status, refresh_partition_map updates journal rankings, create_search_run creates a run, search_wos executes the search, download_fulltext fetches PDFs, sync_results writes to Tencent Docs, and get_run_status retrieves progress. No two tools share overlapping responsibilities, so an agent can easily select the correct one.
All tool names use snake_case with a leading verb (check, refresh, create, search, download, sync, get). The object nouns vary in structure (e.g., browser_session vs. wos), but the overall pattern is consistent and predictable, with no mixed conventions like camelCase or inconsistent verb styles.
Seven tools is well within the ideal 3-15 range and matches the server's purpose of managing a literature search workflow. Each tool fills a necessary role from setup to execution to output, and none feel extraneous or missing.
The toolset provides solid coverage of the core workflow: prepare (check session, refresh map), create run, execute search, download fulltext, sync results, and monitor status. Minor gaps exist such as no explicit cancel/edit run or separate IEEE search, but these are not critical dead ends for the main literature retrieval process.
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
Federated search of books and papers, BibTeX/RIS citations, open-access retrieval and reading.
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
Academic literature search, retrieval, and private library management on top of OpenAlex.
Search and download academic papers from arXiv, PubMed, bioRxiv, medRxiv, Google Scholar, Semantic…
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables searching and downloading academic papers from 14 platforms including arXiv, PubMed, Google Scholar, Web of Science, Springer, and Sci-Hub with unified data format and intelligent rate limiting.19931182MIT
- 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
- AlicenseNot gradedqualityDmaintenanceEnables searching, downloading, and exporting academic papers from 20+ scholarly sources including arXiv, PubMed, and Semantic Scholar. Supports multi-source concurrent search, citation network tracing, and export to CSV, RIS, and BibTeX.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search CNKI (China National Knowledge Infrastructure), download PDFs, and import them into Zotero with automatic PDF attachment.14MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SHENAO1/cuc-literature-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server