MCP Server - Coda.io

MCP Server - Coda.io

elberrd

开发者工具
访问服务器

README

MCP Server - Coda.io

一个模型上下文协议 (MCP) 服务器实现,用于与 Coda 的 API 无缝集成,提供各种文档、表格和数据管理工具。

功能

  • 表格操作
    • 从文档中获取所有表格
    • 检索特定表格数据
    • 获取表格列信息
  • 行管理
    • 从表格中获取行
    • Upsert (插入/更新) 行
    • 删除行
  • 列操作
    • 获取特定列的详细信息
    • 获取列元数据

前提条件

  • Node.js (v20 或更高版本)
  • 一个 Coda API 密钥
  • TypeScript 知识 (用于开发)

环境设置

  1. 在 Replit 中克隆或 Fork 此存储库
  2. 在根目录中创建一个 .env 文件:
    PORT=8000
    CODA_API_KEY=your_coda_api_key_here
    
  3. your_coda_api_key_here 替换为您的实际 Coda API 密钥

安装

该项目使用 npm 进行依赖管理。 要安装依赖项:

npm install

构建项目

将 TypeScript 文件编译为 JavaScript:

npx tsc

运行服务器

构建完成后,启动服务器:

node dist/index.js

或者使用组合命令:

npm install && npx tsc && node dist/index.js

服务器默认将在端口 8000 上启动,并提供以下端点:

  • GET /sse - SSE 连接端点
  • POST /messages - 消息处理端点

可用工具

  1. fetch-coda-docs

    • 获取所有可用的 Coda 文档
    • 可选参数:isOwner, limit
  2. fetch-coda-tables

    • 从指定的文档中获取所有表格
    • 必需参数:docId
  3. fetch-coda-table

    • 从文档中获取特定表格
    • 必需参数:docId, tableId
  4. fetch-coda-table-columns

    • 检索特定表格的列信息
    • 必需参数:docId, tableId
  5. fetch-coda-rows

    • 从指定的表格中获取行
    • 必需参数:docId, tableId
  6. upsert-coda-rows

    • 在表格中插入或更新行
    • 必需参数:docId, tableId, rows
  7. delete-coda-rows

    • 从表格中删除指定的行
    • 必需参数:docId, tableId, rowIds

错误处理

服务器实现了全面的错误处理:

  • 环境变量验证
  • API 响应验证
  • 请求参数验证
  • 正确的错误消息和日志记录

开发

该项目的结构如下:

src/
├── tools/           # 单个工具实现
│   ├── fetch-coda-docs.tool.ts
│   ├── fetch-coda-tables.tool.ts
│   └── ...
└── index.ts        # 主服务器实现

技术栈

  • Express.js - Web 框架
  • @modelcontextprotocol/sdk - MCP 实现
  • Zod - 运行时类型检查
  • dotenv - 环境变量配置

已知限制和未来改进

当前工具的实现需要进行多项改进:

  • 增强的 JSON 响应处理和格式化
  • 实现大型数据集的分页
  • 更好的错误处理和重试机制
  • 速率限制实现
  • 大型操作的批量处理
  • 频繁访问数据的缓存机制
  • 还有更多 API 工具需要根据文档实现

MCP 客户端实现示例

以下是如何在 Cursor 中实现此 MCP 服务器的示例:

  1. 在 Cursor 的 mcp.json 中配置 MCP 服务器: Cursor MCP JSON Configuration

  2. 在 Cursor 的设置中启用和使用可用的工具: Cursor MCP Tools Configuration

许可证

该项目根据 ISC 许可证获得许可。

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript