Token导航 LogoToken导航TokenDH.com
MCP Harvard PrimeKG logo
数据服务stdio官方级别未说明来源级核验

MCP Harvard PrimeKG

MCP Server

MCP服务器用于查询哈佛PrimeKG精准医学知识图谱,提供自动更新、节点搜索、关系查询等功能,适用于生物医学研究和药物发现。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude数据分析Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

asaravia-butler

提供方

asaravia-butler

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uvx mcp-primekg

详细介绍

哈佛PrimeKG的MCP服务器

用于查询的模型上下文协议(MCP)服务器 哈佛 PrimeKG 精准医学知识图谱。

✨ 主要功能:自动更新 -此服务器会自动下载并使用来自哈佛大学的PrimeKG数据的最新版本,确保您始终查询当前版本。

关于PrimeKG

PrimeKG是一个全面的精准医学知识图谱,包含:

  • 129375个节点 代表基因、药物、疾病、生物过程等
  • 8+百万关系 整合20多个生物医学数据库
  • 数据来自DrugBank、PRIMEKG、CTD、DisGeNET、GO、Reactome、SIDER等

特性

此MCP服务器提供以下工具:

  • 自动下载最新PrimeKG数据 (默认情况下每周检查一次)
  • 按名称或ID搜索节点(基因、药物、疾病)
  • 查找实体之间的关系
  • 发现药物靶点和疾病相关基因
  • 探索药物与疾病的联系
  • 查询知识图结构

安装

先决条件

  • Python 3.10或更高版本
  • 紫外线 包管理器

从PyPI安装(发布时)

uvx mcp-primekg

从源码安装

  1. 克隆此存储库:
git clone https://github.com/asaravia-butler/MCP_Harvard_PrimeKG.git
cd MCP_Harvard_PrimeKG
  1. 安装依赖项:
uv sync

数据设置

自动模式(推荐-始终为最新模式)

服务器将 自动下载最新的PrimeKG数据 首次运行时,每周检查更新。

无需手动下载数据! 只需配置并运行:

{
  "mcpServers": {
    "primekg": {
      "command": "uvx",
      "args": ["mcp-primekg"],
      "env": {
        "PRIMEKG_DATA_PATH": "/Users/yourusername/primekg_data",
        "PRIMEKG_AUTO_UPDATE": "true",
        "PRIMEKG_UPDATE_INTERVAL_DAYS": "7",
        "INSTRUCTIONS": "Query the PrimeKG knowledge graph for precision medicine insights."
      }
    }
  }
}

服务器将:

  1. 如果数据目录不存在,则创建该目录
  2. 从哈佛大学数据库下载最新的PrimeKG数据(~600MB)
  3. 每7天检查一次更新(可配置)
  4. 在更新之间使用缓存数据

手动模式

PRIMEKG_AUTO_UPDATE: "false" 并从手动下载数据 哈佛大学.

Neo4j模式(用于复杂查询)

对于高级图遍历和复杂的路径查询,请使用Neo4j:

第一步:下载所需文件

仅从下载这两个文件 哈佛大学:

# Download nodes file (7.5 MB)
curl -LO nodes.tab "https://dataverse.harvard.edu/api/access/datafile/6180617"

# Download edges file (368.6 MB)
curl -LO edges.csv "https://dataverse.harvard.edu/api/access/datafile/6180616"

步骤2:修改Neo4j的CSV标头

Neo4j需要特定的头格式。更新标题:

对于nodes.tab:

# Change header from:
# node_index  node_id  node_type  node_name  node_source
# To:
sed -i.bak '1s/.*/node_index:ID\tnode_id\t:LABEL\tnode_name\tnode_source/' nodes.tab

对于edges.csv:

# Change header from:
# relation,display_relation,x_index,y_index
# To:
sed -i.bak '1s/.*/:TYPE,display_relation,:START_ID,:END_ID/' edges.csv

或者手动编辑每个文件的第一行:

  • nodes.tab: node_index:ID node_id :LABEL node_name node_source
  • edges.csv: :TYPE,display_relation,:START_ID,:END_ID

步骤3:导入到Neo4j

使用Neo4j桌面:

  1. 在Neo4j Desktop中创建新的数据库(DBMS)
  2. 如果数据库正在运行,请停止它
  3. 在DBMS目录中打开终端(单击⋯→ 打开文件夹→ DBMS)
  4. 运行import命令:
./bin/neo4j-admin database import full primekg \
  --nodes=/full/path/to/nodes.tab \
  --relationships=/full/path/to/edges.csv \
  --delimiter-nodes=TAB \
  --delimiter-relationships=COMMA \
  --trim-strings=true

使用Neo4j服务器:

neo4j-admin database import full primekg \
  --nodes=/full/path/to/nodes.tab \
  --relationships=/full/path/to/edges.csv \
  --delimiter-nodes=TAB \
  --delimiter-relationships=COMMA \
  --trim-strings=true

注: 替换 /full/path/to/ 使用文件的实际绝对路径。

步骤4:启动数据库并验证

  1. 在Neo4j Desktop中启动数据库
  2. 打开Neo4j浏览器
  3. 验证导入:
// Check node count
MATCH (n) RETURN count(n) as node_count;
// Should return ~129,375 nodes

// Check edge count
MATCH ()-[r]->() RETURN count(r) as edge_count;
// Should return ~4+ million edges

// View node types
MATCH (n) RETURN DISTINCT labels(n) as node_types, count(*) as count;

步骤5:与MCP服务器一起使用

导入后,使用 mcp-genelab 通过添加到您的配置中,将服务器与PrimeKG数据库连接起来:

