list_releases
Retrieve all releases within a specified Octopus Deploy space, with optional pagination controls for managing large result sets.
Instructions
List releases in a space
This tool lists all releases in a given space. The space name is required. Optionally provide skip and take parameters for pagination.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| spaceName | Yes | The space name | |
| skip | No | ||
| take | No |
Implementation Reference
- src/tools/listReleases.ts:22-55 (handler)The handler function that creates an Octopus Deploy client, fetches releases for the given space with optional pagination, and returns formatted JSON response.async ({ spaceName, skip, take }) => { const configuration = getClientConfigurationFromEnvironment(); const client = await Client.create(configuration); const releaseRepository = new ReleaseRepository(client, spaceName); const releasesResponse = await releaseRepository.list({ skip, take }); 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 })) }), }, ], }; }
- src/tools/listReleases.ts:14-17 (schema)Input schema defined with Zod validators for spaceName (required string), and optional skip/take numbers for pagination.spaceName: z.string().describe("The space name"), skip: z.number().optional(), take: z.number().optional() },
- src/tools/listReleases.ts:7-57 (registration)registerListReleasesTool: Registers the tool on the MCP server with name, description, input schema, output metadata, and handler function.export function registerListReleasesTool(server: McpServer) { server.tool( "list_releases", `List releases in a space This tool lists all releases in a given space. The space name is required. Optionally provide skip and take parameters for pagination.`, { spaceName: z.string().describe("The space name"), skip: z.number().optional(), take: z.number().optional() }, { title: "List all releases in an Octopus Deploy space", readOnlyHint: true, }, async ({ spaceName, skip, take }) => { const configuration = getClientConfigurationFromEnvironment(); const client = await Client.create(configuration); const releaseRepository = new ReleaseRepository(client, spaceName); const releasesResponse = await releaseRepository.list({ skip, take }); 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 })) }), }, ], }; } ); }
- src/tools/listReleases.ts:59-63 (registration)Registers the tool metadata in the global TOOL_REGISTRY for discovery and conditional enabling during top-level tool registration.registerToolDefinition({ toolName: "list_releases", config: { toolset: "releases", readOnly: true }, registerFn: registerListReleasesTool, });
- src/tools/index.ts:15-15 (registration)Import triggers execution of registerToolDefinition in listReleases.ts, adding the tool to TOOL_REGISTRY.import "./listReleases.js";