Stackby MCP服务器
Stackby的模型上下文协议(MCP)服务器。公开工具,以便AI客户端(Cursor、Claude Desktop、Cline、带MCP的ChatGPT)可以使用Stackby数据。
认证: Stackby开发人员API通过 STACKBY_API_KEY (API密钥或个人访问令牌)。看 配置 在计划库(或兄弟库)中 Stackby_API/MCP_SERVER/docs/CONFIG.md).
______________________________________________________________________
安装(一键)
1.添加到光标 --编辑 ~/.cursor/mcp.json (Mac/Linux)或 %USERPROFILE%\.cursor\mcp.json (Windows):
{
"mcpServers": {
"stackby": {
"command": "npx",
"args": ["-y", "stackby-mcp-server"],
"env": {
"STACKBY_API_KEY": "your-api-key-or-pat",
}
}
}
}替换 your-api-key-or-pat 使用Stackby API密钥或PAT。集 STACKBY_API_URL 到您的Stackby API基础URL(默认情况下省略)。重新启动游标。
1b。托管(https://mcp.stackby.com) --如果使用托管的MCP端点,请将其添加到Cursor中,如下所示 可流式传输HTTP 并在标头中发送您的API密钥:
{
"mcpServers": {
"stackby": {
"type": "streamableHttp",
"url": "https://mcp.stackby.com/mcp",
"headers": {
"X-Stackby-API-Key": "your-api-key-or-pat"
}
}
}
}或者使用 "Authorization": "Bearer your-api-key-or-pat" 而不是 X-Stackby-API-Key如果没有这些标头之一,服务器将返回401,Cursor可能会显示连接/500样式错误。更改配置后重新启动Cursor。
1c。本地测试托管端点 --要在您的计算机上运行HTTP MCP服务器并将Cursor连接到它(与托管的协议相同):
- 构建并启动HTTP服务器:
npm run build && npm run start:http(在端口3001上侦听)。 - 在
mcp.json使用 可流式传输HTTP 使用您的本地URL和API密钥头:
{
"mcpServers": {
"stackby": {
"type": "streamableHttp",
"url": "http://localhost:3001/mcp",
"headers": {
"X-Stackby-API-Key": "your-api-key-or-pat"
}
}
}
}- 重新启动光标(或重新加载窗口)。要稍后切换到真正的托管端点,请更改
url到https://mcp.stackby.com/mcp并重新启动。
2.或全局安装: npm install -g stackby-mcp-server 然后使用 "command": "stackby-mcp-server" 在 mcp.json.
______________________________________________________________________
工具(27)
| 工具 | 说明 |
|---|---|
list_stacks | 列出用户可以访问的堆栈(基)。 |
list_tables | 在堆栈中列出表。 |
describe_table | 表架构:字段(列)、视图。 |
list_records | 列出表中的行(可选maxRecords)。 |
search_records | 按文本搜索行。 |
get_record | 按ID获取一行 |
create_record | 创建一行(按列名键入的字段)。 |
update_records | 更新行(数组 { id, fields },最多10个)。 |
delete_records | 按ID软删除行(最多10行)。 |
update_records_for_table | 更新特定表的行(Update_records的别名)。 |
create_table | 在堆栈中创建新表。 |
update_table | 更新表名和/或描述。 |
delete_table | 从堆栈中删除表。 |
create_field | 在表中创建新列(字段)。 |
update_field | 更新字段名、描述或配置。 |
delete_field | 从表中删除字段。 |
create_record_comment | 向记录添加注释。 |
list_automation_capabilities | 显示支持的自动化触发器/操作类型和高级自动化端点操作。 |
list_automations | 在堆栈中列出自动化。 |
get_automation | 获取一个自动化的完整细节。 |
create_automation | 在一次调用中创建具有触发器和可选操作的自动化。 |
update_automation | 更新自动化元数据。 |
delete_automation | 删除自动化工作流。 |
add_automation_trigger | 向现有自动化添加触发器。 |
add_automation_action | 向现有自动化添加操作步骤。 |
automation_workflow_action | 工作流级自动化操作的高级直通。 |
automation_trigger_action | 用于触发级自动化操作的高级直通。 |
automation_action_action | 用于动作步骤操作的高级直通。 |
______________________________________________________________________
create_field参数指南
使用 create_field 使用这些按键输入:
- 所有人都需要:
stackId,tableId,name,columnType - 可选通用:
viewId - 对于
singleOption/multipleOptions:options - 对于
link:linkToTableId(必填),linkToTableViewId(可选) - 对于
formula:formulaText
对于关系计算字段(lookup, count / lookupCount, rollup / aggregation):
linkColumnId:当前表上的链接字段ID(创建新字段的表上的关系链接列)linkedColumnId:链接(外部)表上的字段ID
如何按类型映射:
lookup:使用linkColumnId,通常与linkedColumnIdlookupCount(或count):使用linkColumnId(没有linkedColumnId需要)aggregation(或rollup):使用linkColumnId和linkedColumnId
例子:
- 如果添加查找 表1 展示
Col2从 表2:
- linkColumnId =表1上指向表2的链接列 - linkedColumnId = Col2 表2中的列ID
提示:跑步 describe_table 首先在两个表上获取正确的列ID。
______________________________________________________________________
设置
npm install
npm run build如何验证构建: 之后 npm run build 你应该看看 Build OK. Output in dist/.快跑 npm start --服务器在stdio上运行(没有可见的输出;它等待Cursor/Claude连接)。
使用PM2运行HTTP服务器(生产)
在服务器上,使用PM2构建并启动HTTP MCP后端:
npm run build
npm run pm2:start这运行 pm2 start dist/server-http.js --name mcp-backend.确保 PM2 已安装(npm install -g pm2).服务器监听端口 3001 默认情况下(设置 PORT 如果需要,在环境中)。
- 代码更改后重新启动:
npm run build && npm run pm2:restart - 停止:
npm run pm2:stop
在游标中验证(步骤1.2)
- 打开的游标 设置 → 主控程序 (或直接编辑配置文件)。
- 添加Stackby MCP服务器。使用 项目 或 用户 配置。
选项A——用户配置 (~/.cursor/mcp.json 在Mac/Linux上,或 %USERPROFILE%\\.cursor\\mcp.json 在Windows上):
{
"mcpServers": {
"stackby": {
"command": "node",
"args": ["C:\\Users\\Admin\\Desktop\\Stackby\\stackby-mcp-server\\dist\\index.js"],
"env": {
"STACKBY_API_KEY": "your-api-key-or-pat"
}
}
}
}使用 命令 + 参数 (stdio)。Thoout科普特语第二个月-LongName 不 将此服务器添加为URL(streamableHttp/SSE)——该模式用于托管HTTP,需要不同的设置。
选项B——如果你使用 npx 从项目文件夹中: (来自终端 stackby-mcp-server 跑 node dist/index.js;游标可以在中使用该路径 args.)
使用 完整路径 到 dist/index.js 在 args 因此Cursor可以生成服务器。
- 重新启动光标(或重新加载窗口)。
- 集
STACKBY_API_KEY(以及可选STACKBY_API_URL)在env对象。在聊天中,查看 工具 列表-您应该看到所有11个工具: list_stacks, list_tables, describe_table, list_records, 搜索记录, 获取记录, create_record, update_records, 删除记录, create_table, create_field.
🔀 参数格式\ 输入键可以以以下方式提供camelCase或snake_case。服务器将 自动转换workspace_id→workspaceId(和类似的)所以GPT连接器 可以发送他们喜欢的任何样式。
运行(stdio--用于光标/Claude)
STACKBY_API_KEY=your_api_key STACKBY_API_URL=https://api.stackby.com npm start或者单击一下: npx stackby-mcp-server (npm发布后)
配置
| Env | 必填 | 描述 |
|---|---|---|
STACKBY_API_KEY | 是 | Stackby API密钥(或实现PAT时)。 |
完整配置 (游标、克劳德桌面、Cline、HTTP传输):请参阅 Stackby_API/MCP_SERVER/docs/CONFIG.md 在兄弟回购中。
______________________________________________________________________
故障排除
游标中stackby MCP服务器的“错误-显示输出”
- 查看真正的错误 --在光标中转到 设置→ MCP,查找 斯塔克比,然后单击 “显示输出”日志将显示服务器失败的原因(例如缺少文件、缺少环境或节点错误)。
- 在本地使用此仓库 --你必须 建造 将项目和光标指向已构建的文件:
- 在终端中: cd 转到此repo,然后运行 npm install 和 npm run build. - 在 %USERPROFILE%\.cursor\mcp.json (Windows)使用 标准 配置为 完整路径 到 dist\index.js:
"stackby": {
"command": "node",
"args": ["C:\\Users\\Admin\\Desktop\\Stackby\\stackby-mcp-server\\dist\\index.js"],
"env": { "STACKBY_API_KEY": "your-api-key-or-pat" }
}如果你的仓库在别处,请替换路径。不要使用 npx -y stackby-mcp-server 用于本地开发,除非您已经发布/安装了该软件包。
- API密钥 --确保
STACKBY_API_KEY(或PAT)在服务器的env在mcp.json.编辑配置后重新启动Cursor。
本地stdio正常工作,但托管URL返回500,没有错误正文
- 这 标准 配置(例如。
command/args到dist/index.js随着env.STACKBY_API_KEY)之所以有效,是因为密钥在进程env中。这 托管URL (https://mcp.stackby.com/mcp)必须在上接收API密钥 每一个请求 通过标题:X-Stackby-API-Key或Authorization: Bearer. - 得到 正确的错误响应 从托管端点(因此您可以看到失败的内容,而不仅仅是状态500):
1. 部署最新代码 来自此回购(包括 server-http.ts).服务器在500返回一个JSON正文 error, name, message,并且可选 stack 和 code,加上a X-MCP-Error 带有短消息的响应标头。 1. 部署后,500 响应体 将是JSON,例如。 { "error": "MCP handler error", "name": "Error", "message": "..." }.检查车身(或 X-MCP-Error header)查看Postman/dev工具中的真实错误。 1. 在服务器上,检查以下日志 [MCP /mcp] Error handling request: 以及要调试的堆栈跟踪。
流式HTTP“向端点发送错误”或SSE“非-200状态代码(500)”
- 检查API密钥 --服务器在没有密钥的情况下返回401,对于其他错误,可以返回500。在
mcp.json在streamableHttp配置下,设置 标头 因此,每个请求都包含您的密钥,例如。"X-Stackby-API-Key": "your-api-key-or-pat"或"Authorization": "Bearer your-api-key-or-pat"。编辑后重新启动游标。 - 如果你在本地测试 (
url": "http://localhost:3001/mcp"):runnpm run start:http在终端中,并在Cursor连接时查看日志。你会看到[MCP /mcp] Error handling request:加上实际误差。修复该原因并重新启动服务器。 - 如果您使用的是托管URL (
https://mcp.stackby.com/mcp):500表示托管服务器抛出错误。确认标题设置如上。确保托管服务器运行 最新的server-http从这个仓库中,500个响应包括完整的错误JSON和X-MCP-Error头球
作为本地服务器添加时出现相同错误
- 如果要在本地运行服务器,请将其添加为 命令(stdio) 服务器,而不是URL: 命令
npx, 参数["-y", "stackby-mcp-server"], 环境{ "STACKBY_API_KEY": "your-api-key-or-pat" }.
Stackby:describe_table 说“尚未加载”/要求 tool_search 第一
- 这通常是客户端工具目录加载问题(不是
describe_table参数错误)。 - 修复步骤:
1. 重新启动MCP客户端会话(或重新启动Cursor/ChatGPT连接器)。 1. 如果是本地服务器,请确保重建/重新启动服务器(npm run build,然后重新启动MCP服务器进程)。 1. 首先运行客户端工具发现(tool_search 与查询类似 stackby describe table),然后致电 describe_table.
describe_table支持两种按键样式:
- 案例: stackId, tableId - 蛇病例: stack_id, table_id
______________________________________________________________________
规划与设计: Stackby_API/MCP_SERVER/ (兄弟回购)。
