Skip to main content
Glama
OctopusDeploy

Octopus Deploy MCP Server

Official

get_release_by_id

Retrieve detailed information about a specific Octopus Deploy release using its unique identifier and space name to access deployment data and configuration details.

Instructions

Get details for a specific release by its ID

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
releaseIdYesThe ID of the release to retrieve
spaceNameYesThe space name

Implementation Reference

  • The handler function that executes the tool logic: fetches the release by ID from Octopus Deploy API and formats response.
    async ({ spaceName, releaseId }) => { const configuration = getClientConfigurationFromEnvironment(); const client = await Client.create(configuration); const releaseRepository = new ReleaseRepository(client, spaceName); const release = await releaseRepository.get(releaseId); return { content: [ { type: "text", text: JSON.stringify({ id: release.Id, version: release.Version, channelId: release.ChannelId, projectId: release.ProjectId, releaseNotes: release.ReleaseNotes, assembled: release.Assembled, ignoreChannelRules: release.IgnoreChannelRules, selectedPackages: release.SelectedPackages, selectedGitResources: release.SelectedGitResources, buildInformation: release.BuildInformation, customFields: release.CustomFields }), }, ], }; }
  • Zod input schema defining parameters spaceName and releaseId.
    { spaceName: z.string().describe("The space name"), releaseId: z.string().describe("The ID of the release to retrieve") },
  • Registration of the tool on the MCP server using server.tool, including name, description, schema, and handler.
    export function registerGetReleaseByIdTool(server: McpServer) { server.tool( "get_release_by_id", "Get details for a specific release by its ID", { spaceName: z.string().describe("The space name"), releaseId: z.string().describe("The ID of the release to retrieve") }, { title: "Get release details by ID from Octopus Deploy", readOnlyHint: true, }, async ({ spaceName, releaseId }) => { const configuration = getClientConfigurationFromEnvironment(); const client = await Client.create(configuration); const releaseRepository = new ReleaseRepository(client, spaceName); const release = await releaseRepository.get(releaseId); return { content: [ { type: "text", text: JSON.stringify({ id: release.Id, version: release.Version, channelId: release.ChannelId, projectId: release.ProjectId, releaseNotes: release.ReleaseNotes, assembled: release.Assembled, ignoreChannelRules: release.IgnoreChannelRules, selectedPackages: release.SelectedPackages, selectedGitResources: release.SelectedGitResources, buildInformation: release.BuildInformation, customFields: release.CustomFields }), }, ], }; } ); }
  • Self-registration into the TOOL_REGISTRY for conditional registration in index.ts.
    registerToolDefinition({ toolName: "get_release_by_id", config: { toolset: "releases", readOnly: true }, registerFn: registerGetReleaseByIdTool, });
  • Import statement that triggers execution of the tool's self-registration code.
    import "./getReleaseById.js";

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/OctopusDeploy/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server