Heroku平台MCP服务器在通用运行时、Cedar私有空间、Shield空间以及Fir私有空间上运行。
Heroku平台MCP服务器是一个专门设计的模型上下文协议(MCP)实现,旨在促进大型语言模型(LLMs)与Heroku平台之间的无缝交互。此服务器提供了一套强大的工具和能力,使LLMs能够读取、管理和操作Heroku平台资源。
关键特性:
注意:Heroku平台MCP服务器目前处于早期开发阶段。随着我们继续改进和完善实现,可用的功能和工具可能会发生变化。我们欢迎反馈和贡献,以帮助塑造这个项目的未来。
注意: Heroku平台MCP服务器需要全局安装Heroku CLI(v11.8.1+)。确保您已安装正确的版本,可以通过运行
heroku --version来检查。
您可以配置Claude Desktop、Zed、Cursor、Windsurf和其他客户端以与Heroku平台MCP服务器协同工作。
heroku mcp:start配置Heroku平台MCP服务器使用heroku mcp:start启动Heroku平台MCP服务器。我们推荐这种方法,因为它利用了您现有的Heroku CLI认证,因此无需设置
HEROKU_API_KEY环境变量。heroku mcp:start命令在Heroku CLI版本10.8.1及以后版本中可用。
使用heroku mcp:start配置有几个好处:
{
"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"
}
}
}
{
"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密钥,可以使用下面的替代配置。
npx -y @heroku/mcp-server配置Heroku平台MCP服务器您还可以使用npx -y @heroku/mcp-server命令启动Heroku平台MCP服务器。此方法需要您设置
HEROKU_API_KEY环境变量,并使用您的Heroku
授权令牌。
HEROKU_API_KEY使用以下方法之一生成Heroku授权令牌:
使用Heroku CLI命令:
heroku authorizations:create
使用CLI中的现有令牌
heroku auth:token
复制令牌并将其作为您的HEROKU_API_KEY用于以下步骤。
在您的Heroku仪表板中:
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
{
"context_servers": {
"heroku": {
"command": {
"path": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
}
{
"mcpServers": {
"heroku": {
"command": "npx -y @heroku/mcp-server",
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
{
"mcp": {
"servers": {
"heroku": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
}
{
"mcpServers": {
"heroku": {
"command": "npx",
"args": ["-y", "@heroku/mcp-server"],
"env": {
"HEROKU_API_KEY": "<YOUR_HEROKU_AUTH_TOKEN>"
}
}
}
}
注意: 当您使用
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配置将项目部署到Heroku,支持团队部署、私有空间和环境设置。deploy_one_off_dyno - 在Heroku一次性dyno的隔离环境中执行代码或命令。支持文件创建、网络访问、环境变量和自动清理。适用于运行脚本、测试或临时负载。ps_list - 列出应用的所有dynos。ps_scale - 调整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 - 列出可用的空间。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检查器:
# 断点不可用
npx @modelcontextprotocol/inspector heroku-mcp-server
或者,如果您在特定目录中安装了该包或正在积极开发Heroku MCP服务器:
cd /path/to/servers
npx @modelcontextprotocol/inspector dist/index.js
使用VS Code的 运行和调试启动器,并在代码中设置完全功能的断点:
MCP Server Launcher”的配置。要设置本地调试并启用断点:
将您的Heroku授权令牌存储在VS Code用户设置中:
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": ["<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": "Attach to Debug Hook Process",
"port": 9332,
"skipFiles": ["<node_internals>/**"],
"sourceMaps": true,
"outFiles": ["${workspaceFolder}/dist/**/*.js"]
},
{
"type": "node",
"request": "attach",
"name": "Attach to REPL Process",
"port": 1337,
"skipFiles": ["<node_internals>/**"],
"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或使用**运行和调试**侧边栏。
注意:调试器会在启动前自动构建您的TypeScript文件。
要通过Smithery自动安装Heroku平台MCP服务器到Claude Desktop:
npx -y @smithery/cli install @heroku/heroku-mcp-server --client claude
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": "<YOUR_HEROKU_AUTH_TOKEN>",
"MCP_SERVER_REQUEST_TIMEOUT": "30000"
}
}
}
}