TogoMCP:RDF门户的MCP服务器
一 MCP(模型上下文协议) 服务器,允许AI助手(Claude等)通过SPARQL访问生物和生物医学RDF数据库 RDF门户,以及选定的REST API(NCBI E-utilities、UniProt、ChEMBL、PDB、Reactome、Rhea、MeSH等)。
快速入门:远程服务器(无需安装)
您可以直接使用托管的TogoMCP服务器,无需进行本地设置。\ 看 https://togomcp.rdfportal.org/ 用于连接说明。
______________________________________________________________________
本地安装
先决条件
- Python>=3.11
- 紫外线 包管理器
1.安装 uv
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"2.克隆并安装
git clone https://github.com/dbcls/togomcp.git
cd togomcp
uv sync3.设置NCBI API密钥(对于NCBI工具是必需的)
获取您的NCBI API密钥 并将其导出:
export NCBI_API_KEY="your-key-here"______________________________________________________________________
配置
克劳德桌面版
编辑您的Claude Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
~\AppData\Roaming\Claude\claude_desktop_config.json
{
"mcpServers": {
"togomcp": {
"command": "/path/to/uv",
"args": [
"--directory",
"/path/to/togomcp",
"run",
"togo-mcp-local"
],
"env": {
"NCBI_API_KEY": "your-key-here"
}
}
}
}小贴士:运行which uv(macOS/Linux)或where uv(Windows)查找到的完整路径uv.
管理模式
替换 togo-mcp-local 随着 togo-mcp-admin 还可以启用用于生成新MIE(元数据互操作性交换)文件的工具,这对添加新数据库支持的贡献者很有用。
______________________________________________________________________
码头工人
A. Dockerfile 提供用于容器化部署。
推荐: docker compose
compose.yaml 定义两个服务-- togomcp-main (端口8000)和 togomcp-test (端口8001)--因此您可以从同一映像并行运行生产和暂存端点。
cp .env.example .env # then fill in NCBI_API_KEY
docker build -t localhost/togo-mcp:latest . # build main image (tag in .env)
docker compose up -d togomcp-main # start main endpoint常见操作:
docker compose logs -f togomcp-main # tail logs
docker compose down # stop and remove all services
docker compose down togomcp-test # stop and remove just one
docker compose up -d togomcp-test # after rebuilding, recreates with new image通过以下方式覆盖图像标签和主机端口 .env --看 .env.example 查看完整列表。使用 docker compose up -d --force-recreate 如果compose没有拾取重建的图像,以及 docker image prune -f 清理悬空层。
简单: docker run
对于没有组合的单个容器:
docker build -t togo-mcp .
docker run -e NCBI_API_KEY="your-key-here" -p 8000:8000 togo-mcp______________________________________________________________________
工具调用日志记录(可选)
TogoMCP可以将每个MCP工具调用记录为每个调用一行JSON(时间戳, 工具名称、参数、状态、elapsed_ms、会话/请求/客户端ID、传输、, 客户端IP)。SPARQL调用丰富了端点URL、HTTP代码、行/字节 查询的SHA-256。可用于基准测试、MIE迭代、, 以及重建多工具序列。
On/off是一个单一的环境变量: TOGOMCP_QUERY_LOG未设置/为空=已禁用 (默认为零开销)。设置为可写文件路径以启用。 输出用途 RotatingFileHandler (50 MB×10,~500 MB上限)。
码头工人
compose.yaml 绑定支架 ./logs (以及 ./logs-test)在主机上 /var/log/togomcp 在每个集装箱内通过 TOGOMCP_QUERY_LOG / TOGOMCP_QUERY_LOG_TEST 从 .env.选择加入:
echo 'TOGOMCP_QUERY_LOG=/var/log/togomcp/togomcp.jsonl' >> .env
mkdir -p logs
docker compose up -d togomcp-main
tail -f logs/togomcp.jsonlenv变量中的路径是 集装箱侧 路径;捆绑架使 在以下位置可见同一文件 ./logs/togomcp.jsonl 在你的主机上。离开var unset会一直注销——不需要进行组合更改。
克劳德桌面(本地stdio)
添加 TOGOMCP_QUERY_LOG 到 env 旁边的街区 NCBI_API_KEY.使用 绝对路径(生成进程的cwd是不可预测的),并确保 父目录存在:
"env": {
"NCBI_API_KEY": "your-key-here",
"TOGOMCP_QUERY_LOG": "/Users/you/togomcp-logs/togomcp.jsonl"
}然后 mkdir -p ~/togomcp-logs 一次并完全重新启动Claude Desktop。
______________________________________________________________________
可用数据库和工具
TogoMCP公开了用于查询以下内容的工具(通过SPARQL或REST API):
| 类别 | 资源 |
|---|---|
| 蛋白质/蛋白质组学 | UniProt、PDB、jPOST |
| 基因/基因组学 | NCBI基因、Ensembl、HGNC、OMA、Bgee、DDBJ |
| 化学 | 中国生物医药研究所、PubChem、中国生物工程研究所、Rhea、BRENDA |
| 路径 | 反应组 |
| 疾病/临床 | ClinVar、MedGen、MONDO、NANDO |
| 文学 | PubMed,PubTator |
| 微生物学 | BacDive、MediaDive、AMR门户 |
| 糖组学 | GlyCosmos |
| 本体论/词汇 | MeSH,GO |
| 分类学 | NCBI分类学 |
______________________________________________________________________
示例提示
连接后,您可以向您的AI助手询问以下问题:
- *“在UniProt中查找与阿尔茨海默病相关的所有人类蛋白质。”*
- *“在ChEMBL数据库上运行SPARQL查询,以查找靶向EGFR的化合物。”*
- *“在PubMed上搜索有关CRISPR碱基编辑的最新论文。”*
- *“反应组中涉及TP53基因的途径是什么?”*
______________________________________________________________________
目录结构
togomcp/
├── togo_mcp/ # Main Python package
│ ├── server.py # MCP server entry point
│ ├── main.py # Core logic and tool registration
│ ├── admin.py # Admin-mode tools (MIE generation)
│ ├── api_tools.py # REST API integrations (ChEMBL, PDB, Reactome, etc.)
│ ├── ncbi_tools.py # NCBI E-utilities tools
│ ├── rdf_portal.py # RDF Portal / SPARQL tools
│ ├── togoid.py # TogoID identifier conversion tools
│ └── data/ # Bundled data files (included in wheel)
│ ├── mie/ # MIE files (YAML, one per database)
│ ├── docs/ # Developer documentation
│ └── resources/ # Static resources (endpoints.csv, prompts, etc.)
├── benchmark/ # Benchmarking scripts and results
├── scripts/ # Utility/maintenance scripts
├── workflows/ # Example workflow prompts
├── Dockerfile # Docker build configuration
├── pyproject.toml # Python project metadata and entry points
└── uv.lock # Locked dependency versions (uv)______________________________________________________________________
贡献
欢迎投稿!要添加对新数据库的支持,请参阅 togo_mcp/data/mie/ 目录和用于生成MIE文件的管理模式工具。请在GitHub上打开问题或拉取请求。
参考
金城,A.R.,山本,Y.,布斯塔曼特·拉里特,S.,拉布拉多Gayo,J.-E.,&藤泽,T.(2026)。TogoMCP:通过模式引导的LLM和模型上下文协议对生命科学知识图进行自然语言查询。 *bioRxiv*. https://doi.org/10.64898/2026.03.19.713030
许可证
该项目根据 MIT许可证.
