项目简介
Smartsheet MCP 集成服务器是一个基于 Model Context Protocol (MCP) 构建的后端应用,专门用于通过标准化的协议与大型语言模型 (LLM) 客户端交互,提供 Smartsheet 的数据访问和操作能力。它使得 LLM 能够调用预定义的功能(工具)来查询、修改 Smartsheet 中的表格(sheets)及其内容。
主要功能点
- 获取表格数据: 检索 Smartsheet 中表格的详细信息,包括行、列、单元格。
- 管理表格内容: 支持添加、更新和删除表格中的行数据。
- 版本备份: 可以创建指定时间点的表格版本备份。
- 搜索功能: 在 Smartsheet 的表格、文件夹、工作区、报告、仪表盘中进行搜索。
- 获取对象信息: 查询表格版本、单元格历史、表格位置、用户、工作区、文件夹等信息。
- 创建对象: 支持创建新的表格、文件夹和工作区。
- 拷贝表格: 复制现有的 Smartsheet 表格。
- 创建更新请求: 为表格创建用于请求更新的通知。
- 为AI优化: 返回的数据格式经过优化,便于AI理解和处理。
安装步骤
- 克隆仓库: 打开终端,执行以下命令获取项目代码。
git clone https://github.com/smartsheet-platform/smar-mcp.git cd smar-mcp - 安装依赖: 在项目目录下,使用 npm 安装所需的库文件。
npm install - 配置API密钥: 在项目根目录创建 '.env' 文件,并添加你的 Smartsheet API Token。你可以在 Smartsheet Developer Portal 获取 API Token。
注意:请将 '你的Smartsheet_API_Token' 替换为你实际的 API 密钥。'SMARTSHEET_ENDPOINT' 通常保持默认值不变。SMARTSHEET_API_KEY=你的Smartsheet_API_Token SMARTSHEET_ENDPOINT=https://api.smartsheet.com/2.0 - 构建项目: 编译项目代码。
npm run build
服务器配置(供MCP客户端参考)
要将此MCP服务器与支持MCP协议的LLM客户端(如Claude for Desktop, Roo Code等)连接,你需要在客户端的MCP服务器设置中添加一个新的服务器配置。配置信息通常包含以下关键参数:
- 'server_name': 服务器的唯一名称,客户端用来引用此服务器。根据本项目代码,此名称应设置为 'smartsheet'。
- 'command': 启动服务器进程的命令。对于此项目,推荐使用 'npm'。
- 'args': 传递给启动命令的参数列表。启动此服务器的推荐方式是使用 npm 脚本,例如 'npm run start' 或 'npm run dev'。对应的参数列表应设置为 '["run", "start"]' 或 '["run", "dev"]'。
- 'env': 服务器进程所需的额外环境变量。对于此服务器,'SMARTSHEET_API_KEY' 和 'SMARTSHEET_ENDPOINT' 环境变量需要在服务器启动前就已设置好(通过'.env'文件或系统环境变量)。客户端配置中无需重复列出这些敏感信息,除非客户端特别支持以这种方式传递。通常'.env'文件方式更安全便捷。
示例(概念描述,非代码):
在客户端的MCP服务器配置界面,添加一个新项:
- 名称填写 'smartsheet'
- 启动命令填写 'npm'
- 命令参数填写 'run' 和 'start' (或 'dev')
- 确保服务器运行环境中 '.env' 文件已正确配置 'SMARTSHEET_API_KEY'。
服务器启动后,将通过标准输入/输出 (StdIo) 协议与客户端通信。
基本使用方法
- 启动服务器: 在终端中进入项目目录,运行以下命令启动服务器:
服务器启动成功后会显示 "Smartsheet MCP Server running on stdio"。npm run start - 连接客户端: 配置好支持MCP协议的LLM客户端,使其连接到刚刚启动的 Smartsheet MCP 服务器(通常客户端会自动检测StdIo服务器)。
- LLM交互: 一旦连接建立,LLM客户端即可发现并调用 Smartsheet MCP 服务器提供的工具(例如 'get_sheet', 'update_rows', 'search_sheets' 等),通过自然语言或结构化指令与 Smartsheet 数据进行交互。
信息
分类
商业系统