Code Ocean MCP Server

Pesquise e execute cápsulas, execute pipelines e gerencie ativos de dados na plataforma Code Ocean.

Documentação

Code Ocean MCP Server

Servidor Model Context Protocol (MCP) para Code Ocean.

Este servidor MCP fornece ferramentas para pesquisar e executar cápsulas e pipelines, e gerenciar ativos de dados.

Sumário

Pré-requisitos

  1. Instale o uv a partir do Astral ou do README do GitHub
  2. Instale Python 3.10 ou mais recente usando uv python install 3.10 (ou uma versão mais recente)
  3. Gere um token de acesso do Code Ocean. Siga as instruções no guia do usuário do Code Ocean.

Compatibilidade de Versão da Plataforma Code Ocean

Cada versão deste Code Ocean MCP Server é testada e verificada contra uma versão mínima específica da API da plataforma Code Ocean. Geralmente, essa versão mínima é a versão mais recente do Code Ocean no momento do lançamento do MCP Server. Recomendamos garantir que a dependência do seu MCP Server esteja fixada em uma versão compatível com a sua implantação do Code Ocean. Para detalhes sobre quando a versão mínima da plataforma Code Ocean muda, consulte o CHANGELOG.

Instalação

Visual Studio Code

Aqui está um exemplo de configuração do servidor MCP do VS Code:

{
    ...
    "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}",
                    "AGENT_ID": "VS Code"
                }
            }
        },
    }
}

Claude Desktop

  1. Abra o arquivo claude_desktop_config.json:
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  1. Sob o objeto de nível superior "mcpServers", adicione uma entrada "codeocean". Para um transporte stdio (processo filho), fica assim:
{
  "mcpServers": {
    "codeocean": {
      "command": "uvx",
      "args": ["codeocean-mcp-server"],
      "env": {
        "CODEOCEAN_DOMAIN": "https://codeocean.acme.com",
        "CODEOCEAN_TOKEN": "<YOUR_API_KEY>",
        "AGENT_ID": "Claude Desktop"
      }
    }
  }
}

Cline

O Cline armazena todas as suas configurações de MCP em um arquivo JSON chamado cline_mcp_settings.json. Você pode editar isso pela GUI (“Configure MCP Servers” no painel MCP Servers) ou manualmente:

  1. Abra o Cline e clique no ícone MCP Servers na barra lateral.
  2. Na aba “Installed”, clique em Configure MCP Servers → isso abre o seu cline_mcp_settings.json.
  3. Adicione um servidor "codeocean" sob a chave "mcpServers". Para transporte stdio:
{
  "mcpServers": {
    "codeocean": {
      "command": "uvx",
      "args": ["codeocean-mcp-server"],
      "env": {
        "CODEOCEAN_DOMAIN": "https://codeocean.acme.com",
        "CODEOCEAN_TOKEN": "<YOUR_API_KEY>",
        "AGENT_ID": "Cline"
      },
      "alwaysAllow": [],       // optional: list of tools to auto-approve
      "disabled": false        // ensure it’s enabled
    }
  }
}
  1. Salve o arquivo. O Cline detectará e iniciará automaticamente o novo servidor, disponibilizando suas ferramentas do Code Ocean no chat .

Roo Code

O suporte a MCP do Roo Code é configurado globalmente em todos os workspaces por meio de um arquivo de configurações JSON ou pela sua interface dedicada de MCP Settings

Pela interface de MCP Settings:

  1. Clique no ícone MCP na barra lateral do Roo Code. 
  2. Selecione Edit MCP Settings (abre cline_mcp_settings.json). 
  3. Sob "mcpServers", adicione:
{
  "mcpServers": {
    "codeocean": {
      "command": "uvx",
      "args": ["codeocean-mcp-server"],
      "env": {
        "CODEOCEAN_DOMAIN": "https://codeocean.acme.com",
        "CODEOCEAN_TOKEN": "<YOUR_API_KEY>",
        "AGENT_ID": "Roo Code"
      }
    }
  }
}
  1. Salve e reinicie o Roo Code; suas ferramentas do Code Ocean aparecerão automaticamente.

Opcional: Editando manualmente o cline_mcp_settings.json

  1. Localize o cline_mcp_settings.json (no seu diretório inicial ou workspace). 
  2. Insira o mesmo bloco "codeocean" sob "mcpServers" como acima.
  3. Salve e reinicie.

Cursor

O Cursor armazena servidores MCP em um arquivo JSON em ~/.cursor/mcp.json (global) ou {project}/.cursor/mcp.json (específico do projeto) .

  1. Abra .cursor/mcp.json (ou crie-o se não existir). 
  2. Adicione sob "mcpServers":
{
  "mcpServers": {
    "codeocean": {
      "command": "uvx",
      "args": ["codeocean-mcp-server"],
      "env": {
        "CODEOCEAN_DOMAIN": "https://codeocean.acme.com",
        "CODEOCEAN_TOKEN": "<YOUR_API_KEY>",
        "AGENT_ID": "Cursor"
      }
    }
  }
}
  1. Salve o arquivo. O Cursor detectará e iniciará automaticamente o novo servidor na próxima inicialização. 

Windsurf

O Windsurf (Cascade) usa mcp_config.json em ~/.codeium/windsurf/ (ou pela interface Cascade → MCP Servers) .

  1. Abra as Configurações do Windsurf e navegue até Cascade → MCP Servers, depois clique em View Raw Config para abrir o mcp_config.json. 
  2. Insira o seguinte sob "mcpServers":
{
  "mcpServers": {
    "codeocean": {
      "command": "uvx",
      "args": ["codeocean-mcp-server"],
      "env": {
        "CODEOCEAN_DOMAIN": "https://codeocean.acme.com",
        "CODEOCEAN_TOKEN": "<YOUR_API_KEY>",
        "AGENT_ID": "Windsurf"
      }
    }
  }
}
  1. Salve e reinicie o Windsurf (ou clique em “Refresh” no painel MCP).

Teste Local

Você pode testar o servidor MCP localmente durante o desenvolvimento com o MCP Inspector:

npx @modelcontextprotocol/inspector uv tool run codeocean-mcp-server

Isso iniciará um servidor web onde você pode:

  • Visualizar ferramentas e recursos disponíveis
  • Testar chamadas de ferramentas interativamente
  • Ver logs e respostas do servidor

Formatação de Logs (Opcional)

O servidor MCP suporta formatação personalizada de logs por meio da variável de ambiente LOG_FORMAT. Isso permite controlar o formato das mensagens de log emitidas pelo servidor. Exemplos de Strings de Formato: "%(asctime)s %(levelname)s [%(name)s] %(message)s". Se LOG_FORMAT não estiver definido, o servidor usa a configuração de log padrão do FastMCP.