IGV协议控制服务器

IGV MCP Server是一个通过端口接口编程控制IGV(Integrative Genomics Viewer)的实验性项目,支持从桌面客户端(如Claude Desktop)远程操作IGV-Webapp的基因组数据可视化工具。

  • by igvteam
  • JavaScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 igvteam/igv-mcp

使用说明

IGV MCP服务器

用于控制[IGV]]的模型上下文协议(MCP)服务器(https://github.com/igvteam/igv) 通过其端口接口以编程方式。这是一个演示IGV Webapp控制的实验项目 使用桌面客户端(特别是Claude desktop)的MCP。

先决条件

  • Node.js 18岁或以上
  • IGV 在启用端口命令侦听器的情况下运行(默认端口:60151)

安装

要将MCP服务器安装为Claude Desktop扩展,请选择“设置”->“扩展”->“高级设置”-> “安装扩展”并选择 igvweb.mcpb 此存储库根目录下的文件。请注意,目前Claude Desktop 在非沙盒模式下运行扩展,因此它可以完全访问您的系统。克劳德会提醒你的。

发展

克隆此存储库并安装依赖项:

npm install

要使用MCP检查器在开发模式下运行:

npx @modelcontextprotocol/inspector node src/main.js

要构建生产版本,请执行以下操作:

npm run build

这将构建一个捆绑 igv-mcp.js 文件在 dist 文件夹,以及根文件夹中的Claude'mcpb'包。

用法

MCP客户端配置示例

配置客户端的最简单方法是将“igvweb.mcpb”添加为Claude或您的客户端的扩展 选择。要手动配置客户端,请在客户端配置json中添加以下内容。请参阅客户文档 了解更多详情。--端口必须与IGV中的端口设置匹配。IGV必须在启用端口侦听器的情况下运行。到 在IGV中启用端口侦听器,转到 View -> Preferences -> Advanced ->并确保检查了端口选项。

{
  "mcpServers": {
    "igv": {
      "command": "node",
      "args": [
        "<oath to>dist/igv-mcp.js",
        "port",
        "60151"
      ]
    }
  }
}

为了发展 dist/igv-mcp.js 捆绑包可以替换为src/main.js, 但必须安装依赖项。

运行服务器

通常,服务器将由MCP客户端启动,但您也可以手动启动它进行测试或其他目的

# Default (connects to IGV at 127.0.0.1:60151)
npm start

# Specify custom IGV host/port
node src/main.js --host 127.0.0.1:60151

# Or with a different host
node src/main.js --host 192.168.1.100:60151

可用工具

服务器提供23个工具来控制IGV。

会话管理

  • new -通过卸载所有数据轨道将IGV重置为干净状态
  • saveSession -保存当前IGV会话

基因组和数据加载

  • genome -按ID(例如hg38、mm10)或文件路径加载参考基因组
  • load -加载数据文件(BAM、SAM、VCF等)

导航和视图控制

  • goto -导航到基因组位点
  • zoomin -放大视图
  • zoomout -缩小视图

轨迹可视化

  • collapse -将轨迹折叠为紧凑表示
  • squish -通过降低排高来挤压履带
  • expand -通过增加行高来扩展轨迹
  • setColor -设置曲目的主显示颜色

感兴趣区域

  • region -定义感兴趣的区域

线路轨道组织

  • group -按属性读取组对齐
  • sort -按各种标准对读取进行排序
  • viewAsPairs -切换配对端读取可视化模式

序列跟踪

  • setSequenceStrand -设置要显示的DNA链
  • setSequenceShowTranslation -切换翻译显示

轨道覆盖

  • overlay -将多个假发轨迹组合成一个叠加的轨迹
  • separate -将重叠的假发轨迹分离为组件轨迹

快照

  • snapshot -捕获当前IGV视图的快照图像
  • snapshotDirectory -设置保存快照的目录
  • maxPanelHeight -设置快照中轨迹面板的最大高度