项目简介
BioPortal MCP 服务器是一个基于 Model Context Protocol (MCP) 的后端服务,旨在将 BioPortal 强大的生物医学本体论数据和功能以标准化的方式提供给大型语言模型(LLM)客户端。它通过暴露一系列工具,允许 LLM 客户端搜索本体术语、进行文本注释,并获取相关的生物医学知识,极大地扩展了 LLM 在生物医学领域的应用能力。
主要功能点
- 搜索本体术语: 在 BioPortal 庞大的生物医学本体论集合中,根据关键词搜索相关术语。
- 灵活的搜索过滤: 支持通过指定本体(如 NCIT、GO、HP、MONDO 等)来限制搜索范围,实现更精确的查找。
- 精确与模糊匹配: 提供选项选择是要求搜索结果与查询词完全匹配,还是允许进行近似(模糊)匹配。
- 丰富的搜索结果: 返回每个匹配术语的唯一标识符(ID)、首选标签、所属本体的缩写和本体页面URL。
- 文本注释: 分析给定文本,识别其中提及的生物医学本体术语,并提供匹配的文本片段、术语ID、首选标签、所属本体及在原文中的位置。
安装步骤
- 确保环境就绪: 您的系统需要安装 Python (推荐 3.8+) 和 'pip' 或 'uv' 包管理器。
- 从源代码安装:
打开终端或命令行,克隆仓库后进入项目目录,然后执行以下命令安装:
git clone https://github.com/ncbo/bioportal-mcp.git cd bioportal-mcp pip install -e . # 或者使用 uv # uv pip install -e .
服务器配置
在运行 BioPortal MCP 服务器之前,您需要获取一个 BioPortal API 密钥:
- 访问 BioPortal 网站,注册并登录您的账户。
- 在您的账户设置页面中找到并复制您的 BioPortal API 密钥。
- 将 API 密钥设置为名为 'BIOPORTAL_API_KEY' 的环境变量。例如,在 Linux/macOS 终端中可以这样设置:
注意: 如果您使用的是 MCP 客户端(如 Claude Desktop),也可以直接在客户端的 MCP 服务器配置中提供此密钥,如下文所示。export BIOPORTAL_API_KEY="您的BioPortal_API_密钥"
对于 MCP 客户端(如兼容 MCP 协议的 AI 助手)与本服务器的连接,您需要在客户端的配置中添加一个服务器条目。通常,这涉及在一个 JSON 格式的配置文件中添加类似以下的结构:
{ "mcpServers": { "bioportal": { // 这是您为该服务器定义的名称,可自定义 "command": "bioportal-mcp", // 客户端用来启动本 MCP 服务器的命令 "env": { "BIOPORTAL_API_KEY": "您的BioPortal_API_密钥" // 可选:如果在此处提供,将覆盖系统环境变量中的API密钥 } } } }
- '"bioportal"':这是一个自定义的服务器标识符,便于您的客户端管理不同的 MCP 服务器。
- '"command": "bioportal-mcp"':指定了 MCP 客户端在需要时启动本服务器的命令。
- '"env": { "BIOPORTAL_API_KEY": "..." }':允许您直接在客户端配置中设置 BioPortal API 密钥,而不是依赖系统环境变量。请将 '"您的BioPortal_API_密钥"' 替换为您的实际密钥。
基本使用方法
-
启动 MCP 服务器: 在终端中,确保已设置 'BIOPORTAL_API_KEY' 环境变量(或将在客户端配置中提供),然后运行以下命令启动服务器:
bioportal-mcp服务器启动后,它将等待来自 MCP 客户端的连接。
-
通过 MCP 客户端调用: 您的 MCP 客户端(例如 Claude Desktop 或其他支持 MCP 协议的 AI 助手)将能够连接到此服务器,并自动发现其提供的工具。然后,您可以通过与 AI 助手的自然语言交互来调用这些工具。
- 搜索生物医学术语: 您可以指示 AI 助手“搜索关于癌症的 BioPortal 本体术语”,AI 助手将调用 'search_ontology_terms' 工具并返回结果。
- 注释文本: 您可以向 AI 助手提供一段文本,并要求它“在以下文本中查找生物医学术语:'Melanoma is a malignant tumor.'”,AI 助手将调用 'annotate_text' 工具并返回注释结果。
信息
分类
网页与API