使用说明
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仪表板:
- 选择您的头像,然后选择 账户设置.
- 打开“应用程序”选项卡。
- 旁边 授权,单击 创建授权.
示例配置 克劳德桌面:
{
"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>"
}
}
}
}
示例配置 VSCode:
{
"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配置,支持团队部署,私有 空间和环境设置。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": ["<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": 9333, "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或使用
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": "<YOUR_HEROKU_AUTH_TOKEN>",
"MCP_SERVER_REQUEST_TIMEOUT": "30000"
}
}
}
}