返回市场
ols-mcp服务器

ols-mcp服务器

作者:seandavi18 星标更新:2025-07-17

项目介绍

OLS MCP 服务器

大型语言模型在处理本体时通常表现不佳,经常会出现术语或其标识符的幻觉。此服务器提供了一种可靠的方式来访问和查询本体,确保信息准确且最新。

说话的本体

此仓库包含一个模型上下文协议(MCP)服务器,该服务器提供了对本体查找服务(OLS) API的访问。此服务器使AI助手能够搜索并检索来自各种生物医学本体的本体术语、概念和层次结构。

此服务器旨在与像Claude Desktop这样的AI助手无缝协作,允许用户使用自然语言查询本体。它支持广泛的本体,包括基因本体(GO)、人类表型本体(HP)等。

在Claude Desktop中运行的mcp服务器。

没有(图像下方的上半部分)和启用mcp服务器(图像下方的下半部分):

在Claude Desktop中有无mcp服务器。

功能

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

  • 🔍 搜索术语:跨本体灵活过滤搜索术语
  • 📚 搜索本体:发现可用的本体及其元数据
  • ℹ️ 获取本体信息:检索特定本体的详细信息
  • 🎯 获取术语信息:获取特定术语的全面细节
  • 🌳 获取术语子项:找到本体层次结构中的直接子项
  • 👨‍👩‍👧‍👦 获取术语祖先:检索父项和祖先
  • 🤖 查找相似术语:使用LLM嵌入发现语义相似的术语

支持的本体

服务器可以与通过EBI本体查找服务提供的任何本体一起工作,包括:

  • GO(基因本体)
  • EFO(实验因子本体)
  • HP(人类表型本体)
  • MONDO(Monarch疾病本体)
  • ChEBI(具有生物学意义的化学实体)
  • UBERON(Uber解剖学本体)
  • 以及更多...

安装

预备条件

  • Python 3.12 或更高版本
  • uv 包管理器

安装 uv(如果尚未安装)

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

安装 OLS MCP 服务器

# 克隆仓库
git clone https://github.com/seandavi/ols-mcp-server.git
cd ols-mcp-server

# 安装依赖
uv sync

# 作为工具安装(可选)
uv tool install .

配置

Claude Desktop 配置

要将此服务器与Claude Desktop一起使用,请向您的Claude Desktop配置文件添加以下配置:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "ols-mcp-server": {
      "command": "uv",
      "args": [
        "tool",
        "run",
        "ols-mcp-server"
      ],
      "env": {}
    }
  }
}

替代配置(如果已作为工具安装)

如果您已将服务器作为uv工具安装,您可以使用这个更简单的配置:

{
  "mcpServers": {
    "ols-mcp-server": {
      "command": "ols-mcp-server",
      "args": [],
      "env": {}
    }
  }
}

使用示例

一旦与Claude Desktop配置好,您就可以使用自然语言与OLS API交互:

搜索术语

"搜索人类表型本体中与糖尿病相关的术语"

"在基因本体中查找所有包含'凋亡'的术语"

获取本体信息

"告诉我关于基因本体的信息"

"有哪些可用于化学化合物的本体?"

探索术语层次结构

"显示GO中术语'metabolic process'的子项"

"HP:0000118的祖先术语是什么?"

查找相似术语

"在基因本体中查找与'心脏发育'相似的术语"

开发环境设置

设置开发环境

  1. 克隆仓库

    git clone <repository-url>
    cd ols-mcp-server
    
  2. 安装依赖

    uv sync --extra dev
    
  3. 激活虚拟环境

    source .venv/bin/activate  # macOS/Linux
    # 或
    .venv\Scripts\activate     # Windows
    

代码质量

# 格式化代码
uv run ruff format

# 检查代码
uv run ruff check

# 类型检查
uv run mypy src/

添加新功能

  1. src/ols_mcp_server/server.py 中使用 @mcp.tool() 装饰器添加新工具
  2. src/ols_mcp_server/models.py创建模型以获得结构化的响应
  3. 更新测试以覆盖新功能
  4. 更新文档如有需要

API 文档

服务器与EBI本体查找服务API v2进行交互。关键端点:

  • 搜索https://www.ebi.ac.uk/ols4/api/search
  • 本体https://www.ebi.ac.uk/ols4/api/v2/ontologies
  • 术语https://www.ebi.ac.uk/ols4/api/terms
  • 层次结构https://www.ebi.ac.uk/ols4/api/v2/ontologies/{ontology}/classes/{term}/children

故障排除

常见问题

  1. 未找到服务器:确保在Claude配置中服务器路径正确
  2. 权限错误:确保服务器脚本是可执行的
  3. 网络错误:检查您的互联网连接和防火墙设置
  4. Python 版本:确保您使用的是Python 3.12或更高版本

贡献

  1. 分叉仓库
  2. 创建功能分支:git checkout -b feature-name
  3. 进行更改
  4. 运行测试:uv run pytest
  5. 格式化代码:uv run ruff format
  6. 提交拉取请求

致谢