Code Ocean MCP Server
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个基于 MCP(Model Context Protocol)的后端服务器,用于 Code Ocean 平台的上下文服务。服务器负责托管和管理资源(如 Capsule、数据资产、计算等),注册并执行工具,以及定义和渲染 Prompt 模板,供 LLM 客户端通过 JSON-RPC 调用、获取上下文和能力。
-
主要功能点
- 资源管理:对 Capsule、数据资产、计算及其相关元数据提供访问和查询能力。
- 工具注册与执行:暴露对外部功能的调用能力,允许 LLM 调用 Code Ocean 的操作(如运行 Capsule、列出计算、上传下载等)。
- Prompt 与模板:定义用于与 LLM 交互的提示模板与上下文渲染逻辑。
- 多传输与会话:通过 MCP 标准实现 JSON-RPC 形式的请求/响应,支持会话管理与能力声明; 集成 FastMCP 实现高性能服务器。
- 本地运行与集成测试支持:提供针对本地测试的工具链,便于在本地环境进行集成测试。
-
安装步骤
- 先决条件:需要安装 uv(用于 MCP 服务器的宿主进程管理)和 Python 3.10 及以上版本;需要 Code Ocean API 访问令牌。
- 下载/获取代码后,进入仓库根目录,确保环境变量 CODEOCEAN_DOMAIN、CODEOCEAN_TOKEN 等已设置(见下方服务器配置示例)。
- 启动服务器(本地开发常用方式之一):
- 通过 uvx 启动:uvx codeocean-mcp-server
- 或直接运行服务器脚本(在测试环境中,测试用例通过直接执行 server.py 实现启动)
- 验证启动:服务器启动后应输出日志并监听与 MCP 客户端的连接。
-
服务器配置(MCP 客户端使用的启动配置说明,实际配置不需要由客户端执行,以下信息用于理解与调试)
- 服务器名称:codeocean
- 启动命令(command):uvx
- 启动参数(args):codeocean-mcp-server
- 环境变量(env):
- CODEOCEAN_DOMAIN:Code Ocean 站点域名,例如 https://codeocean.acme.com
- CODEOCEAN_TOKEN:用于 Code Ocean API 的访问令牌
- AGENT_ID:标识该 MCP 服务器的名称(如 Code Ocean MCP Server)
- 注:在本仓库的本地测试中,服务器实际上通过执行 server.py 启动,环境变量用于认证与标识。
-
基本使用方法
- 客户端在启动后通过 JSON-RPC 调用即可访问资源、执行工具与获取提示模板。
- 常见工作流:LLM 获取可用工具与资源、调用工具执行任务、获取并渲染提示模板、处理返回结果并继续对话。
- 本地测试可使用 MCP Inspector 等工具对服务器进行交互式测试,检查工具调用结果与资源查询等。
-
其他注意点
- 服务器使用 Code Ocean 账号域和令牌进行认证,部署时请确保相关凭证的安全性。
- 日志可通过环境变量 LOG_FORMAT 定制输出格式;若未设置,使用默认日志配置。