heroku mcp服务器

Heroku平台MCP服务器适用于公共运行时、Cedar专用和Shield空间以及Fir专用空间。
先决条件
- Heroku命令行界面 必须全局安装在您的系统上,版本 10.8.1或更高.
在Heroku上部署

概述
Heroku平台MCP服务器是一种专门的模型上下文协议(MCP)实现,旨在促进 大型语言模型(LLM)和Heroku平台之间的无缝交互。此服务器提供了一组强大的 使LLM能够读取、管理和操作Heroku平台资源的工具和功能。
主要特点:
- 通过LLM驱动的工具与Heroku平台资源直接交互
- 利用Heroku CLI对Heroku平台API进行安全和经过身份验证的访问
- Heroku平台交互的自然语言界面
注:Heroku平台MCP服务器目前处于早期开发阶段。随着我们不断加强和完善 在实施过程中,可用的功能和工具可能会不断发展。我们欢迎反馈和贡献,以帮助塑造 这个项目的未来。
注: 这 Heroku平台MCP服务器 要求 Heroku CLI将在全球范围内安装(v10.8.1+)。通过运行以下命令确保您拥有正确的版本 heroku --version.配置Heroku平台MCP服务器
您可以配置Claude Desktop、Zed、Cursor、Windsurf和其他客户端,使其与Heroku平台MCP服务器协同工作。
配置Heroku平台MCP服务器 heroku mcp:start
使用 heroku mcp:start 启动Heroku平台MCP服务器。我们推荐这种方法,因为它利用了您现有的 Heroku CLI身份验证,因此您不需要设置 HEROKU_API_KEY 环境变量。这 heroku mcp:start 命令在Heroku CLI 10.8.1及更高版本中可用。
使用配置有几个好处 heroku mcp:start:
- 无需管理或公开Heroku API密钥
- 使用当前的Heroku CLI身份验证上下文
- 与受支持的客户端无缝协作
示例配置 克劳德桌面:
{
"mcpServers": {
"heroku": {
"command": "heroku mcp:start"
}
}
}示例配置 泽德:
{
"context_servers": {
"heroku": {
"command": {
"path": "heroku",
"args": ["mcp:start"]
}
}
}
}示例配置 光标:
{
"mcpServers": {
"heroku": {
"command": "heroku mcp:start"
}
}
}示例配置 帆板运动:
{
"mcpServers": {
"heroku": {
"command": "heroku mcp:start"
}
}
}示例配置 克莱恩:
{
"mcpServers": {
"heroku": {
"command": "heroku mcp:start"
}
}
}示例配置 VSCode:
{
"mcp": {
"servers": {
"heroku": {
"type": "stdio",
"command": "heroku",
"args": ["mcp:start"]
}
}
}
}示例配置 崔:
{
"mcpServers": {
"heroku": {
"command": "heroku mcp:start"
}
}
}注: 当你使用heroku mcp:start,服务器使用您当前的Heroku CLI会话进行身份验证,因此您不会 需要设置HEROKU_API_KEY环境变量。我们建议您使用heroku mcp:start,但如果你愿意的话 使用API密钥,您可以使用下面的备用配置。
配置Heroku平台MCP服务器 npx -y @heroku/mcp-server
您还可以使用以下命令启动Heroku平台MCP服务器 npx -y @heroku/mcp-server 命令。此方法需要 你设置 HEROKU_API_KEY 环境 Heroku变量 授权令牌.
生成 HEROKU_API_KEY
使用以下方法之一生成Heroku授权令牌:
- 使用Heroku CLI命令:
heroku authorizations:create- 使用CLI中的现有令牌
heroku auth:token复制令牌并将其用作您的 HEROKU_API_KEY 在以下步骤中。
- 在你的 Heroku仪表板:
1. 选择您的头像,然后选择 账户设置. 1. 打开“应用程序”选项卡。 1. 旁边 授权,单击 创建授权.
示例配置 克劳德桌面:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": ""
}
}
}
}示例配置 泽德:
{
"context_servers": {
"heroku": {
"command": {
"path": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": ""
}
}
}
}
}示例配置 光标:
{
"mcpServers": {
"heroku": {
"command": "npx -y @heroku/mcp-server",
"env": {
"HEROKU_API_KEY": ""
}
}
}
}示例配置 帆板运动:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": ""
}
}
}
}示例配置 克莱恩:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": ""
}
}
}
}示例配置 VSCode:
{
"mcp": {
"servers": {
"heroku": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": ""
}
}
}
}
}示例配置 崔:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": ""
}
}
}
}注: 当你使用npx -y @heroku/mcp-server,您必须设置HEROKU_API_KEY环境变量与您的 Heroku授权令牌。
可用工具
应用程序管理
list_apps-列出所有Heroku应用程序。您可以按个人、合作者、团队或空间筛选应用程序。get_app_info-获取有关应用程序的详细信息,包括其配置、dynos和附加组件。create_app-创建一个新的应用程序,为地区、团队和空间提供可定制的设置。rename_app-重命名现有应用程序。transfer_app-将应用程序的所有权转移给另一个用户或团队。deploy_to_heroku-使用app.json配置,支持团队部署,私有
空间和环境设置。
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代码运行和调试功能 到 运行并调试服务器。
- 使用以下命令将项目链接为全局CLI
npm link从项目根开始。 - 建立
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代码运行和调试功能
使用VS代码 运行和调试启动器 与完全 代码中的函数断点:
- 找到并选择运行调试。
- 选择标记为“”的配置
MCP Server Launcher”在下拉列表中。 - 选择运行/调试按钮。
VS代码/光标调试设置
要设置带有断点的本地调试,请执行以下操作:
- 将您的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 Server Launcher",
"skipFiles": ["/**"],
"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": "Attach to Debug Hook Process",
"port": 9332,
"skipFiles": ["/**"],
"sourceMaps": true,
"outFiles": ["${workspaceFolder}/dist/**/*.js"]
},
{
"type": "node",
"request": "attach",
"name": "Attach to REPL Process",
"port": 9333,
"skipFiles": ["/**"],
"sourceMaps": true,
"outFiles": ["${workspaceFolder}/dist/**/*.js"]
}
],
"compounds": [
{
"name": "Attach to MCP Server",
"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或使用
Run and Debug侧边栏。
注意:调试器在启动之前会自动构建TypeScript文件。
环境变量
Heroku平台MCP服务器支持以下环境变量:
HEROKU_API_KEY
您的Heroku授权令牌。需要使用Heroku平台进行身份验证。
MCP_SERVER_REQUEST_TIMEOUT
命令执行超时(毫秒)。如果未设置,则默认为15000(15秒)。
具有自定义超时的示例配置:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "",
"MCP_SERVER_REQUEST_TIMEOUT": "30000"
}
}
}
}