Coda文档管理服务

一个实现模型上下文协议(MCP)的服务,用于与Coda API交互,支持文档和页面的创建、读取、更新和删除等操作。

  • by orellazri
  • TypeScript
  • 本地部署
  • 62 星标
  • 更新于
在 GitHub 查看 orellazri/coda-mcp

使用说明

Coda MCP服务器

该项目实现了一个模型上下文协议(MCP)服务器,该服务器充当与 尾声 API它允许MCP客户端(如AI助手)在Coda页面上执行操作,如列出、创建、读取、更新、复制和重命名。

[!注意]
此MCP服务器不是由Coda开发或维护的;这是一个社区建设的项目。

特性

服务器向MCP客户端公开以下工具:

  • coda_list_documents:列出用户可用的所有文档。
  • coda_list_pages:列出配置的Coda文档中支持分页的所有页面。
  • coda_create_page:在文档中创建一个新页面,可选地在指定的父页面下(创建子页面),并用初始markdown内容填充它。
  • coda_get_page_content:以markdown的形式检索指定页面的内容(按ID或名称)。
  • coda_replace_page_content:用新的markdown内容替换指定页面的内容。
  • coda_append_page_content:将新的标记内容附加到指定页面的末尾。
  • coda_duplicate_page:使用新名称创建现有页面的副本。
  • coda_rename_page:重命名现有页面。
  • coda_peek_page:查看页面的开头并返回有限数量的行。
  • coda_resolve_link:解析给定Coda对象的浏览器链接的元数据。
  • coda_list_tables:列出文档中的表。
  • coda_list_columns:列出表中的列。
  • coda_list_rows:列出表中具有可选筛选和排序的行。
  • coda_get_row:从表中获取一行。
  • coda_upsert_rows:将行插入或追加到表中。
  • coda_update_row:更新表中的单行。
  • coda_delete_row:从表中删除一行。
  • coda_delete_rows:从表中删除多行。
  • coda_push_button:按下表中某行上的按钮列。

用法

将MCP服务器添加到Cursor/Claude Desktop等,如下所示:

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

所需的环境变量:

  • API_KEY:您的Coda API密钥。您可以从Coda帐户设置中生成一个。

此MCP服务器也可用于Docker,如下所示:

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

本地设置

  1. 先决条件:

    • Node.js
    • pnpm
  2. 克隆存储库:

    git clone <repository-url>
    cd coda-mcp
    
  3. 安装依赖项:

    pnpm install
    
  4. 构建项目:

    pnpm build
    

    这将TypeScript代码编译为JavaScript dist/ 目录。

运行服务器

MCP服务器通过标准输入/输出(stdio)进行通信。要运行它,请设置环境变量并运行编译后的JavaScript文件- dist/index.js.