Heroku连接器
让您的代理访问Heroku平台
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"heroku": {
"command": "npx -y @heroku/mcp-server",
"env": {
"HEROKU_API_KEY": "\u003cYOUR_HEROKU_AUTH_TOKEN\u003e"
}
}
}
}
该服务需要配置环境变量:DEBUG、HEROKU_API_KEY
服务介绍
heroku-mcp-server
Heroku 平台 MCP 服务器适用于 Common Runtime、Cedar Private 和 Shield Spaces 以及 Fir Private Spaces。
概述
Heroku 平台 MCP 服务器是一种专门设计的 Model Context Protocol (MCP) 实现,旨在促进大型语言模型(LLMs)与 Heroku 平台之间的无缝交互。该服务器提供了一套强大的工具和功能,使 LLMs 能够读取、管理和操作 Heroku 平台资源。
主要特点:
- 通过 LLM 驱动的工具直接与 Heroku 平台资源进行交互
- 通过利用 Heroku CLI 安全且经过身份验证地访问 Heroku 平台 API
- 用于 Heroku 平台交互的自然语言界面
注意:Heroku 平台 MCP 服务器目前正处于早期开发阶段。随着我们不断改进和完善实现,可用的功能和工具可能会有所变化。我们欢迎反馈和贡献,以帮助塑造该项目的未来。
身份验证
使用以下方法之一生成 Heroku 授权令牌:
-
使用 Heroku CLI 命令:
heroku authorizations:create -
使用 CLI 中现有的令牌
heroku auth:token复制令牌并在接下来的步骤中将其用作
HEROKU_API_KEY。 -
在 Heroku 仪表板 中:
- 选择您的头像,然后选择 账户设置。
- 打开应用程序选项卡。
- 在 授权 旁边,点击 创建授权。
配置 Heroku 平台 MCP 服务器
您可以配置 Claude Desktop、Zed、Cursor 和 Windsurf 以与 Heroku 平台 MCP 服务器一起工作。
Claude Desktop
将此代码片段添加到您的 claude_desktop_config.json 中:
{
"mcpServers": {
"heroku": {
"command": "npx -y @heroku/mcp-server",
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
Zed
将此代码片段添加到您的 Zed settings.json 中:
{
"context_servers": {
"heroku": {
"command": {
"path": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
}
Cursor
将此代码片段添加到您的 Cursor mcp.json 中:
{
"mcpServers": {
"heroku": {
"command": "npx -y @heroku/mcp-server",
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
Windsurf
将此代码片段添加到您的 Windsurf mcp_config.json 中:
{
"mcpServers": {
"heroku": {
"command": "npx -y @heroku/mcp-server",
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
可用工具
应用管理
list_apps- 列出所有 Heroku 应用程序。您可以按个人、协作者、团队或空间筛选应用。get_app_info- 获取有关应用程序的详细信息,包括其配置、dynos 和附加组件。create_app- 使用可自定义的区域、团队和空间设置创建新应用。rename_app- 重命名现有应用。transfer_app- 将应用的所有权转移到另一个用户或团队。deploy_to_heroku- 使用app.json配置将项目部署到 Heroku,支持团队部署、私有空间和环境设置。deploy_one_off_dyno- 在 Heroku 的一次性 dyno 上的沙箱环境中执行代码或命令。支持文件创建、网络访问、环境变量和自动清理。适合运行脚本、测试或临时工作负载。
进程与 Dyno 管理
ps_list- 列出应用程序的所有 dynos。ps_scale- 增加或减少 dynos 的数量,或者调整 dynos 的大小。ps_restart- 重启特定的 dynos、进程类型或所有 dynos。
插件
list_addons- 列出所有应用程序或特定应用程序的所有插件。get_addon_info- 获取关于特定插件的详细信息。create_addon- 为应用程序提供一个新的插件。
维护与日志
maintenance_on- 启用应用程序的维护模式。maintenance_off- 禁用应用程序的维护模式。get_app_logs- 查看应用程序日志。
流水线管理
pipelines_create- 创建新的流水线。pipelines_promote- 将应用程序提升到流水线中的下一个阶段。pipelines_list- 列出可用的流水线。pipelines_info- 获取详细的流水线信息。
团队与空间管理
list_teams- 列出你所属的团队。list_private_spaces- 列出可用的空间。
PostgreSQL 数据库管理
pg_psql- 对 Heroku PostgreSQL 数据库执行 SQL 查询。pg_info- 显示详细的数据库信息。pg_ps- 查看活动查询和执行详情。pg_locks- 查看数据库锁并识别阻塞事务。pg_outliers- 识别资源密集型查询。pg_credentials- 管理数据库凭证和访问权限。pg_kill- 终止特定的数据库进程。pg_maintenance- 显示数据库维护信息。pg_backups- 管理数据库备份和计划。pg_upgrade- 升级 PostgreSQL 到新版本。
调试
你可以使用 MCP 检查器 或者
VS Code 运行和调试功能 来运行和调试服务器。
- 使用
npm link从项目根目录链接项目作为全局 CLI。 - 使用
npm run build:dev构建,或者使用npm run build:watch监视文件更改并自动构建。
使用 MCP 检查器
在代码中没有断点的情况下使用 MCP 检查器:
# Breakpoints are not available
npx @modelcontextprotocol/inspector heroku-mcp-server
或者,如果你将包安装到了特定目录或正在积极开发 Heroku MCP 服务器:
cd /path/to/servers
npx @modelcontextprotocol/inspector dist/index.js
使用 VS Code 运行和调试功能
使用 VS Code
运行和调试启动器,在代码中设置完全功能的断点:
- 定位并选择运行调试。
- 在下拉菜单中选择标记为“
MCP Server Launcher”的配置。 - 选择运行/调试按钮。
VS Code / 光标调试设置
要设置带断点的本地调试:
-
将 Heroku 认证令牌存储在 VS Code 用户设置中:
- 打开命令面板(Cmd/Ctrl + Shift + P)。
- 输入
Preferences: Open User Settings (JSON)。 - 添加以下代码片段:
{ "heroku.mcp.authToken": "your-token-here" } -
创建或更新
.vscode/launch.json:{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "MCP 服务器启动器", "skipFiles": ["<node_internals>/**"], "program": "${workspaceFolder}/node_modules/@modelcontextprotocol/inspector/bin/cli.js", "outFiles": ["${workspaceFolder}/**/dist/**/*.js"], "env": { "HEROKU_API_KEY": "${config:heroku.mcp.authToken}", "DEBUG": "true" }, "args": ["heroku-mcp-server"], "sourceMaps": true, "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", "preLaunchTask": "npm: build:watch" }, { "type": "node", "request": "attach", "name": "附加到调试钩子进程", "port": 9332, "skipFiles": ["<node_internals>/**"], "sourceMaps": true, "outFiles": ["${workspaceFolder}/dist/**/*.js"] }, { "type": "node", "request": "attach", "name": "附加到 REPL 进程", "port": 9333, "skipFiles": ["<node_internals>/**"], "sourceMaps": true, "outFiles": ["${workspaceFolder}/dist/**/*.js"] } ], "compounds": [ { "name": "附加到 MCP 服务器", "configurations": ["Attach to Debug Hook Process", "Attach to REPL Process"] } ] } -
创建
.vscode/tasks.json:{ "version": "2.0.0", "tasks": [ { "type": "npm", "script": "build:watch", "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$tsc"] } ] } -
(可选)在你的 TypeScript 文件中设置断点。
-
按 F5 或使用
运行和调试侧边栏。
注意:调试器会在启动前自动构建你的 TypeScript 文件。