Coda

Interaja com a API do Coda para gerenciar documentos e páginas, incluindo criar, ler, atualizar e excluir.

Documentação

Servidor MCP do Coda

Este projeto implementa um servidor Model Context Protocol (MCP) que atua como uma ponte para interagir com a API do Coda. Ele permite que um cliente MCP (como um assistente de IA) execute ações em páginas do Coda, como listar, criar, ler, atualizar, duplicar e renomear.

[!NOTE]
Este servidor MCP não é desenvolvido ou mantido pela Coda; é um projeto construído pela comunidade.

Recursos

O servidor expõe as seguintes ferramentas ao cliente MCP:

  • coda_list_documents: Lista todos os documentos disponíveis para o usuário.
  • coda_list_pages: Lista todas as páginas dentro do documento Coda configurado com suporte a paginação.
  • coda_create_page: Cria uma nova página no documento, opcionalmente sob uma página pai especificada (criando uma subpágina) e a preenche com conteúdo markdown inicial.
  • coda_get_page_content: Recupera o conteúdo de uma página especificada (por ID ou nome) como markdown.
  • coda_replace_page_content: Substitui o conteúdo de uma página especificada por novo conteúdo markdown.
  • coda_append_page_content: Adiciona novo conteúdo markdown ao final de uma página especificada.
  • coda_duplicate_page: Cria uma cópia de uma página existente com um novo nome.
  • coda_rename_page: Renomeia uma página existente.
  • coda_peek_page: Visualiza o início de uma página e retorna um número limitado de linhas.
  • coda_resolve_link: Resolve metadados a partir de um link de navegador para um objeto Coda.
  • coda_list_tables: Lista tabelas em um documento.
  • coda_list_columns: Lista colunas em uma tabela.
  • coda_list_rows: Lista linhas em uma tabela com filtragem e ordenação opcionais.
  • coda_get_row: Obtém uma única linha de uma tabela.
  • coda_upsert_rows: Insere ou atualiza linhas em uma tabela.
  • coda_update_row: Atualiza uma única linha em uma tabela.
  • coda_delete_row: Exclui uma única linha de uma tabela.
  • coda_delete_rows: Exclui várias linhas de uma tabela.
  • coda_push_button: Aciona uma coluna de botão em uma linha de uma tabela.

Uso

Adicione o servidor MCP ao Cursor/Claude Desktop/etc. da seguinte forma:

{
  "mcpServers": {
    "coda": {
      "command": "npx",
      "args": ["-y", "coda-mcp@latest"],
      "env": {
        "API_KEY": "..."
      }
    }
  }
}

Variáveis de ambiente necessárias:

  • API_KEY: Sua chave de API do Coda. Você pode gerar uma nas configurações da sua conta Coda.

Este servidor MCP também está disponível com Docker, da seguinte forma:

{
  "mcpServers": {
    "coda": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "API_KEY", "reaperberri/coda-mcp:latest"],
      "env": {
        "API_KEY": "..."
      }
    }
  }
}

Configuração Local

  1. Pré-requisitos:

    • Node.js
    • pnpm
  2. Clone o repositório:

    git clone <repository-url>
    cd coda-mcp
    
  3. Instale as dependências:

    pnpm install
    
  4. Compile o projeto:

    pnpm build
    

    Isso compila o código TypeScript para JavaScript no diretório dist/.

Executando o Servidor

O servidor MCP se comunica por entrada/saída padrão (stdio). Para executá-lo, defina as variáveis de ambiente e execute o arquivo JavaScript compilado - dist/index.js.