返回市场
代码MCP服务器

代码MCP服务器

作者:elberrd4 星标更新:2025-04-16

项目介绍

MCP Server - Coda.io

与Coda API无缝集成的Model Context Protocol (MCP)服务器实现,提供各种工具用于文档、表格和数据管理。

功能

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

预备条件

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

环境设置

  1. 在Replit中克隆或分叉此仓库
  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配置

  2. 在Cursor的设置中启用并使用可用工具: Cursor MCP工具配置

许可证

本项目采用ISC许可证。