使用说明
chictr mcp
一个MCP服务器,使Claude可以访问中国临床试验注册中心(ChiCTR),这是世界上最大的非英语临床试验数据库,拥有100000多个注册试验。
搜索试验,提取34+结构化字段,与ClinicalTrials.gov进行交叉引用,并将中文字段翻译成英文——所有这些都来自Claude Desktop或任何MCP客户端。
快速开始
git clone https://github.com/JAGAN666/chictr-mcp.git
cd chictr-mcp
npm install
npm run build
就是这样。服务器使用世界卫生组织ICTRP开箱即用(基本使用不需要API密钥)。
测试它
npm run test:scrape
你应该看看 34+个字段 提取用于胰腺癌症试验。
添加到Claude桌面版
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"chictr": {
"command": "node",
"args": ["/full/path/to/chictr-mcp/dist/index.js"]
}
}
}
重新启动克劳德桌面。你现在可以问克劳德这样的问题:
- “搜索ChiCTR的胰腺癌症试验”
- “获取ChiCTR2500102611试用详情”
- “查找2024年注册的所有肺癌试验”
两种操作模式
基本模式(默认,零配置)
用途 世界卫生组织ICTRP -世界卫生组织ChiCTR数据镜像。使用纯HTTP,无需浏览器自动化。每次试用返回30+个字段。
全模式(使用FlareSolverr)
直接连接到 chictr.org.cn 通过FlareSolverr获取最完整的数据(34多个领域,中国标题,尚未与世界卫生组织同步的最新试验)。如果FlareSolverr不可用,则自动返回世界卫生组织ICTRP。
# One-time setup: start FlareSolverr
docker run -d --name flaresolverr -p 8191:8191 ghcr.io/flaresolverr/flaresolverr:latest
MCP服务器在以下位置自动检测到FlareSolverr http://localhost:8191/v1 --无需更改配置。
可选:翻译
要将中文试用字段翻译成英文,请从获得免费的NVIDIA API密钥 build.nvidia.com 并将其添加到您的Claude Desktop配置中:
{
"mcpServers": {
"chictr": {
"command": "node",
"args": ["/full/path/to/chictr-mcp/dist/index.js"],
"env": {
"NVIDIA_API_KEY": "nvapi-your-key-here"
}
}
}
}
MCP工具
search_chictr_trials
按关键字搜索中国临床试验。
{ "keyword": "gastric cancer", "max_results": 10, "year": 2024 }
返回:试验ID、标题、研究类型、注册日期、机构、源URL。
获取试验数据
获取单次试验的完整结构化数据。
{ "registration_number": "ChiCTR2500102611", "translate": true, "verify": true }
返回34+个字段:标题、阶段、状态、状况、干预、赞助商、PI联系人、入组、结果、纳入/排除标准、伦理批准、盲法、试验地点等。每个字段都包含一个 source_url 引用。
体积_尺寸_厚度
与质量评分并行获取多个试验。返回RAG管道的Qdrant就绪文档。
{ "keyword": "lung cancer", "max_results": 20, "translate": true }
根据现场完整性,试验得分为高/中/低。仅返回高质量和中等质量的试验;低质量试验单独列在 skipped 阵列。
验证试验
将ChiCTR试验与ClinicalTrials.gov进行交叉引用。
{ "registration_number": "ChiCTR2400093415" }
返回:匹配的NCT ID、置信水平(高/中/低/未验证)以及任何差异。
get_cache_stats/clear_cache
查看或清除内存中的缓存。
建筑学
Claude Desktop
│ JSON-RPC over stdio
▼
MCP Server (index.ts)
├── scraper.ts ──→ FlareSolverr → chictr.org.cn (primary)
│ ──→ WHO ICTRP (fallback, plain HTTP)
├── verifier.ts ──→ ClinicalTrials.gov v2 API
├── translator.ts ──→ NVIDIA API (Nemotron 70B)
├── cache.ts ──→ In-memory (node-cache)
└── types.ts ──→ ChiCTRTrial interface (34+ fields)
环境变量
全部可选。在Claude Desktop配置中设置 env 块或在 .env 文件开发。
| 变量 | 默认值 | 描述 |
|---|---|---|
NVIDIA_API_KEY |
-- | 启用中文→英文翻译 |
FLARESOLVERR_URL |
http://localhost:8191/v1 |
FlareSolverr端点用于直接ChiCTR访问 |
CHICTR_SEARCH_CACHE_TTL |
300 |
搜索缓存TTL(秒) |
CHICTR_DETAIL_CACHE_TTL |
600 |
详细缓存TTL(秒) |
BULK_CONCURRENCY |
3 |
批量摄取的最大并行取数 |
REQUEST_DELAY_MS |
1500 |
请求之间的延迟(毫秒) |
发展
npm run dev # Run with hot reload (tsx)
npm run build # Compile TypeScript
npm run test:scrape # Test scraper against a real trial
npm run ingest # Run oncology ingest pipeline (6 keywords)
npx tsc --noEmit # Type check only
许可证
麻省理工学院