cuc-literature-mcp

cuc-literature-mcp

Enables searching Web of Science for CUC SCI papers, downloading PDFs, and syncing results to Tencent Docs through persistent browser automation. Supports advanced queries, deduplication, CAS journal classification mapping, and incremental sync while preserving manual notes.

Category
访问服务器

README

CUC Literature MCP:中传 SCI 论文检索、PDF 下载与腾讯文档同步

CI License: MIT Node.js >= 20

一个运行在用户电脑上的 TypeScript STDIO MCP,配套可被 Codex 自动发现的 Skill。它使用独立、持久化的 Chrome 或 Edge 配置访问 Web of Science、IEEE/开放全文和腾讯文档,不调用 OpenAI API,也不会读取或返回账号密码和 Cookie。

当前版本:0.1.0。这是面向中国传媒大学机构访问场景的第一版。WOS、IEEE 和腾讯文档均为网页自动化适配器;网站改版后可能需要更新选择器。工具遇到不确定页面时会停止并返回可恢复错误,不会绕过验证码、登录或付费限制。

目录

能做什么

  • 在 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 继续。

工作边界

本项目不会:

  • 提供或共享中国传媒大学、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

安装脚本会:

  1. npm ci 安装锁定版本依赖;
  2. 编译并运行完整测试;
  3. 把本机配置写到 .runtime/settings.json
  4. 使用 codex mcp add 注册 cuc-literature
  5. 执行安装诊断。

如果希望在其他项目目录也能用 $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

请在这个专用窗口中分别完成:

  1. 中国传媒大学统一身份认证;
  2. WOS 机构访问;
  3. IEEE Xplore 机构访问;
  4. 腾讯文档登录,并确认对目标文档有编辑和附件上传权限;
  5. 如果出现验证码,由用户自行完成。

完成后回到终端按回车,程序会重新检查会话。不要把日常 Chrome 的用户目录复制到 .runtime,也不要把 .runtime 分享给别人。

诊断当前会话:

npm run diagnose

安装诊断:

npm run doctor

完成安装或修改 MCP 配置后,重启 ChatGPT/Codex。

开始使用

在本仓库打开新的 Codex 会话,输入:

使用 $cuc-literature-search 检索中国传媒大学2024年以来无线通信、通信导航融合和通信感知一体化相关SCI论文,写入默认腾讯文档并下载PDF。

如果安装了全局 Skill,也可以在其他项目中这样调用。

正常编排顺序:

check_browser_session
  → refresh_partition_map
  → create_search_run
  → search_wos
  → download_fulltext
  → sync_results
  → get_run_status

出现 login_requiredcaptcha_requiredneeds_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

变量 用途 默认值
CUC_LITERATURE_HOME 项目绝对路径 当前工作目录
CUC_TENCENT_DOC_URL 腾讯表格链接 必填,无公开默认值
CUC_SOURCE_SHEET 分区映射来源表 工作表1
CUC_TARGET_SHEET MCP写入目标表 MCP测试
CUC_PDF_DIR PDF目录 output/pdfs
CUC_BROWSER_CHANNEL chromemsedge chrome
CUC_WOS_URL WOS入口覆盖 中传机构入口
CUC_IEEE_URL IEEE入口覆盖 中传图书馆IEEE入口
CUC_HEADLESS 测试用无头模式,设为1启用 不启用

腾讯文档表头

目标工作表固定写入 A—J:

论文题目、作者、年份、期刊、SCI索引、WOS号、DOI、
中科院SCI分区(2025大类)、PDF附件、学校数据库下载核验/未下载原因
  • MCP 生成的 J 列以 [MCP] 开头;
  • 已有非 [MCP] 人工备注不覆盖;
  • 已有 PDF 附件不重复上传;
  • 临时 K 列只用于整行排序,完成后清空;
  • 目标工作表与来源工作表同名时程序拒绝运行。

本地文件

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,override

MCP 工具

工具 主要输入 作用
check_browser_session open_login_window 检查 WOS、IEEE、腾讯文档会话
refresh_partition_map 文档URL、来源工作表 只读提取期刊分区并生成本地映射
create_search_run 主题、年份、单位、输出位置 创建 run_id 和 WOS 查询式
search_wos run_id 检索、完整记录导出、筛选和去重
download_fulltext run_id 下载并验证有权获取的PDF
sync_results run_id 增量写表、上传附件、整行排序
get_run_status run_id 查看阶段、错误、输出和待操作项

所有工具返回简短文本和结构化 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

只有明确希望删除下载的论文时才增加:

-RemoveDownloadedPdfs

macOS 对应参数见 ./scripts/uninstall.sh --helpdocs/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 msedge

WOS 或 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 许可证只覆盖本仓库代码和文档。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选