get_app_info
Retrieve detailed Heroku app information, including configuration, dynos, add-ons, buildpacks, collaborators, and domains. Input app name to access status and metadata in text or JSON format.
Instructions
Get comprehensive information about a Heroku application. Use this tool when you need to: 1) View app configuration and settings, 2) Check dyno formation and scaling, 3) List add-ons and buildpacks, 4) View collaborators and access details, 5) Check domains and certificates. Accepts app name and optional JSON format. Returns detailed app status and configuration.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The name of the Heroku app to get information about. This must be an existing app that you have access to. | |
| json | No | Controls the output format. When true, returns a detailed JSON response containing app metadata such as add-ons, dynos, buildpack configurations, collaborators, and domain information. When false or omitted, returns a simplified text format. |
Implementation Reference
- src/tools/apps.ts:76-86 (handler)Handler function that constructs the Heroku CLI 'apps:info' command with app name and optional json flag, executes it via herokuRepl.executeCommand, and returns processed output using handleCliOutput.async (options: GetAppInfoOptions): Promise<McpToolResponse> => { const command = new CommandBuilder(TOOL_COMMAND_MAP.GET_APP_INFO) .addFlags({ app: options.app, json: options.json }) .build(); const output = await herokuRepl.executeCommand(command); return handleCliOutput(output); }
- src/tools/apps.ts:54-58 (schema)Zod schema for get_app_info tool options: required 'app' string and optional 'json' boolean flag, with descriptions.*/ export const getAppInfoOptionsSchema = z.object({ app: z.string().describe('Target app name. Requires access permissions'), json: z.boolean().optional().describe('JSON output with full metadata. Default: text format') });
- src/tools/apps.ts:71-88 (registration)registerGetAppInfoTool function that registers the 'get_app_info' tool on the MCP server using server.tool with name, description, schema, and inline handler.export const registerGetAppInfoTool = (server: McpServer, herokuRepl: HerokuREPL): void => { server.tool( 'get_app_info', 'Get app details: config, dynos, addons, access, domains', getAppInfoOptionsSchema.shape, async (options: GetAppInfoOptions): Promise<McpToolResponse> => { const command = new CommandBuilder(TOOL_COMMAND_MAP.GET_APP_INFO) .addFlags({ app: options.app, json: options.json }) .build(); const output = await herokuRepl.executeCommand(command); return handleCliOutput(output); } ); };
- src/index.ts:51-51 (registration)Invocation of registerGetAppInfoTool(server, herokuRepl) to register the tool during server setup.apps.registerGetAppInfoTool(server, herokuRepl);
- src/utils/tool-commands.ts:11-11 (helper)TOOL_COMMAND_MAP.GET_APP_INFO constant, mapped to Heroku CLI command 'apps:info'.GET_APP_INFO: 'apps:info',