RegNetwork MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@RegNetwork MCPresolve TP53 in human core, then show its downstream targets"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
RegNetwork MCP
RegNetwork MCP 是一个线上优先、只读的本机 MCP 服务。Agent 在你的电脑上启动它;查询按需访问 RegNetwork 网站,不要求先下载整个数据库,也不会修改上游数据库。你也可以明确指定一个官方压缩文件让 MCP 下载到本机;它不会自动下载或解压文件。
首发目标是 Windows、Python 3.13 和支持本机 stdio MCP 的客户端。0.2.1 提供 9 个科研数据工具,包括名称解析、调控关系查询、子网络分析、结果导出,以及按需下载一个 RegNetwork 官方文件。
软件工程测试只检查安装、接口和结果处理,不代表 RegNetwork 的生物学内容已由专家复核,也不构成实验或因果验证。
安装前准备
需要 Windows 10/11 和网络连接。使用 uv 启动器运行应用,无需克隆项目仓库;如果电脑尚未安装 Python 3.13,uv 会按配置准备运行时。
在 PowerShell 安装 uv:
winget install --id=astral-sh.uv -e安装后重新打开 PowerShell,确认 uv --version 和 uvx --version 都能运行。uvx 是 uv 附带的临时运行命令;首次使用时它会下载这个 MCP 包和所需 Python 环境。
可先单独检查包能否启动:
uvx --python 3.13 --from regnetwork-mcp==0.2.1 regnetwork-mcp --versionRelated MCP server: RNAcentral MCP Server
接入 Codex
确认 Codex 命令行可用后,在 PowerShell 运行:
codex mcp add regnetwork -- uvx --python 3.13 --from regnetwork-mcp==0.2.1 regnetwork-mcp
codex mcp list重启 Codex 桌面应用或重新打开会话,然后让 Agent 查询 RegNetwork MCP 的工具。上述命令固定使用 0.2.1,可以复现同一版服务。
也可以把 Codex TOML 示例 中的配置段加入 %USERPROFILE%\.codex\config.toml 的 [mcp_servers.regnetwork] 配置。
接入 Claude Code
在要使用这个 MCP 的项目目录中打开 Claude Code 终端,然后运行:
claude mcp add --transport stdio --scope project regnetwork -- uvx --python 3.13 --from regnetwork-mcp==0.2.1 regnetwork-mcp
claude mcp list--scope project 会把配置写入当前项目根目录的 .mcp.json,方便把配置与项目一起复现。首次打开该项目时,Claude Code 会要求你审查并批准项目 MCP;批准后可运行 /mcp 检查连接。claude mcp list 若显示 Pending approval,表示还没完成这一步。
若希望它在你电脑上的所有项目中都可用,把命令里的 --scope project 改为 --scope user。也可将 Claude Code 项目配置示例 复制为项目根目录的 .mcp.json,再在 Claude Code 中审查并批准。
其他能启动本机 stdio MCP 的 Agent,也可以参考这两份配置中的 command 和 args。客户端添加 MCP 的方式不完全相同,请以对应客户端的当前说明为准。
更新与卸载
更新时,把客户端配置中的 regnetwork-mcp==0.2.1 改成要使用的版本,再重启客户端。固定版本可以让同一分析流程继续使用同一 MCP 版本;不要在尚未确认新版本前删除旧版本记录。
从 Codex 移除:
codex mcp remove regnetwork从 Claude Code 移除:
claude mcp remove regnetwork如果使用 .mcp.json,删除该文件中 regnetwork 项即可。uvx 管理运行环境;不需要单独运行卸载程序。
MCP 能做什么
工具 | 用途 |
| 检查线上统计接口、来源统计一致性、缓存与能力 |
| 根据物种和名称查找来源实体候选,明确标出歧义 |
| 按调控关系两端及类型、集合、来源分数筛选 |
| 查询一个实体的一跳上游、下游或两者 |
| 提取输入基因集合内部的有向关系 |
| 汇总节点、边、类型、自环、度数和弱连通分量 |
| 查看上游已有的来源、score、PMID、方法及缺失原因 |
| 导出 TSV、JSON 或 GraphML,并生成可复现清单和校验值 |
| 按物种、集合和文件类别下载一个官方 |
一个常见分析顺序是:先用 resolve_entities 明确身份,再查询关系或提取子网络,查看结构与证据,最后导出结果。
使用 download_official_file 时,必须从以下官方类别中选择一个:tf_target、mirna_target、lncrna_target、circrna_target、regulator_tf、regulator_mirna、regulator_lncrna、regulator_circrna、regulator_gene、regulator_target。regulator_target 对应官网该物种/集合最后一行的整组压缩包;选择它会下载一个可能较大的完整集合文件。其他类别只下载对应的分类文件。工具默认不覆盖同名文件,只有明确设置 overwrite=true 才替换;下载后不会自动解压。
物种参数为 human 或 mouse;集合参数为 core 或 complete(对应网站的 all)。每次查询都应明确指定物种和集合。陌生 accession 需要先用名称解析取得本 MCP 的来源实体 ID。
完整的参数和返回结构见 MCP 工具 Schema。
怎样理解结果
ok表示这次操作成功;还需查看coverage、warnings和来源记录。empty表示本次查询没有观察到匹配项,不证明生物学上不存在关系。partial表示分页、输入映射、证据或来源统计存在不完整情况;按返回说明判断能否继续使用。error或unavailable表示操作失败,不能解释为“零关系”。来源记录包含访问时间、响应 hash 和 online/cache 标记。多个分页结果可能来自不同时间,不代表同一个原子数据库快照。
工具保留物种、namespace/accession 和复合 ID;不会只凭相同符号合并 miRNA 前体与成熟体。来源缺少的分数、PMID 或类型不会被补造。来源 score 不是效应大小、激活/抑制方向或疾病因果证据。MCP 不抓取论文全文、不修改源数据库、不自动下载数据。download_official_file 只能选择官网下载页列出的单个文件,包含官方的物种/集合整组压缩包;每个文件最多 8 GiB,下载后不解压。当前未实现富集、PCA-CMI 或本地数据库服务器管理。
数据来源与使用边界
查询直接访问 RegNetwork 官网 的公开查询页面;官方文件下载仅使用 RegNetwork 下载页 列出的链接。来源版本标记和字段说明以其当时的响应为准。背景论文为 RegNetwork 2025 论文(DOI: 10.1093/nar/gkaf779;PMID: 40804431)。查询无需本地整库;选择下载官方整组压缩包是用户主动操作。
RegNetwork 官网说明其数据用于学术研究,商业使用需联系维护者。本项目代码按 MIT 许可证发布,但这不授予上游数据库超出其自身条件的使用权。使用者应单独遵守上游数据条款。
缓存和导出位置
服务在本机保存小型查询缓存、已提取分析结果和用户请求的导出/下载文件。官方 .7z 文件保存在 downloads/,MCP 不会自动解压。默认数据目录:
Windows:
%LOCALAPPDATA%\RegNetworkMCPmacOS/Linux:
$XDG_DATA_HOME/regnetwork-mcp;未设置时为~/.local/share/regnetwork-mcpSQLite 缓存:数据目录下
.runtime/results.sqlite导出:数据目录下
exports/官方下载:数据目录下
downloads/,每个压缩包旁有.manifest.json来源清单
如需换位置,在客户端的 MCP 环境变量中设置 REGNETWORK_MCP_ROOT。例如 Codex 配置:
[mcp_servers.regnetwork]
command = "uvx"
args = ["--python", "3.13", "--from", "regnetwork-mcp==0.2.1", "regnetwork-mcp"]
env = { REGNETWORK_MCP_ROOT = "D:\\RegNetworkMCP" }缓存默认有效 24 小时,最多保留 7 天,缓存载荷上限为 50 MiB。refresh: true 会重新访问线上;访问失败不会静默返回过期缓存。清理缓存不会删除导出文件。
0.2.1 为线上查询增加单响应 32 MiB(HTTP 解码后)和 mapping 100,000 条记录的资源上限。超限会明确返回错误,不会把截断结果描述成完整结果;官方文件下载仍使用独立的 8 GiB 上限。下载与导出支持跨进程互斥和异常中断后的恢复。
开发与验收
开发者需要 Python 3.13 和 uv。在项目目录运行:
uv sync --locked
uv run python -m pytest -q
uv build --no-sources使用 MCP Inspector 的方式见 连接示例。本地开发和首发流程见 发行说明;可公开的协议验收摘要见 docs/verification/。
Available Tools
9 toolsdownload_official_fileA
下载 RegNetwork 官方下载页的一个 .7z 文件到本机 downloads/,写入 SHA-256 清单但不解压。每次仅下载一个官方清单项目,最大 8 GiB。
| Name | Required | Description | Default |
|---|---|---|---|
| dataset | Yes | ||
| species | Yes | ||
| overwrite | No | ||
| file_category | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| error | No | |
| status | Yes | |
| coverage | Yes | |
| warnings | No | |
| provenance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only tell the agent it is a non-readOnly, open-world, non-idempotent, non-destructive call. The description goes well beyond them by disclosing concrete side effects: writes into downloads/, records a SHA-256 manifest, deliberately skips extraction, and caps download size at 8 GiB. It omits what happens when the target file already exists, leaving the overwrite parameter's effect unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the first gives the action and its side effects, the second gives the hard limits. No filler, and the most decision-relevant facts (no extraction, size cap) are up front.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so the manifest result needs no prose, and the destructive/size behavior is covered. Still, for a 4-parameter, 3-enum tool with zero schema documentation, an agent cannot tell what 'complete' vs 'core' costs in size or what overwrite=true does, which the description should fill in.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description offers no parameter guidance at all beyond hinting that selection is per manifest item. Vocabulary like dataset=core vs complete, the ten file_category values, and the non-idempotent overwrite flag are left entirely to inference from bare enum members.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (下载) plus a precisely scoped resource: a .7z file from RegNetwork's official download page, written to downloads/ without extraction. An agent knows exactly what the call produces. It does not name a sibling (export_network, get_database_status) to contrast against, so it stops short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when the tool applies (pulling official published datasets rather than querying the live graph), and it adds a real usage constraint: one official manifest item per call, max 8 GiB. It never states when not to use it, nor points to a sibling for the alternative path of getting interaction data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_networkBIdempotent
在专用目录创建可复算网络文件及校验清单,返回可读取的 MCP resource URI。
| Name | Required | Description | Default |
|---|---|---|---|
| format | Yes | ||
| subnetwork_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| error | No | |
| status | Yes | |
| coverage | Yes | |
| warnings | No | |
| provenance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
注解已声明非只读、幂等、非破坏和封闭世界;描述额外说明会生成可复算文件与校验清单并返回 MCP resource URI,补充了产物形态和返回方式。未说明覆盖已有文件的策略或权限要求,但幂等注解已部分覆盖重复调用语义。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
单句且信息前置,没有冗余内容。但对一个需要选择导出格式的工具而言略显压缩,未展开必要参数说明。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
有输出 schema 和注解,描述覆盖了产物与返回 URI;但参数语义完全缺失,format 选项和 subnetwork_id 作用未说明,对正确选择格式调用仍不够完整。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
描述完全未提及 subnetwork_id 或 format 参数;在 schema 描述覆盖率为 0% 的情况下,没有补偿 subnetwork_id 的含义,也没有说明 tsv/json/graphml 三种格式如何选择。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
明确使用动词“创建”并说明产出为可复算网络文件及校验清单,还指出返回 MCP resource URI,资源与结果清晰。但没有显式与 extract_subnetwork、download_official_file 等兄弟工具区分,导出与提取的边界需要靠名称推断。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
描述只说明工具做什么,没有说明何时应使用本工具而不是 extract_subnetwork 或 download_official_file,也没有前置条件、排除场景或替代方案提示。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_subnetworkARead-only
提取输入名称集合内部的有向网络;返回 subnetwork_id、输入状态和最多30条预览,完整边用于导出。
| Name | Required | Description | Default |
|---|---|---|---|
| dataset | Yes | ||
| refresh | No | ||
| species | Yes | ||
| symbols | Yes | ||
| max_edges | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| error | No | |
| status | Yes | |
| coverage | Yes | |
| warnings | No | |
| provenance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds real behavioral context by disclosing that the response contains a subnetwork_id, an input status, and at most 30 preview edges, with full edges reserved for export. That truncation behavior is exactly what an agent needs before deciding whether to chain a second call. It does not explain the refresh/max_edges interaction or whether the returned subnetwork_id persists server-side.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence: action, then return shape, then export caveat. No filler, no restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Reduced to 4: with an output schema present, return values need not be explained, yet the description spends most of its length on them while leaving all five inputs undocumented at 0% schema coverage. For a tool with two enum choices and a caching flag, an agent is left guessing about required inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters, so the description carries the full burden and largely fails: it only alludes to symbols ('输入名称集合'). Nothing explains species, the core vs complete dataset enum, refresh, or max_edges (capped at 5000), nor why the preview cap is 30 when max_edges defaults to 5000 — a genuine ambiguity left unresolved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: extracts the directed network induced by a set of input names. It also distinguishes itself from the export path by noting the result is a capped preview, so an agent can tell it apart from export_network without opening the schema. It stops short of naming sibling tools explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: call this when you have a set of entity names and want the internal subnetwork. The clause '完整边用于导出' hints that full edges require a follow-up export, which is a partial routing cue, but there is no explicit when-to-use vs when-not versus summarize_network, get_neighbors, or search_interactions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_database_statusBRead-only
检查线上统计接口、缓存、源统计一致性和当前工具能力。
| Name | Required | Description | Default |
|---|---|---|---|
| refresh | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| error | No | |
| status | Yes | |
| coverage | Yes | |
| warnings | No | |
| provenance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, and the description is consistent with a read-only diagnostic that touches external systems. It adds value by naming the subsystems checked, but says nothing about the cost or side effects of a refresh (does it re-query the external statistics endpoint? how long does it take?). Given openWorldHint, that omission is notable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb first and no filler. It is appropriately short, though the enumerated list is dense enough that the actual purpose ('health check') is only implied rather than stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. What remains missing is the semantics of the only parameter and any guidance on interpretation or when the check should be run — leaving the definition minimally adequate for a single-parameter diagnostic tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, 'refresh', with 0% schema description coverage, and the description never mentions it. An agent cannot tell from either source whether refresh forces a live re-fetch, clears a cache, or simply returns cached data — a meaningful distinction for a diagnostics call that hits external systems.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (检查/check) and enumerates the concrete subsystems examined: the online statistics endpoint, cache, source-statistics consistency, and current tool capabilities. It is clearly a diagnostics/health tool, which distinguishes it implicitly from the sibling graph-manipulation tools. Minor mismatch: the name says 'database_status' while the description talks about statistics interfaces and tool capabilities, which could make an agent unsure of scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus alternatives, no prerequisites, and no mention of when a status check is warranted (e.g., before or after other operations). The single sentence is purely descriptive, leaving usage entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_interaction_evidenceARead-only
读取此前查询/映射取得的来源注释和 PMID;不抓取论文全文,不把缺失值变成证据。
| Name | Required | Description | Default |
|---|---|---|---|
| interaction_id | Yes | ||
| max_references | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| error | No | |
| status | Yes | |
| coverage | Yes | |
| warnings | No | |
| provenance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false. The description adds genuinely non-derivable behavior: missing values are never promoted to evidence ('不把缺失值变成证据'), which warns the agent that sparse results are expected and should not be interpreted as findings. It does not disclose the max_references truncation behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence pair with the positive behavior front-loaded and the two exclusions trailing. No filler, and every clause carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the read-only profile is covered by annotations. However, with 0% parameter coverage the description should at minimum explain what interaction_id must be and that max_references bounds the reference list; those omissions leave real gaps for a two-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden for both parameters — yet neither interaction_id nor max_references is mentioned. The agent gets no guidance on ID format, where interaction_id comes from, or that max_references caps citation retrieval (default 20, max 100).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: reads source annotations and PMIDs for an interaction, drawn from prior query/mapping results. It also carves out a scope boundary (no full-text retrieval), which separates it from search_interactions and download_official_file. The link to interaction_id is implied only via '此前查询/映射', so it is not fully self-contained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'此前查询/映射取得的' tells the agent this is a follow-up call after discovery, not a search entry point. '不抓取论文全文' explicitly rules out the full-text use case that would otherwise tempt an agent. No sibling tool is named as an alternative, so routing is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_neighborsARead-only
查询一跳上游/下游,保留方向、来源和截断;陌生纯 ID 需先用名称解析。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| symbol | No | ||
| dataset | Yes | ||
| refresh | No | ||
| species | Yes | ||
| direction | No | both | |
| entity_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| error | No | |
| status | Yes | |
| coverage | Yes | |
| warnings | No | |
| provenance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the description does not need to restate safety. It adds useful behavioral context by noting that results preserve direction, source/provenance, and truncation; it does not describe pagination behavior, though limit/offset exist in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the core scope and the ID-resolution caveat front-loaded. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema covers return values and annotations cover safety, so the description need not explain response format. However, for an 8-parameter interface with no schema descriptions, it leaves important invocation details like dataset choice, refresh behavior, and pagination unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for 8 undocumented parameters. It only alludes to direction, raw IDs, and truncation; species, dataset, symbol, entity_id, refresh, limit, and offset are left to bare schema fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: querying one-hop upstream/downstream neighbors, with directional scope called out. It implies a narrower scope than broader subnetwork or interaction-search siblings, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear prerequisite: unfamiliar raw IDs must first be resolved by name, which effectively routes the agent to resolve_entities. It does not explicitly state when to prefer extract_subnetwork or search_interactions instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_entitiesARead-only
按完整名称查询来源实体候选;保留歧义和不完整结果,返回的 ID 可用于后续查询。
| Name | Required | Description | Default |
|---|---|---|---|
| dataset | Yes | ||
| refresh | No | ||
| species | Yes | ||
| symbols | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| error | No | |
| status | Yes | |
| coverage | Yes | |
| warnings | No | |
| provenance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and open-world. The description adds a genuinely non-obvious behavioral trait: ambiguous and incomplete candidates are kept rather than resolved away, so the agent knows to handle multiple/no hits. It does not explain what the 'refresh' flag does, which is the main remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the lookup and matching rule, then the result-handling caveat and the downstream-ID note. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the ambiguity caveat covers result handling. However, for a four-parameter tool with no schema descriptions, the meaning of 'dataset' and 'refresh' is missing, so the definition is only just sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, so the description must carry the load, yet it only implies that 'symbols' are matched by full name. The 'dataset' enum ('core' vs 'complete'), 'species', the 'refresh' flag and the 50-item cap are left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: query source entity candidates by full name, and notes the returned IDs feed later queries. It is clear enough to contrast with the interaction/network siblings, though it never names an alternative tool or states the identity-resolution role explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The workflow hint ('returned IDs can be used in subsequent queries') implies this is a first step before other lookups, and 'preserve ambiguity and incomplete results' implies it shouldn't be treated as authoritative filtering. There is no explicit when/when-not guidance or named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_interactionsCRead-only
精确查询起点或终点;至少给出一端名称/已解析 ID。完整性仅针对当前名称候选查询,别名不保证穷尽。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| dataset | Yes | ||
| refresh | No | ||
| species | Yes | ||
| min_score | No | ||
| confidence | No | all | |
| target_type | No | all | |
| target_symbol | No | ||
| regulator_type | No | all | |
| regulator_symbol | No | ||
| target_entity_id | No | ||
| regulator_entity_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| error | No | |
| status | Yes | |
| coverage | Yes | |
| warnings | No | |
| provenance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered externally. The description adds a genuinely useful caveat that alias coverage is not exhaustive and completeness is bounded to the current name candidates, but says nothing about pagination (limit/offset), the effect of refresh, or what dataset=complete costs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense clauses with no filler, and the anchoring requirement is front-loaded ahead of the completeness caveat. Brevity is close to over-terse given the parameter surface, but there is no wasted sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and annotations exist, so return shape and safety need not be restated, but for a 13-parameter search tool with zero schema descriptions the definition is far too thin — an agent cannot tell what confidence, min_score, dataset, or the type filters do.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 13 parameters, so the description carries the full burden and largely fails: it only gestures at the symbol/entity_id pair while dataset, confidence, min_score, target_type, regulator_type, refresh, limit, and offset remain unexplained anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that it performs a precise query anchored on a start or end point (i.e., regulator or target), and that at least one end must be supplied by name or resolved ID. However, it uses generic '起点/终点' phrasing rather than the schema's regulator/target vocabulary, and it does not differentiate itself from siblings like get_interaction_evidence or get_neighbors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear precondition (at least one of the two ends must be specified by symbol or resolved ID), which implies usage context. It offers no explicit when-not guidance and never names an alternative tool for the cases this one does not cover.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summarize_networkBRead-only
计算已提取子网络的度数、角色组成、自环、连通性;结构地位不等于疾病驱动性。
| Name | Required | Description | Default |
|---|---|---|---|
| subnetwork_id | Yes | ||
| include_self_loops | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| error | No | |
| status | Yes | |
| coverage | Yes | |
| warnings | No | |
| provenance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a read-only, non-open-world operation, so the safety profile is covered. The description adds the calculated metrics and an interpretive caution that structural position is not disease driverness, but it does not explain how include_self_loops affects behavior or how invalid subnetwork_id values are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the computation targets and adds a useful interpretive caveat with no wasted text. Every part contributes to purpose or interpretation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so the description need not enumerate return fields, and the annotations cover read-only behavior. However, with 0% schema description coverage, the definition remains incomplete on parameter behavior and explicit usage sequencing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate for both parameters. It only hints at self-loops via '自环' and says nothing about the required subnetwork_id or how include_self_loops changes the computation, leaving parameter meaning largely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb-resource combination: it computes degree, role composition, self-loops, and connectivity for an already extracted subnetwork. It distinguishes itself from extraction/export siblings by emphasizing summarization of an existing subnetwork, though it does not explicitly name those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase '已提取子网络' implies this should be used after a subnetwork has been extracted, but it never explicitly says to use extract_subnetwork first or when not to use this tool. Usage is therefore implied rather than clearly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
v0.1.0- First observed
download_official_file - First observed
export_network - First observed
extract_subnetwork - First observed
get_database_status - First observed
get_interaction_evidence - First observed
get_neighbors - First observed
resolve_entities - First observed
search_interactions - First observed
summarize_network
TDQS
Scored across 9 tools
Each tool has a distinct role: status, entity resolution, exact interaction search, one-hop neighbor retrieval, subnetwork extraction, summarization, evidence retrieval, export, and official file download. The descriptions explicitly bound overlapping concepts such as search vs. neighbors and extraction vs. summarization.
All tool names use snake_case and follow a predictable verb_noun or verb_adjective_noun pattern. The verbs are clear and consistent across the set.
Nine tools is well-scoped for a regulatory network database connector. Each tool covers a necessary stage of the workflow: status, lookup, traversal, extraction, analysis, evidence, export, and download.
The surface covers the main read-only lifecycle for querying, analyzing, exporting, and downloading regulatory network data. Minor gaps remain, such as no standalone search by PMID or explicit alias enumeration, but the descriptions acknowledge these limitations.
Maintenance
Related MCP Connectors
Machine-readable entity discovery with provenance, trust and verified source evidence.
Query STRING interactions, enrichment, annotations, homology, and PPI networks.
Reactome MCP — open biological pathway knowledge-base.
Search biomedical papers, inspect publication records, and traverse citation or semantic graphs.
Related MCP Servers
- AlicenseBqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server for accessing the STRING protein interaction database. This server provides powerful tools for protein network analysis, functional enrichment, and comparative genomics through the STRING API.64MIT

RNAcentral MCP Serverofficial
AlicenseAqualityAmaintenanceEnables complex searches, sequence mapping, genomic analysis, and metadata retrieval for non-coding RNA sequences from the RNAcentral database.8153 PyPIMIT- AlicenseNot gradedqualityAmaintenanceEnables building and analyzing signalling networks from interaction databases through a Model Context Protocol server.497 PyPI20GPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables searching a manually curated database of stable macromolecular protein complexes by protein or complex name, gene, GO term, or biological process, and fetching individual records by accession to retrieve subunits with UniProt identifiers, biological roles, and stoichiometry. Complements UniProt, IntAct, and STRING, and can be used keyless over a hosted gateway endpoint or run locally over stdio.358 npmMIT