Skip to main content
Glama
OctopusDeploy

Octopus Deploy MCP Server

Official

list_releases_for_project

Retrieve all releases for a specific project in Octopus Deploy to track deployment history, monitor version changes, and manage release pipelines.

Instructions

List releases for a specific project

This tool lists all releases for a given project in a space. The space name and project ID are required. Optionally provide skip, take, and searchByVersion parameters.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectIdYes
searchByVersionNoSearch releases by version string
skipNo
spaceNameYes
takeNo

Implementation Reference

  • The handler function that executes the tool: connects to Octopus Deploy, fetches releases for the project using ReleaseRepository.listForProject, and returns JSON-formatted response.
    async ({ spaceName, projectId, skip, take, searchByVersion }) => { const configuration = getClientConfigurationFromEnvironment(); const client = await Client.create(configuration); const releaseRepository = new ReleaseRepository(client, spaceName); const releasesResponse = await releaseRepository.listForProject(projectId, { skip, take, searchByVersion }); return { content: [ { type: "text", text: JSON.stringify({ totalResults: releasesResponse.TotalResults, itemsPerPage: releasesResponse.ItemsPerPage, numberOfPages: releasesResponse.NumberOfPages, lastPageNumber: releasesResponse.LastPageNumber, items: releasesResponse.Items.map(release => ({ 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 (required string), projectId (required string), skip/take (optional numbers), searchByVersion (optional string).
    spaceName: z.string(), projectId: z.string(), skip: z.number().optional(), take: z.number().optional(), searchByVersion: z.string().optional().describe("Search releases by version string") },
  • The registerListReleasesForProjectTool function that registers the MCP tool with server.tool(), including name, description, input schema, output hints, and handler.
    export function registerListReleasesForProjectTool(server: McpServer) { server.tool( "list_releases_for_project", `List releases for a specific project This tool lists all releases for a given project in a space. The space name and project ID are required. Optionally provide skip, take, and searchByVersion parameters.`, { spaceName: z.string(), projectId: z.string(), skip: z.number().optional(), take: z.number().optional(), searchByVersion: z.string().optional().describe("Search releases by version string") }, { title: "List releases for a project in Octopus Deploy", readOnlyHint: true, }, async ({ spaceName, projectId, skip, take, searchByVersion }) => { const configuration = getClientConfigurationFromEnvironment(); const client = await Client.create(configuration); const releaseRepository = new ReleaseRepository(client, spaceName); const releasesResponse = await releaseRepository.listForProject(projectId, { skip, take, searchByVersion }); return { content: [ { type: "text", text: JSON.stringify({ totalResults: releasesResponse.TotalResults, itemsPerPage: releasesResponse.ItemsPerPage, numberOfPages: releasesResponse.NumberOfPages, lastPageNumber: releasesResponse.LastPageNumber, items: releasesResponse.Items.map(release => ({ 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 of the tool into the TOOL_REGISTRY, specifying toolset 'releases' and readOnly true, linking to the register function.
    registerToolDefinition({ toolName: "list_releases_for_project", config: { toolset: "releases", readOnly: true }, registerFn: registerListReleasesForProjectTool, });
  • Import that triggers the self-registration of the list_releases_for_project tool.
    import "./listReleasesForProject.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