@octopusdeploy/mcp-server 1.1.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +202 -47
- package/dist/helpers/activeToolsetConfig.d.ts +4 -0
- package/dist/helpers/activeToolsetConfig.d.ts.map +1 -0
- package/dist/helpers/activeToolsetConfig.js +18 -0
- package/dist/helpers/activeToolsetConfig.js.map +1 -0
- package/dist/helpers/errorHandling.d.ts +3 -0
- package/dist/helpers/errorHandling.d.ts.map +1 -1
- package/dist/helpers/errorHandling.js +4 -1
- package/dist/helpers/errorHandling.js.map +1 -1
- package/dist/helpers/getClientConfigurationFromEnvironment.d.ts +2 -0
- package/dist/helpers/getClientConfigurationFromEnvironment.d.ts.map +1 -1
- package/dist/helpers/getClientConfigurationFromEnvironment.js +20 -4
- package/dist/helpers/getClientConfigurationFromEnvironment.js.map +1 -1
- package/dist/helpers/grepLines.d.ts +38 -0
- package/dist/helpers/grepLines.d.ts.map +1 -0
- package/dist/helpers/grepLines.js +65 -0
- package/dist/helpers/grepLines.js.map +1 -0
- package/dist/helpers/methodTier.d.ts +15 -0
- package/dist/helpers/methodTier.d.ts.map +1 -0
- package/dist/helpers/methodTier.js +25 -0
- package/dist/helpers/methodTier.js.map +1 -0
- package/dist/helpers/pathAllowlist.d.ts +27 -0
- package/dist/helpers/pathAllowlist.d.ts.map +1 -0
- package/dist/helpers/pathAllowlist.js +177 -0
- package/dist/helpers/pathAllowlist.js.map +1 -0
- package/dist/helpers/pathGlob.d.ts +15 -0
- package/dist/helpers/pathGlob.d.ts.map +1 -0
- package/dist/helpers/pathGlob.js +47 -0
- package/dist/helpers/pathGlob.js.map +1 -0
- package/dist/helpers/requireConfirmation.d.ts +119 -0
- package/dist/helpers/requireConfirmation.d.ts.map +1 -0
- package/dist/helpers/requireConfirmation.js +148 -0
- package/dist/helpers/requireConfirmation.js.map +1 -0
- package/dist/helpers/sensitivePathDenylist.d.ts +32 -0
- package/dist/helpers/sensitivePathDenylist.d.ts.map +1 -0
- package/dist/helpers/sensitivePathDenylist.js +49 -0
- package/dist/helpers/sensitivePathDenylist.js.map +1 -0
- package/dist/helpers/stripLinks.d.ts +15 -0
- package/dist/helpers/stripLinks.d.ts.map +1 -0
- package/dist/helpers/stripLinks.js +19 -0
- package/dist/helpers/stripLinks.js.map +1 -0
- package/dist/helpers/userCache.d.ts +14 -0
- package/dist/helpers/userCache.d.ts.map +1 -0
- package/dist/helpers/userCache.js +16 -0
- package/dist/helpers/userCache.js.map +1 -0
- package/dist/helpers/validateExecutePath.d.ts +29 -0
- package/dist/helpers/validateExecutePath.d.ts.map +1 -0
- package/dist/helpers/validateExecutePath.js +62 -0
- package/dist/helpers/validateExecutePath.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +58 -9
- package/dist/index.js.map +1 -1
- package/dist/resources/catalog/capabilities.d.ts +36 -0
- package/dist/resources/catalog/capabilities.d.ts.map +1 -0
- package/dist/resources/catalog/capabilities.js +90 -0
- package/dist/resources/catalog/capabilities.js.map +1 -0
- package/dist/resources/catalog/llmsTxt.d.ts +8 -0
- package/dist/resources/catalog/llmsTxt.d.ts.map +1 -0
- package/dist/resources/catalog/llmsTxt.js +44 -0
- package/dist/resources/catalog/llmsTxt.js.map +1 -0
- package/dist/resources/dispatch.d.ts +30 -0
- package/dist/resources/dispatch.d.ts.map +1 -0
- package/dist/resources/dispatch.js +81 -0
- package/dist/resources/dispatch.js.map +1 -0
- package/dist/resources/featureToggle.d.ts +2 -0
- package/dist/resources/featureToggle.d.ts.map +1 -0
- package/dist/resources/featureToggle.js +34 -0
- package/dist/resources/featureToggle.js.map +1 -0
- package/dist/resources/index.d.ts +12 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +44 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/interruption.d.ts +2 -0
- package/dist/resources/interruption.d.ts.map +1 -0
- package/dist/resources/interruption.js +34 -0
- package/dist/resources/interruption.js.map +1 -0
- package/dist/resources/release.d.ts +2 -0
- package/dist/resources/release.d.ts.map +1 -0
- package/dist/resources/release.js +33 -0
- package/dist/resources/release.js.map +1 -0
- package/dist/resources/rolloutGroup.d.ts +2 -0
- package/dist/resources/rolloutGroup.d.ts.map +1 -0
- package/dist/resources/rolloutGroup.js +35 -0
- package/dist/resources/rolloutGroup.js.map +1 -0
- package/dist/resources/runbook.d.ts +2 -0
- package/dist/resources/runbook.d.ts.map +1 -0
- package/dist/resources/runbook.js +34 -0
- package/dist/resources/runbook.js.map +1 -0
- package/dist/resources/task.d.ts +2 -0
- package/dist/resources/task.d.ts.map +1 -0
- package/dist/resources/task.js +68 -0
- package/dist/resources/task.js.map +1 -0
- package/dist/tools/createRelease.d.ts.map +1 -1
- package/dist/tools/createRelease.js +93 -50
- package/dist/tools/createRelease.js.map +1 -1
- package/dist/tools/deployRelease.d.ts.map +1 -1
- package/dist/tools/deployRelease.js +117 -97
- package/dist/tools/deployRelease.js.map +1 -1
- package/dist/tools/execute.d.ts +3 -0
- package/dist/tools/execute.d.ts.map +1 -0
- package/dist/tools/execute.js +261 -0
- package/dist/tools/execute.js.map +1 -0
- package/dist/tools/findAccounts.d.ts.map +1 -1
- package/dist/tools/findAccounts.js +15 -12
- package/dist/tools/findAccounts.js.map +1 -1
- package/dist/tools/findCertificates.d.ts.map +1 -1
- package/dist/tools/findCertificates.js +19 -16
- package/dist/tools/findCertificates.js.map +1 -1
- package/dist/tools/findDeploymentTargets.d.ts.map +1 -1
- package/dist/tools/findDeploymentTargets.js +26 -23
- package/dist/tools/findDeploymentTargets.js.map +1 -1
- package/dist/tools/findFeatureToggles.d.ts +37 -0
- package/dist/tools/findFeatureToggles.d.ts.map +1 -0
- package/dist/tools/findFeatureToggles.js +139 -0
- package/dist/tools/findFeatureToggles.js.map +1 -0
- package/dist/tools/findInterruptions.d.ts +79 -0
- package/dist/tools/findInterruptions.d.ts.map +1 -0
- package/dist/tools/findInterruptions.js +273 -0
- package/dist/tools/findInterruptions.js.map +1 -0
- package/dist/tools/findReleases.d.ts.map +1 -1
- package/dist/tools/findReleases.js +90 -48
- package/dist/tools/findReleases.js.map +1 -1
- package/dist/tools/findRunbooks.d.ts +3 -0
- package/dist/tools/findRunbooks.d.ts.map +1 -0
- package/dist/tools/findRunbooks.js +139 -0
- package/dist/tools/findRunbooks.js.map +1 -0
- package/dist/tools/findTenants.d.ts.map +1 -1
- package/dist/tools/findTenants.js +28 -25
- package/dist/tools/findTenants.js.map +1 -1
- package/dist/tools/getBranches.d.ts.map +1 -1
- package/dist/tools/getBranches.js +13 -10
- package/dist/tools/getBranches.js.map +1 -1
- package/dist/tools/getCurrentUser.d.ts.map +1 -1
- package/dist/tools/getCurrentUser.js +7 -4
- package/dist/tools/getCurrentUser.js.map +1 -1
- package/dist/tools/getDeploymentFromUrl.d.ts +8 -3
- package/dist/tools/getDeploymentFromUrl.d.ts.map +1 -1
- package/dist/tools/getDeploymentFromUrl.js +46 -18
- package/dist/tools/getDeploymentFromUrl.js.map +1 -1
- package/dist/tools/getDeploymentProcess.d.ts.map +1 -1
- package/dist/tools/getDeploymentProcess.js +26 -23
- package/dist/tools/getDeploymentProcess.js.map +1 -1
- package/dist/tools/getKubernetesLiveStatus.d.ts.map +1 -1
- package/dist/tools/getKubernetesLiveStatus.js +13 -10
- package/dist/tools/getKubernetesLiveStatus.js.map +1 -1
- package/dist/tools/getMissingTenantVariables.d.ts.map +1 -1
- package/dist/tools/getMissingTenantVariables.js +13 -10
- package/dist/tools/getMissingTenantVariables.js.map +1 -1
- package/dist/tools/getTaskFromUrl.d.ts +2 -3
- package/dist/tools/getTaskFromUrl.d.ts.map +1 -1
- package/dist/tools/getTaskFromUrl.js +33 -33
- package/dist/tools/getTaskFromUrl.js.map +1 -1
- package/dist/tools/getTenantVariables.d.ts.map +1 -1
- package/dist/tools/getTenantVariables.js +13 -10
- package/dist/tools/getTenantVariables.js.map +1 -1
- package/dist/tools/getVariables.d.ts.map +1 -1
- package/dist/tools/getVariables.js +12 -9
- package/dist/tools/getVariables.js.map +1 -1
- package/dist/tools/grepLlmsTxt.d.ts +13 -0
- package/dist/tools/grepLlmsTxt.d.ts.map +1 -0
- package/dist/tools/grepLlmsTxt.js +105 -0
- package/dist/tools/grepLlmsTxt.js.map +1 -0
- package/dist/tools/grepTaskLog.d.ts +30 -0
- package/dist/tools/grepTaskLog.d.ts.map +1 -0
- package/dist/tools/grepTaskLog.js +116 -0
- package/dist/tools/grepTaskLog.js.map +1 -0
- package/dist/tools/index.d.ts +9 -4
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +14 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/listDeployments.d.ts.map +1 -1
- package/dist/tools/listDeployments.js +22 -13
- package/dist/tools/listDeployments.js.map +1 -1
- package/dist/tools/listEnvironments.d.ts.map +1 -1
- package/dist/tools/listEnvironments.js +12 -9
- package/dist/tools/listEnvironments.js.map +1 -1
- package/dist/tools/listProjects.d.ts.map +1 -1
- package/dist/tools/listProjects.js +10 -7
- package/dist/tools/listProjects.js.map +1 -1
- package/dist/tools/listSpaces.d.ts.map +1 -1
- package/dist/tools/listSpaces.js +9 -6
- package/dist/tools/listSpaces.js.map +1 -1
- package/dist/tools/readResource.d.ts +3 -0
- package/dist/tools/readResource.d.ts.map +1 -0
- package/dist/tools/readResource.js +50 -0
- package/dist/tools/readResource.js.map +1 -0
- package/dist/tools/runRunbook.d.ts +3 -0
- package/dist/tools/runRunbook.d.ts.map +1 -0
- package/dist/tools/runRunbook.js +174 -0
- package/dist/tools/runRunbook.js.map +1 -0
- package/dist/tools/updateFeatureToggle.d.ts +94 -0
- package/dist/tools/updateFeatureToggle.d.ts.map +1 -0
- package/dist/tools/updateFeatureToggle.js +308 -0
- package/dist/tools/updateFeatureToggle.js.map +1 -0
- package/dist/types/featureToggleTypes.d.ts +47 -0
- package/dist/types/featureToggleTypes.d.ts.map +1 -0
- package/dist/types/featureToggleTypes.js +10 -0
- package/dist/types/featureToggleTypes.js.map +1 -0
- package/dist/types/resourceConfig.d.ts +17 -0
- package/dist/types/resourceConfig.d.ts.map +1 -0
- package/dist/types/resourceConfig.js +6 -0
- package/dist/types/resourceConfig.js.map +1 -0
- package/dist/types/toolAnnotations.d.ts +8 -0
- package/dist/types/toolAnnotations.d.ts.map +1 -0
- package/dist/types/toolAnnotations.js +28 -0
- package/dist/types/toolAnnotations.js.map +1 -0
- package/dist/types/toolConfig.d.ts +7 -1
- package/dist/types/toolConfig.d.ts.map +1 -1
- package/dist/types/toolConfig.js +4 -1
- package/dist/types/toolConfig.js.map +1 -1
- package/dist/utils/parseConfig.d.ts +1 -1
- package/dist/utils/parseConfig.d.ts.map +1 -1
- package/dist/utils/parseConfig.js +3 -2
- package/dist/utils/parseConfig.js.map +1 -1
- package/package.json +4 -4
- package/dist/tools/getTaskById.d.ts +0 -9
- package/dist/tools/getTaskById.d.ts.map +0 -1
- package/dist/tools/getTaskById.js +0 -51
- package/dist/tools/getTaskById.js.map +0 -1
- package/dist/tools/getTaskDetails.d.ts +0 -9
- package/dist/tools/getTaskDetails.d.ts.map +0 -1
- package/dist/tools/getTaskDetails.js +0 -65
- package/dist/tools/getTaskDetails.js.map +0 -1
- package/dist/tools/getTaskRaw.d.ts +0 -9
- package/dist/tools/getTaskRaw.d.ts.map +0 -1
- package/dist/tools/getTaskRaw.js +0 -50
- package/dist/tools/getTaskRaw.js.map +0 -1
- package/dist/tools/listReleasesForProject.d.ts +0 -3
- package/dist/tools/listReleasesForProject.d.ts.map +0 -1
- package/dist/tools/listReleasesForProject.js +0 -60
- package/dist/tools/listReleasesForProject.js.map +0 -1
|
@@ -3,9 +3,11 @@ import { z } from 'zod';
|
|
|
3
3
|
import { getClientConfigurationFromEnvironment } from '../helpers/getClientConfigurationFromEnvironment.js';
|
|
4
4
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
5
|
import { registerToolDefinition } from '../types/toolConfig.js';
|
|
6
|
+
import { READ_ONLY_TOOL_ANNOTATIONS } from '../types/toolAnnotations.js';
|
|
6
7
|
import { parseOctopusUrl, extractDeploymentId } from '../helpers/urlParser.js';
|
|
7
8
|
import { resolveSpaceNameFromId } from '../helpers/spaceResolver.js';
|
|
8
9
|
import { getPublicUrl } from '../helpers/getPublicUrl.js';
|
|
10
|
+
import { validateEntityId, handleOctopusApiError, ENTITY_PREFIXES } from '../helpers/errorHandling.js';
|
|
9
11
|
export async function getDeploymentFromUrl(client, params) {
|
|
10
12
|
const { url } = params;
|
|
11
13
|
if (!url) {
|
|
@@ -22,22 +24,32 @@ export async function getDeploymentFromUrl(client, params) {
|
|
|
22
24
|
`URL must contain a deployment identifier (Deployments-XXXXX). ` +
|
|
23
25
|
`The provided URL appears to be: ${urlParts.resourceType || 'unknown type'}`);
|
|
24
26
|
}
|
|
27
|
+
validateEntityId(deploymentId, 'deployment', ENTITY_PREFIXES.deployment);
|
|
25
28
|
const deploymentRepository = new DeploymentRepository(client, spaceName);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
let deployment;
|
|
30
|
+
try {
|
|
31
|
+
deployment = await deploymentRepository.get(deploymentId);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
handleOctopusApiError(error, {
|
|
35
|
+
entityType: 'deployment',
|
|
36
|
+
entityId: deploymentId,
|
|
37
|
+
spaceName,
|
|
38
|
+
helpText: 'The deployment may have been deleted or you may not have permission to view it. Use list_deployments to find valid deployment IDs.'
|
|
39
|
+
});
|
|
31
40
|
}
|
|
32
41
|
let releaseVersion;
|
|
42
|
+
let versionControlReference;
|
|
33
43
|
if (deployment.ReleaseId) {
|
|
34
44
|
const releaseRepository = new ReleaseRepository(client, spaceName);
|
|
35
45
|
try {
|
|
36
46
|
const release = await releaseRepository.get(deployment.ReleaseId);
|
|
37
47
|
releaseVersion = release.Version;
|
|
48
|
+
versionControlReference = release.VersionControlReference;
|
|
38
49
|
}
|
|
39
50
|
catch {
|
|
40
51
|
releaseVersion = undefined;
|
|
52
|
+
versionControlReference = undefined;
|
|
41
53
|
}
|
|
42
54
|
}
|
|
43
55
|
const configuration = getClientConfigurationFromEnvironment();
|
|
@@ -56,6 +68,7 @@ export async function getDeploymentFromUrl(client, params) {
|
|
|
56
68
|
name: deployment.Name,
|
|
57
69
|
releaseId: deployment.ReleaseId,
|
|
58
70
|
releaseVersion,
|
|
71
|
+
versionControlReference,
|
|
59
72
|
environmentId: deployment.EnvironmentId,
|
|
60
73
|
tenantId: deployment.TenantId,
|
|
61
74
|
projectId: deployment.ProjectId,
|
|
@@ -85,29 +98,44 @@ export async function getDeploymentFromUrl(client, params) {
|
|
|
85
98
|
resourceType: urlParts.resourceType,
|
|
86
99
|
},
|
|
87
100
|
nextSteps: {
|
|
88
|
-
description: "To
|
|
101
|
+
description: "To inspect this deployment's task: fetch the taskResourceUri for the structured activity tree (steps, timings, embedded log entries), or call grep_task_log with this taskId to search the raw log without inhaling the full body.",
|
|
89
102
|
useTaskId: deployment.TaskId,
|
|
90
|
-
|
|
91
|
-
|
|
103
|
+
taskResourceUri: `octopus://spaces/${encodeURIComponent(spaceName)}/tasks/${encodeURIComponent(deployment.TaskId)}/details`,
|
|
104
|
+
grepTaskLogHint: {
|
|
105
|
+
tool: "grep_task_log",
|
|
92
106
|
spaceName,
|
|
93
107
|
taskId: deployment.TaskId,
|
|
94
|
-
}
|
|
108
|
+
},
|
|
95
109
|
}
|
|
96
110
|
};
|
|
97
111
|
}
|
|
98
112
|
export function registerGetDeploymentFromUrlTool(server) {
|
|
99
|
-
server.
|
|
113
|
+
server.registerTool('get_deployment_from_url', {
|
|
114
|
+
title: 'Get deployment details from an Octopus Deploy URL',
|
|
115
|
+
description: `Get deployment details from an Octopus Deploy deployment URL. Returns comprehensive deployment information including the task ID needed to view execution logs.
|
|
116
|
+
|
|
117
|
+
Accepts deployment URLs like:
|
|
118
|
+
https://your-octopus.com/app#/Spaces-1/projects/my-app/deployments/releases/1.0.0/deployments/Deployments-123
|
|
100
119
|
|
|
101
|
-
|
|
102
|
-
-
|
|
103
|
-
-
|
|
104
|
-
-
|
|
120
|
+
Returns:
|
|
121
|
+
- Full deployment details (environment, release, project, created time)
|
|
122
|
+
- taskIdForLogs: the ServerTasks- ID for this deployment
|
|
123
|
+
- taskResourceUri: octopus:// URI for the structured activity tree (resources/read or read_resource)
|
|
124
|
+
- grepTaskLogHint: pre-filled arguments for the grep_task_log tool — call it with a pattern to search the raw log without fetching the whole thing
|
|
125
|
+
- Public URL for web portal access
|
|
105
126
|
|
|
106
|
-
|
|
127
|
+
Recommended workflow for investigating deployment issues:
|
|
107
128
|
1. Call get_deployment_from_url with the deployment URL
|
|
108
|
-
2.
|
|
109
|
-
|
|
110
|
-
|
|
129
|
+
2. Review deployment context (environment, release version, etc.)
|
|
130
|
+
3a. Fetch the taskResourceUri for the structured activity tree (step timings, embedded log entries by category), OR
|
|
131
|
+
3b. Call grep_task_log with the taskId to search the raw log for a specific error / pattern
|
|
132
|
+
|
|
133
|
+
Handles space ID to space name resolution automatically.`,
|
|
134
|
+
inputSchema: {
|
|
135
|
+
url: z.string()
|
|
136
|
+
.describe("Full Octopus Deploy deployment URL (e.g., https://your-octopus.com/app#/Spaces-1/projects/my-app/deployments/releases/1.0.0/deployments/Deployments-123)")
|
|
137
|
+
},
|
|
138
|
+
annotations: READ_ONLY_TOOL_ANNOTATIONS,
|
|
111
139
|
}, async (args) => {
|
|
112
140
|
const { url } = args;
|
|
113
141
|
if (!url) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDeploymentFromUrl.js","sourceRoot":"","sources":["../../src/tools/getDeploymentFromUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,iBAAiB,EAAmB,MAAM,2BAA2B,CAAC;AAC7G,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,qCAAqC,EAAE,MAAM,qDAAqD,CAAC;AAC5G,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"getDeploymentFromUrl.js","sourceRoot":"","sources":["../../src/tools/getDeploymentFromUrl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDeploymentProcess.d.ts","sourceRoot":"","sources":["../../src/tools/getDeploymentProcess.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"getDeploymentProcess.d.ts","sourceRoot":"","sources":["../../src/tools/getDeploymentProcess.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,QA6JjE"}
|
|
@@ -2,34 +2,37 @@ import { Client, resolveSpaceId, ProjectRepository, } from "@octopusdeploy/api-c
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import {} from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
4
4
|
import { registerToolDefinition } from "../types/toolConfig.js";
|
|
5
|
+
import { READ_ONLY_TOOL_ANNOTATIONS } from "../types/toolAnnotations.js";
|
|
5
6
|
import { getClientConfigurationFromEnvironment } from "../helpers/getClientConfigurationFromEnvironment.js";
|
|
6
7
|
import {} from "../types/deploymentProcessTypes.js";
|
|
7
8
|
import { getProjectBranches } from "../helpers/vcsProjectHelpers.js";
|
|
8
9
|
export function registerGetDeploymentProcessTool(server) {
|
|
9
|
-
server.
|
|
10
|
-
|
|
11
|
-
This tool retrieves a deployment process by its ID. Each project has a deployment process attached, and releases/deployments can also have frozen processes attached.`, {
|
|
12
|
-
spaceName: z.string(),
|
|
13
|
-
projectId: z
|
|
14
|
-
.string()
|
|
15
|
-
.optional()
|
|
16
|
-
.describe("The ID of the project to retrieve the deployment process for. If processId is not provided, this parameter is required."),
|
|
17
|
-
processId: z
|
|
18
|
-
.string()
|
|
19
|
-
.optional()
|
|
20
|
-
.describe("The ID of the deployment process to retrieve. If not provided, the deployment process for the project will be retrieved."),
|
|
21
|
-
branchName: z
|
|
22
|
-
.string()
|
|
23
|
-
.optional()
|
|
24
|
-
.describe("Optional branch name to get the deployment process for a specific branch (if using version controlled projects). Try `main` or `master` if unsure."),
|
|
25
|
-
includeDetails: z
|
|
26
|
-
.boolean()
|
|
27
|
-
.optional()
|
|
28
|
-
.default(false)
|
|
29
|
-
.describe("Include detailed properties for steps and actions. Defaults to false."),
|
|
30
|
-
}, {
|
|
10
|
+
server.registerTool("get_deployment_process", {
|
|
31
11
|
title: "Get deployment process details from Octopus Deploy",
|
|
32
|
-
|
|
12
|
+
description: `Get deployment process by ID
|
|
13
|
+
|
|
14
|
+
This tool retrieves a deployment process by its ID. Each project has a deployment process attached, and releases/deployments can also have frozen processes attached.`,
|
|
15
|
+
inputSchema: {
|
|
16
|
+
spaceName: z.string(),
|
|
17
|
+
projectId: z
|
|
18
|
+
.string()
|
|
19
|
+
.optional()
|
|
20
|
+
.describe("The ID of the project to retrieve the deployment process for. If processId is not provided, this parameter is required."),
|
|
21
|
+
processId: z
|
|
22
|
+
.string()
|
|
23
|
+
.optional()
|
|
24
|
+
.describe("The ID of the deployment process to retrieve. If not provided, the deployment process for the project will be retrieved."),
|
|
25
|
+
branchName: z
|
|
26
|
+
.string()
|
|
27
|
+
.optional()
|
|
28
|
+
.describe("Optional branch name to get the deployment process for a specific branch (if using version controlled projects). Try `main` or `master` if unsure."),
|
|
29
|
+
includeDetails: z
|
|
30
|
+
.boolean()
|
|
31
|
+
.optional()
|
|
32
|
+
.default(false)
|
|
33
|
+
.describe("Include detailed properties for steps and actions. Defaults to false."),
|
|
34
|
+
},
|
|
35
|
+
annotations: READ_ONLY_TOOL_ANNOTATIONS,
|
|
33
36
|
}, async ({ spaceName, processId, projectId, branchName, includeDetails = false, }) => {
|
|
34
37
|
if (!processId && !projectId) {
|
|
35
38
|
throw new Error("Either processId or projectId must be provided. " +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDeploymentProcess.js","sourceRoot":"","sources":["../../src/tools/getDeploymentProcess.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,cAAc,EACd,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,qCAAqC,EAAE,MAAM,qDAAqD,CAAC;AAC5G,OAAO,EAAkC,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,MAAM,UAAU,gCAAgC,CAAC,MAAiB;IAChE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"getDeploymentProcess.js","sourceRoot":"","sources":["../../src/tools/getDeploymentProcess.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getKubernetesLiveStatus.d.ts","sourceRoot":"","sources":["../../src/tools/getKubernetesLiveStatus.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"getKubernetesLiveStatus.d.ts","sourceRoot":"","sources":["../../src/tools/getKubernetesLiveStatus.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,SAAS,QAwFpE"}
|
|
@@ -3,19 +3,22 @@ import { z } from "zod";
|
|
|
3
3
|
import {} from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
4
4
|
import { getClientConfigurationFromEnvironment } from "../helpers/getClientConfigurationFromEnvironment.js";
|
|
5
5
|
import { registerToolDefinition } from "../types/toolConfig.js";
|
|
6
|
+
import { READ_ONLY_TOOL_ANNOTATIONS } from "../types/toolAnnotations.js";
|
|
6
7
|
import { validateEntityId, handleOctopusApiError, ENTITY_PREFIXES, isErrorWithMessage } from "../helpers/errorHandling.js";
|
|
7
8
|
export function registerGetKubernetesLiveStatusTool(server) {
|
|
8
|
-
server.
|
|
9
|
-
|
|
10
|
-
This tool retrieves the live status of Kubernetes resources for a specific project and environment. Optionally include a tenant ID for multi-tenant deployments.`, {
|
|
11
|
-
spaceName: z.string().describe("The space name"),
|
|
12
|
-
projectId: z.string().describe("The ID of the project"),
|
|
13
|
-
environmentId: z.string().describe("The ID of the environment"),
|
|
14
|
-
tenantId: z.string().optional().describe("The ID of the tenant (for multi-tenant deployments)"),
|
|
15
|
-
summaryOnly: z.boolean().optional().describe("Return summary information only")
|
|
16
|
-
}, {
|
|
9
|
+
server.registerTool("get_kubernetes_live_status", {
|
|
17
10
|
title: "Get Kubernetes live status from Octopus Deploy",
|
|
18
|
-
|
|
11
|
+
description: `Get Kubernetes live status for a project and environment
|
|
12
|
+
|
|
13
|
+
This tool retrieves the live status of Kubernetes resources for a specific project and environment. Optionally include a tenant ID for multi-tenant deployments.`,
|
|
14
|
+
inputSchema: {
|
|
15
|
+
spaceName: z.string().describe("The space name"),
|
|
16
|
+
projectId: z.string().describe("The ID of the project"),
|
|
17
|
+
environmentId: z.string().describe("The ID of the environment"),
|
|
18
|
+
tenantId: z.string().optional().describe("The ID of the tenant (for multi-tenant deployments)"),
|
|
19
|
+
summaryOnly: z.boolean().optional().describe("Return summary information only")
|
|
20
|
+
},
|
|
21
|
+
annotations: READ_ONLY_TOOL_ANNOTATIONS,
|
|
19
22
|
}, async ({ spaceName, projectId, environmentId, tenantId, summaryOnly = false }) => {
|
|
20
23
|
validateEntityId(projectId, 'project', ENTITY_PREFIXES.project);
|
|
21
24
|
validateEntityId(environmentId, 'environment', ENTITY_PREFIXES.environment);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getKubernetesLiveStatus.js","sourceRoot":"","sources":["../../src/tools/getKubernetesLiveStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAA+E,MAAM,2BAA2B,CAAC;AACzJ,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,qCAAqC,EAAE,MAAM,qDAAqD,CAAC;AAC5G,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAE3H,MAAM,UAAU,mCAAmC,CAAC,MAAiB;IACnE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"getKubernetesLiveStatus.js","sourceRoot":"","sources":["../../src/tools/getKubernetesLiveStatus.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMissingTenantVariables.d.ts","sourceRoot":"","sources":["../../src/tools/getMissingTenantVariables.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"getMissingTenantVariables.d.ts","sourceRoot":"","sources":["../../src/tools/getMissingTenantVariables.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,SAAS,QA0EtE"}
|
|
@@ -3,19 +3,22 @@ import { z } from "zod";
|
|
|
3
3
|
import {} from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
4
4
|
import { getClientConfigurationFromEnvironment } from "../helpers/getClientConfigurationFromEnvironment.js";
|
|
5
5
|
import { registerToolDefinition } from "../types/toolConfig.js";
|
|
6
|
+
import { READ_ONLY_TOOL_ANNOTATIONS } from "../types/toolAnnotations.js";
|
|
6
7
|
import { validateEntityId, handleOctopusApiError, ENTITY_PREFIXES } from "../helpers/errorHandling.js";
|
|
7
8
|
export function registerGetMissingTenantVariablesTool(server) {
|
|
8
|
-
server.
|
|
9
|
-
|
|
10
|
-
This tool retrieves tenant variables that are missing values. Optionally filter by tenant, project, or environment.`, {
|
|
11
|
-
spaceName: z.string().describe("The space name"),
|
|
12
|
-
tenantId: z.string().optional().describe("Filter by specific tenant ID"),
|
|
13
|
-
projectId: z.string().optional().describe("Filter by specific project ID"),
|
|
14
|
-
environmentId: z.string().optional().describe("Filter by specific environment ID"),
|
|
15
|
-
includeDetails: z.boolean().optional().describe("Include detailed information about missing variables")
|
|
16
|
-
}, {
|
|
9
|
+
server.registerTool("get_missing_tenant_variables", {
|
|
17
10
|
title: "Get missing tenant variables from Octopus Deploy",
|
|
18
|
-
|
|
11
|
+
description: `Get missing tenant variables
|
|
12
|
+
|
|
13
|
+
This tool retrieves tenant variables that are missing values. Optionally filter by tenant, project, or environment.`,
|
|
14
|
+
inputSchema: {
|
|
15
|
+
spaceName: z.string().describe("The space name"),
|
|
16
|
+
tenantId: z.string().optional().describe("Filter by specific tenant ID"),
|
|
17
|
+
projectId: z.string().optional().describe("Filter by specific project ID"),
|
|
18
|
+
environmentId: z.string().optional().describe("Filter by specific environment ID"),
|
|
19
|
+
includeDetails: z.boolean().optional().describe("Include detailed information about missing variables")
|
|
20
|
+
},
|
|
21
|
+
annotations: READ_ONLY_TOOL_ANNOTATIONS,
|
|
19
22
|
}, async ({ spaceName, tenantId, projectId, environmentId, includeDetails = false }) => {
|
|
20
23
|
if (tenantId) {
|
|
21
24
|
validateEntityId(tenantId, 'tenant', ENTITY_PREFIXES.tenant);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMissingTenantVariables.js","sourceRoot":"","sources":["../../src/tools/getMissingTenantVariables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,qCAAqC,EAAE,MAAM,qDAAqD,CAAC;AAC5G,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEvG,MAAM,UAAU,qCAAqC,CAAC,MAAiB;IACrE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"getMissingTenantVariables.js","sourceRoot":"","sources":["../../src/tools/getMissingTenantVariables.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,8 @@ export declare function getTaskFromUrl(client: Client, params: GetTaskFromUrlPar
|
|
|
10
10
|
urlInfo: {
|
|
11
11
|
originalUrl: string;
|
|
12
12
|
extractedSpaceId: string;
|
|
13
|
-
extractedTaskId: string
|
|
14
|
-
|
|
15
|
-
resourceType: "task" | "project" | "tenant" | "deployment" | "release" | "unknown" | undefined;
|
|
13
|
+
extractedTaskId: string;
|
|
14
|
+
resourceType: "project" | "tenant" | "deployment" | "release" | "task" | "unknown" | undefined;
|
|
16
15
|
};
|
|
17
16
|
}>;
|
|
18
17
|
export declare function registerGetTaskFromUrlTool(server: McpServer): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTaskFromUrl.d.ts","sourceRoot":"","sources":["../../src/tools/getTaskFromUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"getTaskFromUrl.d.ts","sourceRoot":"","sources":["../../src/tools/getTaskFromUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA6B,MAAM,2BAA2B,CAAC;AAG9E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQpE,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB;;;;;;;;;;GA0ChF;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,QAiD3D"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { Client, SpaceServerTaskRepository
|
|
1
|
+
import { Client, SpaceServerTaskRepository } from '@octopusdeploy/api-client';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { getClientConfigurationFromEnvironment } from '../helpers/getClientConfigurationFromEnvironment.js';
|
|
4
4
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
5
|
import { registerToolDefinition } from '../types/toolConfig.js';
|
|
6
|
+
import { READ_ONLY_TOOL_ANNOTATIONS } from '../types/toolAnnotations.js';
|
|
6
7
|
import { tasksDescription } from '../types/taskTypes.js';
|
|
7
|
-
import { parseOctopusUrl, extractTaskId
|
|
8
|
+
import { parseOctopusUrl, extractTaskId } from '../helpers/urlParser.js';
|
|
8
9
|
import { resolveSpaceNameFromId } from '../helpers/spaceResolver.js';
|
|
10
|
+
import { validateEntityId, ENTITY_PREFIXES } from '../helpers/errorHandling.js';
|
|
9
11
|
export async function getTaskFromUrl(client, params) {
|
|
10
12
|
const { url } = params;
|
|
11
13
|
if (!url) {
|
|
@@ -16,30 +18,14 @@ export async function getTaskFromUrl(client, params) {
|
|
|
16
18
|
throw new Error("Could not extract space ID from URL. URL must contain a space identifier like 'Spaces-1234'");
|
|
17
19
|
}
|
|
18
20
|
const spaceName = await resolveSpaceNameFromId(client, urlParts.spaceId);
|
|
19
|
-
|
|
21
|
+
const taskId = extractTaskId(url);
|
|
20
22
|
if (!taskId) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const deployment = deploymentsResponse.Items.find(d => d.Id === deploymentId);
|
|
26
|
-
if (!deployment) {
|
|
27
|
-
throw new Error(`Deployment ${deploymentId} not found in space "${spaceName}". ` +
|
|
28
|
-
`The URL appears to be a deployment URL, but the task ID must be retrieved ` +
|
|
29
|
-
`from the deployment first.`);
|
|
30
|
-
}
|
|
31
|
-
taskId = deployment.TaskId;
|
|
32
|
-
if (!taskId) {
|
|
33
|
-
throw new Error(`Deployment ${deploymentId} found but has no associated task ID. ` +
|
|
34
|
-
`This is unusual and may indicate a problem with the deployment.`);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
throw new Error(`Could not extract task ID or deployment ID from URL. ` +
|
|
39
|
-
`URL must contain either a task identifier (ServerTasks-XXXXX) ` +
|
|
40
|
-
`or a deployment identifier (Deployments-XXXXX).`);
|
|
41
|
-
}
|
|
23
|
+
throw new Error(`Could not extract task ID from URL. ` +
|
|
24
|
+
`URL must contain a task identifier (ServerTasks-XXXXX). ` +
|
|
25
|
+
`If you have a deployment URL, use get_deployment_from_url first to resolve the task ID, ` +
|
|
26
|
+
`then fetch octopus://spaces/{spaceName}/tasks/{taskId}/details for the structured activity tree, or call grep_task_log to search the raw log.`);
|
|
42
27
|
}
|
|
28
|
+
validateEntityId(taskId, 'task', ENTITY_PREFIXES.task);
|
|
43
29
|
const serverTaskRepository = new SpaceServerTaskRepository(client, spaceName);
|
|
44
30
|
const response = await serverTaskRepository.getDetails(taskId);
|
|
45
31
|
return {
|
|
@@ -49,21 +35,35 @@ export async function getTaskFromUrl(client, params) {
|
|
|
49
35
|
urlInfo: {
|
|
50
36
|
originalUrl: url,
|
|
51
37
|
extractedSpaceId: urlParts.spaceId,
|
|
52
|
-
extractedTaskId:
|
|
53
|
-
extractedDeploymentId: extractDeploymentId(url),
|
|
38
|
+
extractedTaskId: taskId,
|
|
54
39
|
resourceType: urlParts.resourceType,
|
|
55
40
|
}
|
|
56
41
|
};
|
|
57
42
|
}
|
|
58
43
|
export function registerGetTaskFromUrlTool(server) {
|
|
59
|
-
server.
|
|
60
|
-
|
|
61
|
-
This tool handles:
|
|
62
|
-
- Task URLs (containing ServerTasks-XXXXX)
|
|
63
|
-
- Deployment URLs (containing Deployments-XXXXX) - automatically resolves to the deployment's task
|
|
64
|
-
- Automatic space ID to space name resolution`, { url: z.string() }, {
|
|
44
|
+
server.registerTool('get_task_from_url', {
|
|
65
45
|
title: 'Get task details from an Octopus Deploy URL',
|
|
66
|
-
|
|
46
|
+
description: `Get task details from an Octopus Deploy task URL. Returns full task details including execution logs and state.
|
|
47
|
+
|
|
48
|
+
Accepts task URLs like:
|
|
49
|
+
https://your-octopus.com/app#/Spaces-1/tasks/ServerTasks-456
|
|
50
|
+
|
|
51
|
+
Key features:
|
|
52
|
+
- Returns full task details including execution logs
|
|
53
|
+
- Handles space ID to space name resolution automatically
|
|
54
|
+
- Validates task ID format
|
|
55
|
+
|
|
56
|
+
For deployment URLs:
|
|
57
|
+
If you have a deployment URL, use this workflow:
|
|
58
|
+
1. Call get_deployment_from_url with the deployment URL
|
|
59
|
+
2. Use the returned taskResourceUri (structured tree) or call grep_task_log with the returned taskId to search the raw log
|
|
60
|
+
|
|
61
|
+
${tasksDescription}`,
|
|
62
|
+
inputSchema: {
|
|
63
|
+
url: z.string()
|
|
64
|
+
.describe("Full Octopus Deploy task URL containing a task ID (e.g., https://your-octopus.com/app#/Spaces-1/tasks/ServerTasks-456)")
|
|
65
|
+
},
|
|
66
|
+
annotations: READ_ONLY_TOOL_ANNOTATIONS,
|
|
67
67
|
}, async (args) => {
|
|
68
68
|
const { url } = args;
|
|
69
69
|
if (!url) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTaskFromUrl.js","sourceRoot":"","sources":["../../src/tools/getTaskFromUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"getTaskFromUrl.js","sourceRoot":"","sources":["../../src/tools/getTaskFromUrl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTenantVariables.d.ts","sourceRoot":"","sources":["../../src/tools/getTenantVariables.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"getTenantVariables.d.ts","sourceRoot":"","sources":["../../src/tools/getTenantVariables.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,QA4E/D"}
|
|
@@ -3,21 +3,24 @@ import { z } from "zod";
|
|
|
3
3
|
import {} from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
4
4
|
import { getClientConfigurationFromEnvironment } from "../helpers/getClientConfigurationFromEnvironment.js";
|
|
5
5
|
import { registerToolDefinition } from "../types/toolConfig.js";
|
|
6
|
+
import { READ_ONLY_TOOL_ANNOTATIONS } from "../types/toolAnnotations.js";
|
|
6
7
|
import { validateEntityId, handleOctopusApiError, ENTITY_PREFIXES } from "../helpers/errorHandling.js";
|
|
7
8
|
export function registerGetTenantVariablesTool(server) {
|
|
8
|
-
server.
|
|
9
|
-
|
|
9
|
+
server.registerTool("get_tenant_variables", {
|
|
10
|
+
title: "Get tenant variables from Octopus Deploy",
|
|
11
|
+
description: `Get tenant variables by type
|
|
12
|
+
|
|
10
13
|
This tool retrieves different types of tenant variables. Use variableType parameter to specify which type:
|
|
11
14
|
- "all": Get all tenant variables
|
|
12
15
|
- "common": Get common variables only
|
|
13
|
-
- "project": Get project-specific variables only`,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
- "project": Get project-specific variables only`,
|
|
17
|
+
inputSchema: {
|
|
18
|
+
spaceName: z.string().describe("The space name"),
|
|
19
|
+
tenantId: z.string().describe("The ID of the tenant to retrieve variables for"),
|
|
20
|
+
variableType: z.enum(["all", "common", "project"]).describe("Type of variables to retrieve"),
|
|
21
|
+
includeMissingVariables: z.boolean().optional().describe("Include missing variables in the response (for common/project types)")
|
|
22
|
+
},
|
|
23
|
+
annotations: READ_ONLY_TOOL_ANNOTATIONS,
|
|
21
24
|
}, async ({ spaceName, tenantId, variableType, includeMissingVariables = false }) => {
|
|
22
25
|
validateEntityId(tenantId, 'tenant', ENTITY_PREFIXES.tenant);
|
|
23
26
|
if (!variableType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTenantVariables.js","sourceRoot":"","sources":["../../src/tools/getTenantVariables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,qCAAqC,EAAE,MAAM,qDAAqD,CAAC;AAC5G,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEvG,MAAM,UAAU,8BAA8B,CAAC,MAAiB;IAC9D,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"getTenantVariables.js","sourceRoot":"","sources":["../../src/tools/getTenantVariables.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVariables.d.ts","sourceRoot":"","sources":["../../src/tools/getVariables.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,MAAM,EAIT,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"getVariables.d.ts","sourceRoot":"","sources":["../../src/tools/getVariables.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,18 +3,21 @@ import { z } from "zod";
|
|
|
3
3
|
import {} from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
4
4
|
import { getClientConfigurationFromEnvironment } from "../helpers/getClientConfigurationFromEnvironment.js";
|
|
5
5
|
import { registerToolDefinition } from "../types/toolConfig.js";
|
|
6
|
+
import { READ_ONLY_TOOL_ANNOTATIONS } from "../types/toolAnnotations.js";
|
|
6
7
|
export function registerGetVariablesTool(server) {
|
|
7
|
-
server.
|
|
8
|
-
|
|
8
|
+
server.registerTool("get_variables", {
|
|
9
|
+
title: "Get variables for a Project from Octopus Deploy",
|
|
10
|
+
description: `This tool gets all project and library variable set variables for a given project.
|
|
11
|
+
Projects can contain variables (specific to a project), library variable sets (shared collections of variables associated with many projects),
|
|
9
12
|
and tenant variables (variables related to a tenants connected to the project)
|
|
10
13
|
If you want to retrieve tenant variables for a tenant connected to the project, use the get_tenant_variables tool.
|
|
11
|
-
`,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
`,
|
|
15
|
+
inputSchema: {
|
|
16
|
+
spaceName: z.string().describe("The space name"),
|
|
17
|
+
projectId: z.string().describe("The ID of the project to retrieve the variables for"),
|
|
18
|
+
gitRef: z.string().describe("The gitRef to retrieve the variables from, if the project is a config-as-code project").optional(),
|
|
19
|
+
},
|
|
20
|
+
annotations: READ_ONLY_TOOL_ANNOTATIONS,
|
|
18
21
|
}, async ({ spaceName, projectId, gitRef }) => {
|
|
19
22
|
const configuration = getClientConfigurationFromEnvironment();
|
|
20
23
|
const client = await Client.create(configuration);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVariables.js","sourceRoot":"","sources":["../../src/tools/getVariables.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,MAAM,EAEN,iBAAiB,EACjB,cAAc,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,qCAAqC,EAAE,MAAM,qDAAqD,CAAC;AAC5G,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"getVariables.js","sourceRoot":"","sources":["../../src/tools/getVariables.ts"],"names":[],"mappings":"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"}
|