Skip to content
Back to skills

xmed-figure-mcp

ASecurity

Scientific figure generation via X-Med MCP. Volcano, PCA, enrichment, survival, correlation. CSV/Excel upload, chart matching, parameter configuration, publication-grade multi-panel.

  • 417 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added November 8, 2026
datagogit

Works with

  • mcp

Security analysis

A100/100

Scanned November 8, 2026

npx -y skills add infometa/workbuddyskills --skill skills --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of xmed-figure-mcp?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for xmed-figure-mcp
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/infometa-xmed-figure-mcp/badge)](https://www.skillsdirectory.com/skills/infometa-xmed-figure-mcp)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: xmed-figure-mcp
description: "Scientific figure generation via X-Med MCP. Volcano, PCA, enrichment, survival, correlation. CSV/Excel upload, chart matching, parameter configuration, publication-grade multi-panel."
description_zh: "科研数据可视化:火山图、PCA、富集分析、生存分析,自动匹配发表级输出"
description_en: "Scientific visualization: volcano, PCA, enrichment, survival, and more."
version: 1.0.10
homepage: https://x-med-kyy.dazd.cn
source_type: git
git_url: https://gitlab.dazd.cn/yusm1/xmed-figure-expert.git
---

# 迪安智能科研云 MCP 连接器

> **MCP 连接器**:`xmed-figure-mcp` | 出品方:迪安诊断科研云智能分析平台 | 官网:https://x-med-kyy.dazd.cn

通过智能科研云 MCP 生成科研数据可视化图表。本连接器提供 4 个 MCP 工具,配套的科研绘图专家提供完整的脚本工作流(数据上传、格式转换、结果下载、多面板组图)。

## 1. 图表类型与意图判定

从用户意图匹配 `chartType`,判定优先级:**1.1 场景关键词 → 1.2 歧义消解 → 1.3 数据驱动推断 → 1.4 索引表精确确认**。

### 1.1 场景关键词 → chartType 映射

当用户未明确指定图表名称时,根据分析场景关键词推断候选图表类型:

| 场景关键词 | 候选 chartType | 优先级 |
|-----------|---------------|:--:|
| 差异表达 / 差异分析 / 上调下调 / log2FC / pvalue | volcano | 1 |
| 降维 / 聚类 / 分群 / 样本分布 | pca | 2 |
| 富集分析 / GO / KEGG / 通路 / 功能注释 | enrich_bar, enrich_bubble, enrich_point | 1 |
| 相关性 / 相关系数 | cor_pheatmap, cor_matrix, correlation_network | 2 |
| 韦恩 / 交集 / 并集 | venn, upset | 1 |
| 生存分析 / 生存曲线 / KM | km_risk_table | 1 |
| 随时间变化 / 趋势 / 时间序列 | dotline_columns, stacked_area, gantt | 2 |
| 分类 / 占比 / 组成 | donut, stacked_area | 2 |
| 比较 / 差异 / 对比 | bilateral_bar, dumbbell | 2 |
| 模型评估 / 分类器 / 诊断 | roc, nomogram | 1 |
| 网络 / 关系图 | correlation_network, sankey_diagram | 2 |

### 1.2 歧义消解

当多个候选命中同一优先级时,**展示 Top 2~3 候选的中文名 + 一句话描述让用户选择**,不要自行决定。

示例:
> "您提到'看相关性',匹配到:① 相关性热图(通过颜色梯度展示变量之间相关性)② 相关性矩阵图(展示多个变量之间两两相关性)③ 相关性网络图(展示变量之间相关性关系),您想用哪个?"

### 1.3 数据驱动推断

当用户上传了数据文件但未指定图表类型时,根据文件名关键词推断:

| 文件名关键词 | 推断 chartType |
|-------------|---------------|
| `*deg*` / `*diff*` / `*差异*` / `*DE*` | volcano |
| `*go*` / `*kegg*` / `*enrich*` / `*富集*` | enrich_bar, enrich_bubble, enrich_point |
| `*survival*` / `*生存*` | km_risk_table |
| `*correlation*` / `*cor*` / `*相关*` | cor_pheatmap, cor_matrix |
| `*venn*` / `*韦恩*` | venn |
| `*pca*` / `*降维*` | pca |

### 1.4 图表类型索引表

精确匹配或确认后,从此表获取 `chartType` 和完整描述:

| 图表名称 | chartType | 描述 |
|----------|-----------|------|
| 火山图 | volcano | 通过散点的位置和颜色展示差异分析结果 |
| 样本-鉴定柱形图 | protein_number | 通过柱形高度展示样本特征或鉴定结果 |
| PCA | pca | 通过降维呈现样本间的相似性和分组结构 |
| 组-CV柱形图 | cv_analysis | 通过柱形高度表示不同组别的数据变异程度 |
| 相关性热图 | cor_pheatmap | 通过颜色梯度展示变量之间相关性 |
| 富集条形图 | enrich_bar | 通过条形长度和颜色展示功能富集分析结果 |
| 富集气泡图 | enrich_bubble | 通过气泡的大小、颜色和位置展示功能富集分析结果 |
| 富集-点图 | enrich_point | 通过点的大小、颜色和位置展示功能富集分析结果 |
| 桑基图 | sankey_diagram | 描述数据的流动、转换、变化过程 |
| 韦恩图 | venn | 用图形直观表示集合之间逻辑关系 |
| 哑铃图 | dumbbell | 比较同一组数据在两个不同条件下的变化情况 |
| 分层聚类图 | cluster_tree | 展示数据层次聚类结果 |
| 堆叠面积图 | stacked_area | 显示不同物种在特定区域内的分布和相对数量 |
| 双向柱状图 | bilateral_bar | 比较方向相反的两组数据 |
| 甘特图 | gantt | 展示项目的进度和成果 |
| 圆环图 | donut | 展示数据的占比关系 |
| 交集关系图 | upset | 通过矩阵布局展示集合的交集大小 |
| 三元组图 | ternary | 以三元组形式表示的关系图 |
| 相关性矩阵图 | cor_matrix | 展示多个变量之间两两相关性 |
| 诺莫图 | nomogram | 将多因素回归分析结果可视化 |
| 分组蜂群图 | beeswarm | 可视化分类数据分布 |
| 分组直方图 | grouped_histogram | 展示多个组数据分布 |
| KM生存分析图 | km_risk_table | 展示不同组别随时间推移的生存概率变化 |
| 雷达图 | radar | 比较多变量数据 |
| ROC 曲线图 | roc | 评估二分类模型预测性能 |
| 散点图 | scatter | 展示两个连续变量之间的关系 |
| 四象限图 | four_quadrant | 分析和比较两个变量关系 |
| 线性回归 | linear_regression | 展示两个变量间线性关系 |
| 点线图 | dotline_columns | 结合数据点与连线 |
| 相关性网络图 | correlation_network | 展示变量之间相关性关系 |

### 1.5 无匹配处理

如果经过 §1.1~§1.4 仍无法匹配到合适的 chartType,**不要自行猜测或强行选择**。向用户明确说明当前支持的图表类型中未找到直接匹配,请用户描述数据维度和分析目的,根据补充重新匹配。

---

## 2. MCP 工具

### `get_chart_input_files`

| 参数 | 类型 | 必填 |
|------|------|------|
| chartType | string | ✅ |

返回 `{inputFiles: [{dataFileName, showFileName}], uploadKey, uploadExpire}`

### `submit_analysis_task`

| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| chartType | string | ✅ | 图表代号 |
| files | map\<string,string\> | ❌ | `{dataFileName: fileId}`;存在时走新实例 |
| instanceId | string | ❌ | 仅在 files 为空时生效;复用已有数据仅重新调参 |
| params | map\<string,object\> | ❌ | 图表参数 JSON |

返回 `{taskId, instanceId, status: "SUMMITED", nextAction, instruction}`

### `wait_for_task`

| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| taskId | string | ✅ | |
| waitSeconds | number | ❌ | 默认 25,上限 25 |

| 返回 status | 含义 |
|-------------|------|
| `ANALYSIS` | 继续轮询 |
| `FINISHED` | 终态,含 `results` URL 数组 |
| `FAILED` | 终态,含 `failReason` |

### `get_task_result`

| 参数 | 类型 | 必填 |
|------|------|------|
| taskId | string | ✅ |

立即返回 `{status, results, failReason, taskDetail}`

---

## 3. 错误处理

### 任务状态

| 状态 | 终态 |
|------|:--:|
| SUMMITED | 否 |
| ANALYSIS | 否 |
| FINISHED | ✅ |
| FAILED | ✅ |

### 错误码与自愈

| 错误码 | 动作 |
|--------|------|
| `UNKNOWN_CHART` | 不要自行猜测或强行选择;引导用户从 §1.4 索引表中重新选择 |
| `NO_INPUT` | 提示用户上传文件或提供历史 instanceId |
| `INPUT_FILES_INCOMPLETE` | 对照 `inputFiles`(含 `showFileName` 中文名)向用户补收缺失文件 |
| `INVALID_PARAMS_JSON` | 检查参数 JSON 格式后重试 |
| `TASK_NOT_FOUND` | 确认 taskId 或重新提交 |
| `UPSTREAM_ERROR` | 告知后端系统异常,建议稍后重试 |
| `MCP_UNAVAILABLE` | MCP 服务不可达时提示用户检查网络,稍后重试,或联系管理员 |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in data →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.