mcpField
I
Isrctn

Isrctn

远程服务
pipeworx.io健康医疗01 天前更新

关于 Isrctn

Isrctn 是用于搜索 ISRCTN 国际临床试验注册库并获取单项研究记录的 MCP 服务,面向需要注册数据的研究者和临床试验分析人员,包括查询美国以外的研究。

主要功能

  1. 01按文本、病症或干预搜索试验
  2. 02按 ISRCTN ID 获取结构化记录
  3. 03按日期推导的试验状态筛选
  4. 04返回申办方、日期、国家及结果报告状态
  5. 05无需凭据使用公共 API

适用场景

  1. 01查找针对某病症和干预的国际试验
  2. 02查看研究的申办方、阶段和日期
  3. 03确认试验是否发布结果报告

MCP 相关

它将试验搜索和单条记录查询作为 MCP 工具提供。可通过 Pipeworx 网关连接,也可在本地作为 stdio MCP 服务运行。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://gateway.pipeworx.io/isrctn/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

ISRCTN — 英国国际临床试验注册平台

ISRCTN(isrctn.com)是经 WHO 和 ICMJE 认可的主要临床试验注册平台,由 Springer Nature/BMC 运营。它收录英国及国际临床试验——其中包括许多从未出现在 ClinicalTrials.gov 上的非美国研究——并为每项注册研究分配永久 ISRCTN 编号。提供免费的公开 XML 查询 API,无需密钥。

这是 Pipeworx 的一部分——一个连接 AI Agent 与 1882+ 个实时数据源的 MCP 网关。这是独立的非官方集成,与上游提供方无关联、未获其认可,也非由其发布。

这对 AI Agent 的重要性

ClinicalTrials.gov 以美国为中心。如果没有 ISRCTN,像“有哪些关于裸盖菇素用于卒中康复的试验”这样的问题就只能得到一半答案,因为有几项由英国/欧盟资助的研究只在 ISRCTN 注册,或除了在 ClinicalTrials.gov 注册外,也在 ISRCTN 注册。请将此工具包与 clinicaltrials 一起使用,以覆盖国际试验,而非用它取代 clinicaltrials。

两种工作流:

1. 搜索。“关于 X 和 Y 的研究” → isrctn_search({query: "psilocybin depression"}) 或者,如需同时匹配已注册的疾病和已注册的干预措施,则使用 isrctn_search({condition: "stroke", intervention: "psilocybin"})。组合使用 condition 和 intervention 是 AND 逻辑,而非 OR 逻辑——真正的零结果表示当前没有 ISRCTN 试验同时涉及该疾病和干预措施;响应中会回显 query_used,供调用方准确了解搜索内容。

2. 单条记录。isrctn_trial({id: "ISRCTN37167117"}) → 完整结构化记录:标题、疾病、干预措施/阶段、申办方、资助方、日期、国家/地区,以及是否已发布结果报告。

状态是推导得出的,而非注册平台字段

ISRCTN 的 XML feed 不包含“总体试验状态”字符串,不同于 ClinicalTrials.gov。每条返回的试验都会根据招募时间窗口的日期(recruitment_start、recruitment_end、overall_end_date)相对于当前日期计算 status;status_basis 则会准确说明用于判定的日期(例如 “总体试验结束日期(2025-01-23T00:00:00.000Z)已过”)。isrctn_search 的 status 过滤器会匹配此推导值,并在已获取的一批数据上由客户端执行(status_filter_scanned 会报告扫描的试验数量),因为上游没有可用于服务端筛选的状态字段。

搜索语法

query 支持自由文本(ISRCTN 的搜索基于覆盖完整记录的 Lucene 索引,包括标题、摘要、资格标准等)。多个词默认使用 AND 逻辑(“psilocybin depression”会匹配同时包含这两个词的试验,而非包含其中任意一个的试验);这已通过实时 API 确认:psilocybin depression 和 psilocybin AND depression 返回的结果数量相同,而 "psilocybin depression"(短语)返回零条结果。condition 和 intervention 会专门匹配 ISRCTN 已索引的 condition:/intervention: 字段——搜索范围比使用同一个词进行自由文本匹配更窄(例如,condition:stroke 的命中数约为不带字段的 stroke 搜索的 1/4,因为它会排除只在资格标准或其他位置提及“stroke”的试验)。

