Model Context Protocol (MCP) server for Code Ocean.
This MCP server provides tools to search and run capsules and pipelines, and manage data assets.
- Install
uv
from Astral or the GitHub README - Install Python 3.10 or newer using
uv python install 3.10
(or a more recent version) - Generate a Code Ocean access token. Follow instructions in the Code Ocean user guide.
Here's an example VS Code MCP server configuration:
{
...
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "codeocean-token",
"description": "Code Ocean API Key",
"password": true
}
],
"servers": {
"codeocean": {
"type": "stdio",
"command": "uvx",
"args": ["codeocean-mcp-server"],
"env": {
"CODEOCEAN_DOMAIN": "https://codeocean.acme.com",
"CODEOCEAN_TOKEN": "${input:codeocean-token}"
}
}
},
}
}
- Open the
claude_desktop_config.json
file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Under the top-level "mcpServers" object, add a "codeocean" entry. For a stdio transport (child-process) it looks like this:
{
"mcpServers": {
"codeocean": {
"command": "uvx",
"args": ["codeocean-mcp-server"],
"env": {
"CODEOCEAN_DOMAIN": "https://codeocean.acme.com",
"CODEOCEAN_TOKEN": "<YOUR_API_KEY>"
}
}
}
}
Cline stores all of its MCP settings in a JSON file called cline_mcp_settings.json. You can edit this either through the GUI (“Configure MCP Servers” in the MCP Servers pane) or by hand:
- Open Cline and click the MCP Servers icon in the sidebar.
- In the “Installed” tab, click Configure MCP Servers → this opens your cline_mcp_settings.json.
- Add a "codeocean" server under the "mcpServers" key. For stdio transport:
{
"mcpServers": {
"codeocean": {
"command": "uvx",
"args": ["codeocean-mcp-server"],
"env": {
"CODEOCEAN_DOMAIN": "https://codeocean.acme.com",
"CODEOCEAN_TOKEN": "<YOUR_API_KEY>"
},
"alwaysAllow": [], // optional: list of tools to auto-approve
"disabled": false // ensure it’s enabled
}
}
}
- Save the file. Cline will automatically detect and launch the new server, making your Code Ocean tools available in chat .
Roo Code’s MCP support is configured globally across all workspaces via a JSON settings file or through its dedicated MCP Settings UI
- Click the MCP icon in Roo Code’s sidebar. 
- Select Edit MCP Settings (opens cline_mcp_settings.json). 
- Under "mcpServers", add:
{
"mcpServers": {
"codeocean": {
"command": "uvx",
"args": ["codeocean-mcp-server"],
"env": {
"CODEOCEAN_DOMAIN": "https://codeocean.acme.com",
"CODEOCEAN_TOKEN": "<YOUR_API_KEY>"
}
}
}
}
- Save and restart Roo Code; your Code Ocean tools will appear automatically.
- Locate cline_mcp_settings.json (in your home directory or workspace). 
- Insert the same "codeocean" block under "mcpServers" as above.
- Save and restart.
Cursor stores MCP servers in a JSON file at either ~/.cursor/mcp.json (global) or {project}/.cursor/mcp.json (project-specific) .
- Open .cursor/mcp.json (or create it if missing). 
- Add under "mcpServers":
{
"mcpServers": {
"codeocean": {
"command": "uvx",
"args": ["codeocean-mcp-server"],
"env": {
"CODEOCEAN_DOMAIN": "https://codeocean.acme.com",
"CODEOCEAN_TOKEN": "<YOUR_API_KEY>"
}
}
}
}
- Save the file. Cursor will automatically detect and launch the new server on next start. 
Windsurf (Cascade) uses mcp_config.json under ~/.codeium/windsurf/ (or via the Cascade → MCP Servers UI) .
- Open your Windsurf Settings and navigate to Cascade → MCP Servers, then click View Raw Config to open mcp_config.json. 
- Insert the following under "mcpServers":
{
"mcpServers": {
"codeocean": {
"command": "uvx",
"args": ["codeocean-mcp-server"],
"env": {
"CODEOCEAN_DOMAIN": "https://codeocean.acme.com",
"CODEOCEAN_TOKEN": "<YOUR_API_KEY>"
}
}
}
}
- Save and restart Windsurf (or hit “Refresh” in the MCP panel).