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 buscar, executar e publicar cápsulas e pipelines, além de gerenciar ativos de dados.

Sumário

Pré-requisitos

  1. Instale uv do Astral ou do README no 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 da Code Ocean. Siga as instruções no guia do usuário da 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 da Code Ocean no momento do lançamento do MCP Server. Recomendamos garantir que sua dependência do MCP Server esteja fixada em uma versão compatível com sua implantação da 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 no 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. Abaixo do objeto "mcpServers" de nível superior, adicione uma entrada "codeocean". Para 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 editá-lo pela interface gráfica ("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 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 da 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 interface dedicada de Configurações MCP.

Pela interface de Configurações MCP:

  1. Clique no ícone MCP na barra lateral do Roo Code.
  2. Selecione Edit MCP Settings (abre o 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 da 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 {projeto}/.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).

Transporte HTTP Streamable

Por padrão, o servidor roda via stdio e autentica com a variável de ambiente CODEOCEAN_TOKEN, conforme descrito acima. Ele também pode atender vários usuários a partir de um único processo via HTTP streamable, usando o token da API de cada chamador vindo da requisição:

CODEOCEAN_DOMAIN=https://acmecorp.codeocean.com codeocean-mcp-server --transport streamable-http --host 127.0.0.1 --port 8000

Os clientes então passam seu próprio token como Authorization: Bearer <YOUR_API_KEY> em cada requisição; CODEOCEAN_TOKEN não é usado, e uma requisição sem token é recusada. O endpoint é http://<host>:<port>/mcp.

Testes Locais

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.

A variável de ambiente LOG_LEVEL define o nível de log do servidor: DEBUG, INFO (o padrão), WARNING, ERROR ou CRITICAL. Aumentá-lo remove o registro que o servidor grava para cada requisição atendida, o que vale a pena quando o servidor roda junto com um chamador que já registra essas requisições.