关于 Symmap
Symmap 是用于探索 SymMap v2 中医关联图谱的 MCP 服务,面向研究人员和数据使用者,可查询草药、成分、症状、靶点与疾病,并标注证据等级以区别关联与临床证明。
主要功能
- 01跨七类实体搜索名称
- 02获取双语草药记录
- 03查询草药成分与症状
- 04追踪成分靶点及疾病关联
- 05为关联标注证据等级
适用场景
- 01按中文、拼音、拉丁文或英文查找草药
- 02查找与中医或现代症状相关的草药
- 03查看靶点与疾病关联的证据等级
MCP 相关
向 MCP 客户端提供 SymMap 搜索和关联图谱查询工具,可通过 Pipeworx 网关使用,也可作为独立的本地 stdio 服务运行。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/symmap/mcpclaude mcp add --transport http pipeworx-io-symmap https://gateway.pipeworx.io/symmap/mcp{"mcpServers":{"pipeworx-io-symmap":{"type":"http","url":"https://gateway.pipeworx.io/symmap/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-symmap":{"type":"http","url":"https://gateway.pipeworx.io/symmap/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-symmap":{"type":"http","url":"https://gateway.pipeworx.io/symmap/mcp"}}}{"mcpServers":{"pipeworx-io-symmap":{"serverUrl":"https://gateway.pipeworx.io/symmap/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@pipeworx/symmap
SymMap v2(symmap.org,北京中医药大学)——中医药关联图谱:包含 698 种草药、约 2.6 万种成分、约 2.1 万个蛋白质靶点、中医症状、中医证候、现代医学症状和约 1.4 万种疾病,通过整理和预测得到的关联相互连接。每个关系负载都带有明确的 evidence_tier(traditional_use | human_clinical | laboratory | computational_prediction)和一条 evidence_basis 说明,因为 SymMap 记录的是关联,而非疗效——其中没有任何内容能作为草药治疗任何疾病的临床证据。
属于 Pipeworx——一个将 AI Agent 连接到 1683+ 个实时数据源的 MCP 网关。
工具
symmap_search(query, entity)— 在七类实体中,将名称(中文、拼音、拉丁文、英文、基因符号、疾病名称)解析为 SymMap ID。symmap_herb(herb)— 完整的双语草药记录:中医属性、归经、药物类别、药用部位和所有名称形式。symmap_herb_ingredients(herb)— 草药中鉴定出的分子,包含 PubChem CID、CAS 和口服生物利用度评分。symmap_herb_symptoms(herb)— 草药的传统适应证:中医症状(SMTS)和中医证候(SMSY),与现代词汇分开列出。symmap_symptom_herbs(symptom, system)— 针对某种症状的草药;system:"tcm"进行直接查询,system:"modern"则通过 SymMap 整理的现代→中医症状对照表查询,并明确列出两个跳转步骤。symmap_ingredient(ingredient)— 成分的蛋白质靶点(带有 PubMed 引用的关联边等级为laboratory,未引用的等级为computational_prediction)及其所属草药。symmap_target_diseases(target)— 与基因相关的疾病;由 OMIM/Orphanet 提供依据的关联边等级为human_clinical,其余为computational_prediction。
身份验证
无需密钥。
数据源
- http://www.symmap.org/related_components/ — 表单 POST JSON:某个实体的关联边(
rrid、table_name、filter)。 - http://www.symmap.org/search/ — 表单 POST JSON:按名称搜索实体(
table_name、key)。 src/herbs.ts— 草药实体表,由scripts/bake-herbs.py根据 SymMap 下载页上的 SMHB 文件生成,因此草药查询不依赖上游服务。
接手后才会费力发现的事项:
- 该网站仅支持纯 HTTP——
https://www.symmap.org无法响应。 - **可下载的“key files”并非关系边。**它们是相同实体表的长格式(id、Field_name、Field_context)转储。实际图谱边仅通过
/related_components/提供。 - 由于后端设计,某些关联方向会返回 502:herb→Gene、herb→Disease、herb→MM_symptom 和 MM_symptom→Herb 每次都会返回 502;而 herb→Mol、herb→TCM_symptom、herb→Syndrome、Mol→Gene、Mol→Herb、TCM_symptom↔MM_symptom、TCM_symptom→Herb、Syndrome→Herb、Gene→Disease 和 Disease→Gene 均可稳定响应。工具只组合可靠的方向;查询草药的靶点时,会逐跳沿 herb→ingredients→targets 查询。
rrid同时接受SMHB1和SMHB00001两种格式。- 在 v2.0 中,
SMTS表示中医症状,SMSY表示中医证候(v2 新增),SMMS表示现代医学症状。v1 下载文件对SMTS的用法不同;请勿混用版本。 - 成分→靶点的文献证据以 HTML 片段形式提供,其中同一句话出现两次(简短版 + 完整版),另有一个 Fold 按钮;此包会提取完整版本和 PMID。
许可 / 致谢
SymMap 是一个免费访问的学术数据库;其网站声明下载文件可免费下载,且没有其他使用条款。发表结果时请引用论文:Wu 等人,《SymMap:通过症状映射增强的中医药整合数据库》,Nucleic Acids Research,2019,doi:10.1093/nar/gky1021。
快速开始
将其添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"symmap": {
"url": "https://gateway.pipeworx.io/symmap/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/symmap/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 的共享元工具——ask_pipeworx、
discover_tools、search_within、remember/recall 和其他网关级工具。因此,你看到的工具数量会多于表格中的数量:目前,单个工具包端点除了列出该工具包自己的工具,还会列出约 30 个共享工具。连接的 initialize 响应会说明其确切范围,也是当天情况的权威答案。
这是有意为之,并非意外的多路复用。元工具能让限定范围的连接回答该工具包未覆盖的问题——通过 ask_pipeworx 路由到整个目录——无需再添加第二个 MCP 服务。目前无法挂载不包含这些元工具的工具包端点;如果额外的架构定义占用的上下文比路由带来的价值更大,请连接一次完整网关,而不是连接多个工具包端点。
或者连接完整的 Pipeworx 网关,直接列出每个工具包的所有工具,而不只是当前工具包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
两个 URL 都连接到同一个网关和相同的 1683+ 个数据源。唯一的区别是直接列出哪个工具包的工具;无论连接哪一个,ask_pipeworx 都能访问所有工具包。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/symmap_search \
-H 'Content-Type: application/json' \
-d '{"query":"insomnia","entity":"mm_symptom"}'
首次调用无需账户。检查任意工具:GET https://gateway.pipeworx.io/v1/tools/symmap_search。查找工具包:使用 {"query":"..."} 向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求。
独立运行(无需网关账户)
此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需经过网关:
{
"mcpServers": {
"symmap": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-symmap"]
}
}
}
也可以直接运行,确认服务能够启动:
npx -y @pipeworx/mcp-symmap
它通过 stdin/stdout 使用 MCP 通信,并响应 initialize/tools/list/tools/call,但仅提供此工具包的工具——不包含上述网关连接额外提供的共享元工具。源代码相同,工具相同,但没有 ask_pipeworx 路由。
使用 ask_pipeworx
你可以用通俗英语提问,而不是直接调用工具——这既适用于上面的工具包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about Symmap data" })
网关会选择合适的工具,并自动填入参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。