Fiji MCP 服务器(ImageJ/Fiji 集成的模型上下文后端)
使用说明(Markdown)
-
项目简介
- 该仓库实现了一个基于 MCP 的服务器端,用以在与大语言模型交互的场景中提供 Fiji/ImageJ 的上下文信息、可执行工具,以及脚本相关的查询能力。核心通过一个 FastMCP 实例来暴露工具集,供 MCP 客户端按需读取资源、执行工具、获取与渲染 Prompts。
-
主要功能点
- 资源与数据访问:通过 Fiji/ImageJ 环境读取当前打开的图像信息等上下文数据。
- 工具注册与调用:将 Fiji 中的功能封装为可通过 MCP 调用的 Tools(如获取当前打开图像信息、执行 Groovy 脚本、在编辑器中显示/更新脚本等)。
- 脚本与编辑器集成:提供方法以 Groovy 脚本在 Fiji 实例中的执行、编辑器中的脚本管理,以及从编辑器获取脚本内容。
- 会话管理与扩展性:服务器通过 MCP 框架提供会话与工具的注册机制,便于后续扩展更多资源、工具和提示模版。
-
安装步骤
- 需要在具有 Fiji/ImageJ 与 Java/JVM 环境的机器上运行,且已构建相关 Java/Jar 依赖以及 Python 运行环境。
- 将仓库中的 Python 部分与 Fiji/ImageJ 环境对接,确保 main.py 启动时能够正确定位 JAVA_HOME、Fiji 的类路径及所需依赖。
- 启动前,请确保通过相应的构建步骤获取 imagej 与 Fiji 工具相关的依赖包(示例中可能需要自行构建 fiji-tools.jar)。
-
服务器配置(MCP 客户端配置示例) 说明:MCP 客户端需要知道如何启动该 MCP 服务器。本仓库的服务器入口为 fiji_mcp/main.py,启动时会初始化 Fiji 并运行 MCP 服务。以下配置示例仅用于搭建客户端对接的命令信息,实际路径与环境需按本机实际环境配置。 示例配置(JSON,请按实际环境填写,服务器名称请与项目保持一致): { "server_name": "fiji_mcp", "command": "python", "args": [ "fiji_mcp/main.py" ] }
说明:
- server_name:服务器在 MCP 客户端中的标识名称。
- command:启动服务器所使用的命令(示例为直接运行 Python 程序)。
- args:启动命令的参数,指向服务器的入口脚本(本仓库中为 fiji_mcp/main.py)。 注:MCP 客户端本身不需要包含服务器的实现细节代码,仅需要知道如何启动服务器进程即可。本配置仅用于示意,具体路径请使用实际机器上的路径信息。
-
基本使用方法
- 启动服务器:在具有 Python 环境和 Fiji/ImageJ 依赖的机器上执行上述服务器入口(fiji_mcp/main.py)。
- 客户端交互:通过 MCP 客户端(如 Claude Desktop 等)发送 JSON-RPC 请求以调用已注册的 Fiji 工具、查询资源、执行脚本等操作,服务器将返回标准的 JSON-RPC 响应。
- 扩展性:如需增加新的 Fiji 工具或资源,按照现有的装饰器注册方式,将新的 Python 函数添加到 fiji_mcp/tools 目录下并通过 mcp.tool() 装饰器暴露给 MCP。