使用说明
MCP服务器-Coda.io
模型上下文协议(MCP)服务器实现与Coda的API无缝集成,为文档、表格和数据管理提供各种工具。
特性
- 表操作
- 从文档中获取所有表
- 检索特定表数据
- 获取表列信息
- 行管理
- 从表中提取行
- 插入/更新行
- 删除行
- 列操作
- 获取特定列详细信息
- 获取列元数据
先决条件
- Node.js(v20或更高版本)
- 一个Coda API密钥
- TypeScript知识(用于开发)
环境设置
- 在Replit中克隆或分叉此存储库
- 创建一个
.env根目录中的文件:PORT=8000 CODA_API_KEY=your_coda_api_key_here - 替换
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上启动,以下端点可用:
- 获取
/sse-SSE连接端点 - 发布
/messages-消息处理端点
可用工具
-
fetch-coda-docs- 获取所有可用的Coda文档
- 可选参数:isOwner,limit
-
fetch-coda-tables- 从指定文档中获取所有表
- 必需参数:docId
-
fetch-coda-table- 从文档中获取特定表
- 必需参数:docId、tableId
-
fetch-coda-table-columns- 检索特定表的列信息
- 必需参数:docId、tableId
-
fetch-coda-rows- 从指定表中获取行
- 必需参数:docId、tableId
-
upsert-coda-rows- 在表中插入或更新行
- 必需参数:docId、tableId、行
-
delete-coda-rows- 从表中删除指定行
- 必需参数:docId、tableId、rowId
错误处理
服务器实现了全面的错误处理:
- 环境变量验证
- API响应验证
- 请求参数验证
- 正确的错误消息和日志记录
发展
该项目的结构如下:
src/
├── tools/ # Individual tool implementations
│ ├── fetch-coda-docs.tool.ts
│ ├── fetch-coda-tables.tool.ts
│ └── ...
└── index.ts # Main server implementation
构建于
- Express.js-Web框架
- @modelcontextprotocol/sdk-MCP实现
- Zod-运行时类型检查
- dotenv-环境配置
已知的局限性和未来的改进
目前工具的实施需要几项改进:
- 增强的JSON响应处理和格式化
- 大型数据集分页的实现
- 更好的错误处理和重试机制
- 限速实施
- 大型操作的批处理
- 频繁访问数据的缓存机制
- 在文档的基础上,还有更多的API工具需要实现
MCP客户端实现示例
以下是如何在Cursor中实现此MCP服务器的示例:
-
在Cursor中配置MCP服务器
mcp.json: -
启用并使用Cursor设置中的可用工具:
许可证
该项目根据ISC许可证获得许可。