mcpField
U
Ucsc Genome

Ucsc Genome

远程服务
pipeworx.io科研与教育05 周前更新

关于 Ucsc Genome

Ucsc Genome 是面向基因组研究者和生物信息学分析者的 MCP 服务,可查询 UCSC Genome Browser 的物种组装版本、注释轨道、区间数据及参考 DNA。它通过组装版本和基因组坐标获取轨道内容与序列。

主要功能

  1. 01搜索物种及参考基因组组装
  2. 02查询组装版本上的注释轨道
  3. 03获取基因组区间的轨道数据
  4. 04提取区间参考 DNA 序列
  5. 05提供 GC 比例和 N 计数

适用场景

  1. 01查找某物种可用的组装版本
  2. 02检索区间内的基因或变异注释
  3. 03获取指定坐标的参考序列

MCP 相关

此 MCP 服务向客户端提供组装版本、注释轨道、轨道区间数据和参考序列查询工具。可通过 Pipeworx 网关连接,也可本地以 stdio 运行。

配置

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

服务地址https://gateway.pipeworx.io/ucsc-genome/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 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

@pipeworx/ucsc-genome

来自 UCSC Genome Browser 的参考基因组组装——某个物种有哪些组装版本,每个版本包含哪些注释轨道,任意基因组区间内轨道的实际行数据,以及原始参考 DNA。

属于 Pipeworx——一个将 AI Agent 连接到 1684+ 个实时数据源的 MCP 网关。

工具

  • ucsc_genomes(search?, limit?) — UCSC 的所有组装版本(约 238 个),包含组装 ID(hg38、mm39、danRer11)、生物体、学名、来源组装和版本说明。其他所有调用都依赖这里获取的 ID。
  • ucsc_tracks(genome, search?, limit?) — 一个组装版本上的注释轨道,包含 ucsc_track_data 所需的内部轨道名称。浏览器 UI 显示的是标签,而非名称:“GENCODE V50”对应的轨道是 knownGene,两者之间没有固定映射规则。
  • ucsc_track_data(genome, track, chrom, start, end, maxItemsOutput?) — 某个区间内的轨道行数据:基因模型及外显子结构、ClinVar 变异、重复序列,或该轨道包含的其他数据。
  • ucsc_sequence(genome, chrom, start, end, revComp?) — 某个区间的参考 DNA,包含 GC 比例和 N 的数量。

身份验证

无需密钥。无需注册,未观察到速率限制标头。UCSC 建议高频用户使用镜像或本地安装,而不是频繁请求公共端点,因此请合理控制区间宽度。

数据来源

注意事项

每个坐标工具都必须指定 genome,且没有默认值。 hg19(GRCh37)和 hg38(GRCh38)是同一基因组的不同坐标系统,而且两者中的每个位置都有效——所以组装版本选错时不会报错,而是会返回看似可信、实则对应另一位点的注释。BRCA1 在 hg19 中位于 chr17:41,196,311-41,277,500,在 hg38 中则位于 chr17:43,044,295-43,170,245。约 2018 年以前的所有内容(已发表的表格、临床电子表格、大多数 dbSNP 转储)都使用 hg19。

坐标采用从 0 开始、左闭右开的形式;Genome Browser UI 使用从 1 开始、两端均包含的形式。 从浏览器位置框复制的位置,其起始位置会大 1。

染色体名称必须带 chr 前缀。 UCSC 要求使用 chr17;Ensembl/NCBI 风格的不带前缀的 17 会被拒绝。

轨道搜索会按匹配位置排序,这是有意为之。 hg38 包含约 24,000 条轨道(其中大多数是 ENCODE 子轨道),而 longLabels 是描述性文本,因此对 "gencode" 进行普通子字符串搜索会匹配 13,427 条,其中约 13,000 条是假阳性,因为 wgEncodeBroadHistone… 转为小写后会包含字面上的 "gencode"。排序会将内部名称匹配排在 shortLabel 匹配之前,再排在描述性文本匹配之前,并将驼峰命名的大小写转换处视为单词边界,从而区分 nmdEscGencode 和 wgEncode…。没有这项处理时,答案(knownGene)会排在第 2,700 页。

复合轨道会在父对象中将子轨道嵌套一层。 ucsc_tracks 会将它们展平,否则在 hg38 上搜索 "clinvar" 会漏掉 ClinVar 容器中的所有子轨道,让人误以为“UCSC 没有 ClinVar”。

getData/track 通常以轨道名称作为其行数组的键。 某些复合轨道会改用子轨道名称作为键,因此该工具包会退而使用“响应中的第一个数组”,而不是返回一个实际由名称不匹配导致的空结果。

无效的组装版本或轨道会返回 HTTP 400,并在 JSON 正文中提供有用的 error 字符串——该工具包会将其直接呈现出来,因为“hg19 不是 hg38 基因组的有效轨道”就是完整的诊断信息。

快速开始

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

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

https://gateway.pipeworx.io/ucsc-genome/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 都会连接到同一个网关和相同的 1684+ 个数据源。唯一的区别是直接列出哪个工具包的工具;无论连接哪一个,ask_pipeworx 都能访问所有工具。

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

curl -X POST https://gateway.pipeworx.io/v1/tools/ucsc_genomes \
  -H 'Content-Type: application/json' \
  -d '{"search":"human"}'

首次调用无需账户。检查任意工具:GET https://gateway.pipeworx.io/v1/tools/ucsc_genomes。查找工具包:使用 {"query":"..."} 调用 POST https://gateway.pipeworx.io/v1/tools/search_packs。

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

此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需与网关往返通信:

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

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

npx -y @pipeworx/mcp-ucsc-genome

它通过 stdin/stdout 使用 MCP 通信,并且只会针对此工具包的工具响应 initialize/tools/list/tools/call——不包含上文网关连接额外提供的共享元工具。来源相同,工具相同,但没有 ask_pipeworx 路由功能。

使用 ask_pipeworx

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

ask_pipeworx({ question: "your question about Ucsc Genome data" })

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

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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