query、condition、intervention 中至少需要提供一个。

身份验证

无需密钥。公开、无需身份验证的 XML 查询 API。

数据源

  • https://www.isrctn.com/api/query/format/default?q={lucene_query}&limit={n} — 搜索(例如 q=psilocybin+depression&limit=10);也用于查询单条记录(isrctn_trial 会通过规范的 ISRCTN37167117 格式 ID 查询,并设置 limit=1)。

给下一位的备注

  • 其他地方非正式记录的单条记录 URL 格式 /api/query/ISRCTN37167117/format/default 在线上会返回 404(已于 2026-10-09 验证)——查询单条记录的可用路径是同一个搜索端点,通过 ID 查询。
  • 不存在的 ISRCTN ID 会返回 HTTP 200,并带有空的 allTrials 元素(totalCount 为零)——这是合法的空结果,会显示为 {found: false},而非错误。
  • 格式错误的 Lucene 查询(例如引号不匹配)也会静默返回 totalCount="0",而非 HTTP 错误——发送前会对传入 query、condition 和 intervention 的用户输入进行 Lucene 转义,因此调用方的原始文本(括号、冒号、引号)不会因查询语法错误而意外产生零结果。
  • 如果响应的 HTTP 状态为 200,但没有 allTrials/totalCount 根元素,或者声称 totalCount > 0 却没有任何可解析的 fullTrial 块,就会抛出明确的 upstream_parse 错误——绝不会静默返回空结果。

快速开始

添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):

{
  "mcpServers": {
    "isrctn": {
      "url": "https://gateway.pipeworx.io/isrctn/mcp"
    }
  }
}
此端点实际提供的内容

https://gateway.pipeworx.io/isrctn/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 的共享元工具——ask_pipeworx、discover_tools、search_within、remember/recall,以及网关级的其他工具。因此,你看到的工具数量会多于此表:目前,单个工具包端点除了该工具包自身的工具,还会列出约 30 个共享工具。连接的 initialize 响应会说明其确切范围,并且是当天有效范围的权威说明。

这是有意为之,并非意外的多路复用。借助这些元工具,受限范围的连接可以通过 ask_pipeworx(它会路由至整个目录)回答此工具包未覆盖的问题,而无需你添加第二个 MCP 服务。目前无法挂载不含这些元工具的工具包端点;如果额外的架构定义占用的上下文多于路由功能带来的价值,请连接一次完整网关,而非连接多个工具包端点。

或者连接完整的 Pipeworx 网关,直接列出所有工具包的工具,而不只是此工具包的工具:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

两个 URL 都连接到同一个网关和相同的 1882+ 个数据源。唯一的区别在于直接列出的是哪个工具包的工具;无论连接哪个端点,ask_pipeworx 都可以访问所有工具包。

没有 MCP 客户端?通过 HTTP 调用

curl -X POST https://gateway.pipeworx.io/v1/tools/isrctn_search \
  -H 'Content-Type: application/json' \
  -d '{"query":"psilocybin depression","limit":5}'

首次调用无需账户。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/isrctn_search。查找工具:使用 {"query":"..."} 向 POST https://gateway.pipeworx.io/v1/tools/search_packs 发送请求。

独立运行(无需网关账户)

此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需经过网关:

{
  "mcpServers": {
    "isrctn": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-isrctn"]
    }
  }
}

或者直接运行,以确认它能够启动:

npx -y @pipeworx/mcp-isrctn

它通过 stdin/stdout 使用 MCP,并对 initialize/tools/list/tools/call 作出响应,仅提供此工具包的工具——不包含上文网关连接额外提供的共享元工具。源代码和工具相同,但没有 ask_pipeworx 路由。

使用 ask_pipeworx

你可以用通俗的英语提问,而不是直接调用工具——此功能既适用于上文的工具包端点,也适用于完整网关:

ask_pipeworx({ question: "your question about Isrctn data" })

网关会选择合适的工具并自动填写参数。

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。