ChatSpatial MCP 后端服务器

使用说明(Markdown 格式)

项目简介

ChatSpatial 作为一个 MCP 服务器端实现,承载并暴露一组面向空间转录组分析的资源、工具和提示模板。它通过 MCP 协议与 LLM 客户端通信,支持以标准化方式读取数据、执行分析工具、以及获取并渲染 Prompt 模板,方便在对话式分析场景中实现可扩展的上下文服务。

主要功能点

  • MCP 服务器实现与暴露工具
    • 使用 MCP 的工具注册机制 (@mcp.tool) 自动暴露各种分析与数据处理工具。
    • 统一的数据管理与结果持久化,支持多数据集工作流。
  • 资源与结果管理
    • 在内存数据管理器中加载、查询、保存分析结果,以便 LLM 调用后续步骤。
  • 提示模板与对话渲染
    • 通过服务器端指令向 LLM 客户端提供统一的使用场景与工作流指引。
  • 多传输协议支持
    • 服务器可以通过标准输入输出(Stdin/Stdout) 或 SSE 等传输协议与客户端对接,满足不同部署场景。
  • 运行与部署
    • 提供命令行入口,支持通过 python -m chatspatial server 启动。
    • 兼容 Python 3.11+,依赖 Scanpy、Anndata、Squidpy、以及一系列生物信息学工具链。

安装与运行步骤

  • 环境要求
    • Python 3.11 及以上
    • 依赖库包含:scanpy、anndata、squidpy、以及与 MCP 框架相关的库
  • 安装
    • 使用官方发行包或源码安装 ChatSpatial(参考仓库提供的安装指南)。
  • 启动服务
    • 直接在仓库根目录执行命令:python -m chatspatial server
    • 启动后,MCP 服务器将监听客户端请求,通过 JSON-RPC 进行通信
  • 客户端连接准备
    • MCP 客户端需要配置服务器名称、启动命令以及参数,以便通过指定的传输协议与服务器建立连接
    • 服务器暴露的工具将可被 MCP 客户端调用,返回 JSON-RPC 响应

服务器配置(给 MCP 客户端的连接配置示例说明)

说明:以下为 JSON 配置要点,描述了服务器名称、启动命令与参数等信息,供 MCP 客户端在连接时读取。客户端本身不需要该信息,而是使用该信息建立连接并发送请求。

{ "server_name": "ChatSpatial", "command": "/path/to/venv/bin/python", "args": ["-m", "chatspatial", "server"], "transport": "stdio", // 可能可选值:stdio、sse、websocket 等,按客户端实现选择 "description": "ChatSpatial MCP 后端服务,提供空间转录组分析工具、资源与提示模板的 MCP 接口" }

注释说明:

  • server_name:服务端名称,便于客户端在多服务器环境中辨识
  • command:启动服务器的可执行程序路径(如虚拟环境中的 python)
  • args:启动服务器需要的参数,通常包括模块名和命令,如 -m chatspatial server
  • transport:客户端与服务器之间的传输协议,MCP 客户端需根据实际部署选择合适的传输通道(如 stdio、SSE 等)
  • description/其他字段:用于客户端在建立连接前了解服务器用途和能力

基本使用方法(非代码操作,面向开发与集成)

  • 注册与调用工具

    • 客户端通过 MCP JSON-RPC 调用服务器暴露的工具,如数据加载、分析、可视化、导出等
    • 服务器负责会话管理、能力声明、资源与结果的持久化、以及跨工具的协作
  • 会话与能力声明

    • 服务器在启动时会暴露一组能力信息,客户端可通过初步的 MCP 会话握手获取可用的 Resources、Tools 与 Prompts
    • 客户端根据能力进行对话式工作流设计,例如先加载数据、再执行滤波、再进行空间分析等
  • 安全性与扩展性

    • 服务器端实现具备隔离与日志记录能力,便于审计与扩展
    • 新工具、数据源或提示模板可以通过 MCP 规范继续向后兼容扩展
  • 常见任务组合(示例性思路)

    • 加载空间转录组数据 → 预处理 → 计算 embedding/分析 → 产出可视化结果或导出数据
    • 通过工具链将分析结果汇总成可用于 LLM 的对话式摘要,驱动进一步推理步骤

需要了解的注意点

  • MCP 客户端需要正确配置启动命令与参数以建立连接,服务器端实现已经包含了服务器初始化、工具注册与数据管理等核心能力。
  • 本实现的核心代码清晰地将 MCP 的工具装载、数据管理、工具执行和结果导出串联起来,具备作为 MCP 服务器的完整性。

关键词

空间转录组, 生物信息学, 大语言模型, AnnData, 多数据集分析

分类ID

1

服务器信息