项目简介
Quip MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,专门用于为大型语言模型 (LLM) 应用提供对 Quip 在线表格数据的访问能力。通过此服务器,LLM 可以安全、高效地读取 Quip 表格内容,并将其作为上下文信息进行处理和利用。
主要功能点
- 读取 Quip 表格数据: 提供工具 'quip_read_spreadsheet',允许 LLM 通过 Quip 文档的 threadId 和 sheetName 读取指定表格数据。
- CSV 格式输出: 将表格数据转换为通用的 CSV 格式返回,方便 LLM 进行解析和处理。
- 数据缓存: 支持将读取的表格数据缓存在本地,提高数据访问效率,并支持通过资源 URI 访问完整数据。
- 资源 URI: 提供资源 URI,允许 LLM 通过标准的 MCP 资源访问机制获取完整的表格数据,即使数据量较大时也能有效处理。
- 两种资源 URI 协议: 支持 'quip://' 协议和 'file://' 协议,'file://' 协议允许直接访问本地 CSV 文件。
- 错误处理: 提供完善的错误处理机制,例如当文档不是表格或指定的 sheet 不存在时,会返回相应的错误信息。
- 配置灵活: 支持通过环境变量或 '.env' 文件配置 Quip API Token 和本地存储路径。
安装步骤
-
安装 Python 和 pip (如果尚未安装): 确保你的系统已安装 Python 和 pip 包管理器。
-
使用 pip 安装 'quip-mcp-server': 打开终端,运行以下命令安装服务器:
pip install quip-mcp-server -
配置 Quip API Token: 你需要一个 Quip API Token 来访问 Quip 数据。
- 方法一:设置环境变量 'QUIP_TOKEN':
在终端中运行命令 (请将 'your_quip_api_token' 替换为你的实际 Token):
export QUIP_TOKEN=your_quip_api_token - 方法二:创建 '.env' 文件:
在项目根目录下创建 '.env' 文件,并添加以下内容 (请将 'your_quip_api_token' 替换为你的实际 Token):
QUIP_TOKEN=your_quip_api_token
- 方法一:设置环境变量 'QUIP_TOKEN':
在终端中运行命令 (请将 'your_quip_api_token' 替换为你的实际 Token):
服务器配置 (Claude.app 示例)
以下是在 Claude.app 中配置 'quip-mcp-server' 的示例 JSON 配置。你需要将此配置添加到 Claude.app 的设置中,以便 Claude 可以连接到你的 MCP 服务器。
{ "mcpServers": { "quip": { // 服务器名称,可以自定义 "command": "python", // 启动服务器的命令,这里使用 python "args": ["-m", "src.server"], // 启动服务器的命令参数,-m src.server 表示运行 src 目录下的 server.py 模块 "env": { "QUIP_TOKEN": "your_quip_api_token" // **重要:** Claude.app 会将此处配置的环境变量传递给MCP服务器进程。你需要将 "your_quip_api_token" 替换为你的 Quip API Token。 } } } }
参数说明:
- '"quip"': 服务器名称,你可以自定义,用于在 Claude.app 中标识这个 MCP 服务器连接。
- '"command": "python"': 指定启动服务器的命令为 'python'。你需要确保你的系统环境中 'python' 命令可以正确执行。
- '"args": ["-m", "src.server"]': 指定传递给 'python' 命令的参数。 '"-m src.server"' 告诉 Python 解释器将 'src.server' 模块作为脚本运行。
- '"env": { "QUIP_TOKEN": "your_quip_api_token" }': 配置环境变量。 'QUIP_TOKEN' 是 'quip-mcp-server' 必需的环境变量,用于 Quip API 认证。 请务必将 '"your_quip_api_token"' 替换为你的实际 Quip API Token。
可选配置参数:
你还可以根据需要添加以下可选参数到 '"args"' 数组中:
- '--storage-path <存储路径>': 指定本地 CSV 文件存储路径。 默认路径为 '~/.quip-mcp-server/storage'。 例如:'"--storage-path", "/path/to/my/storage"'
- '--file-protocol': 使用 'file://' 协议作为资源 URI 的前缀,指向本地文件。如果省略此参数,则默认使用 'quip://' 协议。
- '--debug': 启用 Debug 日志输出,用于调试服务器。
例如,如果需要指定存储路径并启用 'file://' 协议,可以将 '"args"' 修改为:
"args": ["-m", "src.server", "--storage-path", "/my/custom/storage", "--file-protocol"]
基本使用方法
-
启动服务器: 安装完成后,你可以使用以下命令启动服务器:
python -m src.server或者,如果你使用 'uvx' (推荐),可以直接运行:
uvx quip-mcp-server -
配置 MCP 客户端: 将上面提供的 Claude.app 示例配置添加到你的 MCP 客户端 (例如 Claude.app) 中,并确保配置中的 'QUIP_TOKEN' 已替换为你的有效 Quip API Token。
-
在 LLM 中使用工具: 在你的 LLM 应用中,你可以调用 'quip_read_spreadsheet' 工具来读取 Quip 表格数据。你需要提供 Quip 文档的 'threadId' 作为参数。如果需要读取特定 sheet,可以提供 'sheetName' 参数。
例如,在 Claude.app 中,你可以指示它使用 'quip_read_spreadsheet' 工具,并提供如下参数:
{ "tool_calls": [ { "id": "call_123", "type": "function", "function": { "name": "quip_read_spreadsheet", "arguments": "{\"threadId\": \"YourQuipThreadId\", \"sheetName\": \"Sheet1\"}" } } ] }服务器会将读取到的 CSV 数据以及元数据 (例如总行数、文件大小、资源 URI 等) 返回给 LLM 客户端。对于大型表格,返回的 CSV 内容可能会被截断,但你可以使用返回的资源 URI 来访问完整的 CSV 数据。
信息
分类
生产力应用