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

此仓库包含一个模型上下文协议(MCP)服务器,该服务器提供了对本体查找服务(OLS) API的访问。此服务器使AI助手能够搜索并检索来自各种生物医学本体的本体术语、概念和层次结构。
此服务器旨在与像Claude Desktop这样的AI助手无缝协作,允许用户使用自然语言查询本体。它支持广泛的本体,包括基因本体(GO)、人类表型本体(HP)等。

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

OLS MCP 服务器提供以下工具:
服务器可以与通过EBI本体查找服务提供的任何本体一起工作,包括:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# 克隆仓库
git clone https://github.com/seandavi/ols-mcp-server.git
cd ols-mcp-server
# 安装依赖
uv sync
# 作为工具安装(可选)
uv tool install .
要将此服务器与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的祖先术语是什么?"
"在基因本体中查找与'心脏发育'相似的术语"
克隆仓库:
git clone <repository-url>
cd ols-mcp-server
安装依赖:
uv sync --extra dev
激活虚拟环境:
source .venv/bin/activate # macOS/Linux
# 或
.venv\Scripts\activate # Windows
# 格式化代码
uv run ruff format
# 检查代码
uv run ruff check
# 类型检查
uv run mypy src/
src/ols_mcp_server/server.py 中使用 @mcp.tool() 装饰器添加新工具src/ols_mcp_server/models.py 中创建模型以获得结构化的响应服务器与EBI本体查找服务API v2进行交互。关键端点:
https://www.ebi.ac.uk/ols4/api/searchhttps://www.ebi.ac.uk/ols4/api/v2/ontologieshttps://www.ebi.ac.uk/ols4/api/termshttps://www.ebi.ac.uk/ols4/api/v2/ontologies/{ontology}/classes/{term}/childrengit checkout -b feature-nameuv run pytestuv run ruff format