mcpField
O
opentargets

opentargets

本地服务
nickzren.github.io健康医疗193 周前更新

关于 opentargets

opentargets 是用于查询 Open Targets 数据的只读 MCP 服务,涵盖靶点、疾病、药物、变异和证据。它可按名称或 ID 查询并返回结构化结果,无需 API 密钥。

主要功能

  1. 01搜索靶点、疾病和药物
  2. 02获取靶点与疾病关联证据
  3. 03查询变异和研究
  4. 04探索药物重定位候选项
  5. 05执行自定义 GraphQL 查询

适用场景

  1. 01查找作用于某靶点的药物
  2. 02比较与某疾病关联的基因
  3. 03查看靶点与疾病之间的证据
  4. 04筛选药物重定位候选项

MCP 相关

向 MCP 客户端提供 68 个只读工具,用于查询 Open Targets Platform。结果以结构化数据返回,并在可用时包含数据源 ID 和 PubMed 引用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nickzren-opentargets": {
"command": "uvx",
"args": [
"opentargets-mcp"
]
}
}
}
启动命令uvx opentargets-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiopentargets-mcp0.7.0

工具

68

收录的工具列表 · 更新于 2 周前

参数类型必填说明
ensembl_idstring是

详细介绍

Open Targets MCP 服务

CI PyPI Python MCP Registry License: MIT

一个只读 MCP 服务,可通过 Open Targets Platform 探索靶点、疾病、药物和遗传证据。使用名称或 ID,检索支持证据,并探索药物再利用候选项。无需 Open Targets API 密钥。

安装

需要 uv。

Claude Code

claude mcp add opentargets -- uvx opentargets-mcp

Claude Desktop 和 Cursor:将以下内容添加到 claude_desktop_config.json(Settings → Developer → Edit Config)或 ~/.cursor/mcp.json,然后重启:

{
  "mcpServers": {
    "opentargets": {
      "command": "uvx",
      "args": ["opentargets-mcp"]
    }
  }
}

VS Code

code --add-mcp '{"name":"opentargets","command":"uvx","args":["opentargets-mcp"]}'

Codex

codex mcp add opentargets -- uvx opentargets-mcp

其他任何 stdio MCP 客户端的配置方式都相同:命令为 uvx,参数为 opentargets-mcp。

提示:

  • 如果客户端报告 spawn uvx ENOENT,请使用 which uvx 查到的完整路径。
  • 使用 opentargets-mcp@latest 作为参数,以获取新版本。
  • 在 Apple Silicon 上,cryptography 构建错误可能意味着 uv 选用了 Intel(Rosetta)Python。uv python find 可作为初步排查线索;缓存的工具环境和桌面客户端可能使用不同的解释器。

你可以询问什么

  • “哪些药物靶向 EGFR?它们的研发进展如何?”
  • “哪些基因与哮喘的关联最强?”
  • “展示 BRAF 与黑色素瘤之间的关联证据。”
  • “为 2 型糖尿病推荐药物再利用候选项。”

可使用名称或 ID:基因符号、疾病和药物名称、rsID,或 Ensembl、MONDO 和 ChEMBL ID。如果名称匹配到多个实体,工具会列出候选项供你选择。

工具

共 68 个工具。运行 uvx opentargets-mcp --list-tools 查看完整列表。

领域示例
靶点get_target_info、get_target_known_drugs
疾病get_disease_info、get_disease_associated_targets
药物get_drug_info、get_drug_adverse_events
证据get_target_disease_evidence
变异和研究get_variant_info、get_credible_sets
搜索和查询search_entities、map_ids
工作流get_drug_repurposing_candidates
原始 GraphQLgraphql_query、graphql_schema

许多工具接受 fields(点分隔路径,例如 ["target.approvedSymbol"]),仅返回所需内容。对于精选工具未覆盖的内容,请使用 graphql_query。

证据结果会在可用时包含数据源 ID 和 PubMed 引用。使用 get_api_metadata,在分析中记录 Open Targets API 和数据发布版本。clinicalReportCount 统计的是报告记录数,而非唯一试验数;如需完整报告,请使用 graphql_query。

工作原理

flowchart LR
    A(["AI agent<br/>Claude · Codex · VS Code · Cursor"])

    subgraph S["opentargets-mcp"]
        direction TB
        S1["1. Resolve names to IDs"]
        S2["2. Run read-only queries"]
        S3["3. Return structured JSON"]
        S1 --> S2 --> S3
    end

    subgraph O["Open Targets Platform"]
        direction TB
        API["GraphQL API"]
        DB[("ChEMBL · GWAS Catalog<br/>ClinVar · Europe PMC · more")]
        API --- DB
    end

    A <-->|MCP| S
    S <-->|GraphQL| O

    classDef client fill:#e8f0fe,stroke:#4285f4,color:#1f2328
    classDef step fill:#ffffff,stroke:#34a853,color:#1f2328
    classDef data fill:#ffffff,stroke:#f9ab00,color:#1f2328
    class A client
    class S1,S2,S3 step
    class API,DB data
    style S fill:#e6f4ea,stroke:#34a853,color:#1f2328
    style O fill:#fef7e0,stroke:#f9ab00,color:#1f2328

用自然语言提问;服务会将名称转换为 Open Targets ID,执行只读查询并返回结构化结果。无需 API 密钥。

配置

默认设置适用于本地使用。如需更改,请设置环境变量或传入标志(uvx opentargets-mcp --help):

变量标志默认值
MCP_TRANSPORT--transportstdio(也支持 http、sse)
FASTMCP_SERVER_HOST--host0.0.0.0
FASTMCP_SERVER_PORT--port8000
OPEN_TARGETS_API_URL--apihttps://api.platform.opentargets.org/api/v4/graphql
OPEN_TARGETS_RATE_LIMIT_RPS--rate-limit-rps0(关闭);限制传入的 MCP 请求
OPEN_TARGETS_RATE_LIMIT_BURST--rate-limit-burst20

代理设置从 HTTPS_PROXY、HTTP_PROXY 和 NO_PROXY 中读取。

自托管

从源代码构建:

git clone https://github.com/nickzren/opentargets-mcp
cd opentargets-mcp
uv run opentargets-mcp

使用 Docker(通过端口 8000 提供 HTTP),在克隆的仓库目录中运行:

docker compose up -d --build

将 MCP 客户端连接到 http://localhost:8000/mcp。

开发

uv sync --extra dev
uv run ruff check src tests
uv run pytest -m "not live"   # offline
uv run pytest -m live         # calls the Open Targets API

示例脚本位于 examples/。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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