"primekg-neo4j": {
  "command": "uvx",
  "args": ["mcp-genelab"],
  "env": {
    "NEO4J_URI": "bolt://localhost:7687",
    "NEO4J_USERNAME": "neo4j",
    "NEO4J_PASSWORD": "your_password",
    "NEO4J_DATABASE": "primekg",
    "INSTRUCTIONS": "Query the PrimeKG precision medicine knowledge graph for drug-disease-gene relationships and biomedical insights from 20+ integrated databases."
  }
}

配置

适用于克劳德桌面

添加到您的 claude_desktop_config.json:

自动更新(推荐-始终最新):

本地开发版本(primekg-auto-dev):

{
  "mcpServers": {
    "primekg-auto-dev": {
      "command": "uv",
      "args": ["run", "--directory", "/absolute/path/to/MCP_Harvard_PrimeKG", "mcp-primekg"],
      "env": {
        "PRIMEKG_DATA_PATH": "/Users/yourusername/primekg_data",
        "PRIMEKG_AUTO_UPDATE": "true",
        "PRIMEKG_UPDATE_INTERVAL_DAYS": "7",
        "INSTRUCTIONS": "Query the latest PrimeKG knowledge graph for precision medicine insights, drug-disease-gene relationships, and biomedical knowledge."
      }
    }
  }
}

生产版本-发布到PyPI(primekg-auto)后:

{
  "mcpServers": {
    "primekg-auto": {
      "command": "uvx",
      "args": ["mcp-primekg"],
      "env": {
        "PRIMEKG_DATA_PATH": "/Users/yourusername/primekg_data",
        "PRIMEKG_AUTO_UPDATE": "true",
        "PRIMEKG_UPDATE_INTERVAL_DAYS": "7",
        "INSTRUCTIONS": "Query the latest PrimeKG knowledge graph for precision medicine insights."
      }
    }
  }
}

配置选项:

  • PRIMEKG_DATA_PATH:存储PrimeKG数据的目录(默认: ~/primekg_data)
  • PRIMEKG_AUTO_UPDATE:启用自动更新(默认值: true)
  • PRIMEKG_UPDATE_INTERVAL_DAYS:更新检查之间的天数(默认值: 7)

注:

  • 使用 primekg-auto-dev 随着 --directory 在本地开发或发布之前标记
  • 使用 primekg-auto 发布到PyPI以进行更简单的配置后
  • 替换 /absolute/path/to/MCP_Harvard_PrimeKG 使用克隆此存储库的实际路径

使用Neo4j(为了在复杂查询中获得更好的性能):

{
  "mcpServers": {
    "primekg-neo4j": {
      "command": "uvx",
      "args": ["mcp-genelab"],
      "env": {
        "NEO4J_URI": "bolt://localhost:7687",
        "NEO4J_USERNAME": "neo4j",
        "NEO4J_PASSWORD": "your_password",
        "NEO4J_DATABASE": "primekg",
        "INSTRUCTIONS": "Query the PrimeKG knowledge graph for precision medicine insights."
      }
    }
  }
}

可用工具

search_nodes

按名称或ID搜索节点

  • 输入:查询(字符串)、节点类型(可选)、限制(默认值:10)
  • 示例:搜索“阿司匹林”或“癌症”

get_node_relationships

获取特定节点的所有关系

  • 输入:node_id(字符串),relationship_type(可选),限制(默认值:50)

find_drug_targets

寻找药物的基因/蛋白质靶点

  • 输入:drug_name(字符串)
  • 示例:寻找“二甲双胍”的靶点

find_disease_genes

寻找与疾病相关的基因

  • 输入:disease_name(字符串),限制(默认值:50)
  • 示例:寻找“阿尔茨海默病”的基因

find_drug_disease_paths

发现药物和疾病之间的联系

  • 输入:药物名称、疾病名称、最大路径长度(默认值:3)

get_node_details

获取特定节点的详细信息

  • 输入:node_id(字符串)

示例用法

在Claude Desktop中配置后,您可以询问:

  • “PrimeKG中阿司匹林的蛋白质靶点是什么?”
  • “在PrimeKG中寻找与帕金森病相关的基因”
  • “在PrimeKG中搜索靶向EGFR的药物”
  • “PrimeKG中二甲双胍与糖尿病之间的关系是什么?”
  • “向我展示PrimeKG中与TP53相关的生物过程”

发展

运行测试

uv run pytest

代码格式化

uv run black src/

类型检查

uv run mypy src/

数据源

PrimeKG整合了来自20多个生物医学资源的数据:

  • 中国医药银行(药品)
  • DisGeNET、OMIM(疾病)
  • STRING,BioGRID(蛋白质相互作用)
  • 基因本体论(生物过程)
  • 反应组,KEGG(途径)
  • SIDER(副作用)
  • 还有更多。..

引用

如果您在研究中使用PrimeKG,请引用:

@article{chandak2023building,
  title={Building a knowledge graph to enable precision medicine},
  author={Chandak, Payal and Huang, Kexin and Zitnik, Marinka},
  journal={Scientific Data},
  volume={10},
  number={1},
  pages={67},
  year={2023},
  publisher={Nature Publishing Group UK London}
}

许可证

此MCP服务器根据MIT许可证发布。

PrimeKG数据由哈佛医学院根据CC BY 4.0许可证发布。

链接

贡献

欢迎投稿!请随时提交拉取请求。

支持

对于问题和疑问:

目录标签

目录标签

PythonClaude数据分析精准医学本地部署知识图谱生物医学数据药物发现基因研究

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP