README
🚀 非官方生物本体论MCP服务器
这是一个可用于生产环境的模型上下文协议(MCP)服务器,它提供对生物本体论API的全面访问,可用于搜索、注释和探索超过1200种生物本体论。
🚀 快速开始
要使用此服务器,你需要一个生物本体论API密钥。你可以从 BioPortal 获取:
- 在 https://bioportal.bioontology.org/ 创建一个账户。
- 从你的账户设置中生成一个API密钥。
- 设置环境变量:
export BIOONTOLOGY_API_KEY=your_api_key_here
✨ 主要特性
搜索与发现
- search_terms - 可通过高级过滤选项在本体论术语中进行搜索。
- search_properties - 按标签和ID搜索本体论属性。
- search_ontologies - 按名称、描述或领域查找本体论。
- get_ontology_info - 获取特定本体论的详细信息。
文本分析
- annotate_text - 分析文本并识别相关的本体论术语。
- recommend_ontologies - 获取针对文本或关键词的本体论推荐。
- batch_annotate - 高效处理多个文本的注释。
本体论导航
- get_class_info - 获取本体论类别的详细信息。
分析与元数据
- get_ontology_metrics - 获取使用统计和质量指标。
- get_analytics_data - 获取访问者统计和流行趋势。
📦 安装指南
- 克隆或下载此服务器。
- 安装依赖项:
npm install
- 构建服务器:
npm run build
💻 使用示例
运行服务器
node build/index.js
该服务器在标准输入输出上运行,并实现了MCP协议,用于与兼容MCP的客户端进行通信。
资源模板
该服务器提供了几个用于直接数据访问的资源模板:
bioontology://ontology/{acronym}- 完整的本体论信息。bioontology://class/{ontology}/{class_id}- 本体论类别详细信息。bioontology://search/{query}- 术语搜索结果。bioontology://annotations/{text}- 文本注释结果。bioontology://recommendations/{input}- 本体论推荐。bioontology://analytics/{ontology}- 分析数据。
示例工具调用
搜索术语:
{
"tool": "search_terms",
"arguments": {
"query": "diabetes",
"ontologies": "NCIT,DOID",
"require_definitions": true,
"pagesize": 10
}
}
注释文本:
{
"tool": "annotate_text",
"arguments": {
"text": "The patient has diabetes mellitus and hypertension",
"ontologies": "NCIT,DOID,HP",
"longest_only": true
}
}
获取本体论推荐:
{
"tool": "recommend_ontologies",
"arguments": {
"input": "cancer treatment protocols",
"input_type": 1,
"output_type": 1
}
}
批量注释多个文本:
{
"tool": "batch_annotate",
"arguments": {
"texts": ["diabetes mellitus", "cardiac arrest", "lung cancer"],
"ontologies": "NCIT",
"longest_only": true
}
}
📚 详细文档
支持的本体论
该服务器可与BioPortal中可用的所有本体论(1200多种)一起使用,包括: 医学/临床:
- NCIT - NCI术语表(癌症术语)
- DOID - 疾病本体论
- HP - 人类表型本体论
- MESH - 医学主题词表
生物/化学:
- GO - 基因本体论
- UBERON - 解剖学本体论
- CHEBI - 具有生物学意义的化学实体
以及1190多种更专业的本体论
与MCP客户端集成
此服务器与任何支持MCP的客户端兼容。常见的选项包括:
- Claude Desktop - 添加到你的MCP配置中。
- VSCode扩展 - 与兼容MCP的扩展一起使用。
- 自定义应用程序 - 通过MCP协议进行集成。
MCP配置示例
添加到你的MCP客户端配置中:
{
"servers": {
"bioontology": {
"command": "node",
"args": ["/path/to/bioontology-server/build/index.js"],
"env": {
"BIOONTOLOGY_API_KEY": "your_api_key_here"
}
}
}
}
高级特性
输入验证
- 全面的参数验证,并提供适当的错误消息。
- 对所有输入进行类型检查。
- 对数字参数进行范围验证。
- 对受限值进行枚举验证。
错误处理
- 优雅地处理API错误。
- 结构化的错误响应。
- 网络超时管理。
- 身份验证错误报告。
性能
- 高效的API请求处理。
- 适当的超时管理。
- 内存使用优化。
- 支持并发请求。
API文档
有关详细的生物本体论API文档,请参阅:https://data.bioontology.org/documentation
生产使用
该服务器已经过全面测试,可用于生产环境。它提供:
- 可靠的API集成,具备强大的错误处理能力。
- 全面的输入验证,适用于所有工具。
- 完全符合MCP协议,实现无缝集成。
- 支持1200多种本体论,涵盖所有生物领域。
- 高性能,优化了响应时间。
📄 许可证
本项目采用MIT许可证,详情请参阅LICENSE文件。
引用
如果您在研究或出版物中使用了此项目,请按以下方式引用:
@misc{yourproject2025,
author = {Moudather Chelbi},
title = {Augmented Nature BioOntology MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/BioOntology-MCP-Server},
}
Scan to join WeChat group