@octopusdeploy/mcp-server 0.3.0 → 1.0.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 +0 -2
- package/dist/tools/listDeployments.d.ts.map +1 -1
- package/dist/tools/listDeployments.js +32 -25
- package/dist/tools/listDeployments.js.map +1 -1
- package/dist/tools/listEnvironments.d.ts.map +1 -1
- package/dist/tools/listEnvironments.js +24 -14
- package/dist/tools/listEnvironments.js.map +1 -1
- package/dist/tools/listProjects.d.ts.map +1 -1
- package/dist/tools/listProjects.js +27 -17
- package/dist/tools/listProjects.js.map +1 -1
- package/dist/tools/listReleases.js +2 -2
- package/dist/tools/listReleases.js.map +1 -1
- package/dist/tools/listReleasesForProject.js +2 -2
- package/dist/tools/listReleasesForProject.js.map +1 -1
- package/dist/tools/listSpaces.d.ts.map +1 -1
- package/dist/tools/listSpaces.js +20 -11
- package/dist/tools/listSpaces.js.map +1 -1
- package/dist/tools/listTenants.js +2 -2
- package/dist/tools/listTenants.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,8 +12,6 @@
|
|
|
12
12
|
|
|
13
13
|
The Octopus MCP Server provides your AI assistant with powerful tools that allow it to inspect, query, and diagnose problems within your Octopus instance, transforming it into your ultimate DevOps wingmate. For a list of supported use-cases and sample prompts, see our [documentation](https://octopus.com/docs/octopus-ai/mcp/use-cases).
|
|
14
14
|
|
|
15
|
-
This project is currently in Early Access, and subject to breaking changes.
|
|
16
|
-
|
|
17
15
|
### Octopus Server Compatibility
|
|
18
16
|
|
|
19
17
|
Most tools exposed by the MCP Server use stable APIs that have been available from at least version `2021.1` of Octopus Server. Tools that are newer will specify the minimum supported version in the documentation. Alternatively, you can use the command line argument `--list-tools-by-version` to check how specific tools relate to versions of Octopus.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listDeployments.d.ts","sourceRoot":"","sources":["../../src/tools/listDeployments.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"listDeployments.d.ts","sourceRoot":"","sources":["../../src/tools/listDeployments.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,QAyE5D"}
|
|
@@ -13,11 +13,12 @@ export function registerListDeploymentsTool(server) {
|
|
|
13
13
|
tenants: z.array(z.string()).optional(),
|
|
14
14
|
channels: z.array(z.string()).optional(),
|
|
15
15
|
taskState: z.enum(["Canceled", "Cancelling", "Executing", "Failed", "Queued", "Success", "TimedOut"]).optional(),
|
|
16
|
+
skip: z.number().optional(),
|
|
16
17
|
take: z.number().optional()
|
|
17
18
|
}, {
|
|
18
19
|
title: "List deployments in an Octopus Deploy space",
|
|
19
20
|
readOnlyHint: true,
|
|
20
|
-
}, async ({ spaceName, projects, environments, tenants, channels, taskState, take }) => {
|
|
21
|
+
}, async ({ spaceName, projects, environments, tenants, channels, taskState, skip, take }) => {
|
|
21
22
|
const configuration = getClientConfigurationFromEnvironment();
|
|
22
23
|
const client = await Client.create(configuration);
|
|
23
24
|
const deploymentRepository = new DeploymentRepository(client, spaceName);
|
|
@@ -27,36 +28,42 @@ export function registerListDeploymentsTool(server) {
|
|
|
27
28
|
tenants,
|
|
28
29
|
channels,
|
|
29
30
|
taskState: taskState ? TaskState[taskState] : undefined,
|
|
31
|
+
skip,
|
|
30
32
|
take
|
|
31
33
|
});
|
|
32
|
-
const deployments = deploymentsResponse.Items.map((deployment) => ({
|
|
33
|
-
spaceId: deployment.SpaceId,
|
|
34
|
-
id: deployment.Id,
|
|
35
|
-
name: deployment.Name,
|
|
36
|
-
releaseId: deployment.ReleaseId,
|
|
37
|
-
environmentId: deployment.EnvironmentId,
|
|
38
|
-
tenantId: deployment.TenantId,
|
|
39
|
-
projectId: deployment.ProjectId,
|
|
40
|
-
channelId: deployment.ChannelId,
|
|
41
|
-
created: deployment.Created,
|
|
42
|
-
taskId: deployment.TaskId,
|
|
43
|
-
deploymentProcessId: deployment.DeploymentProcessId,
|
|
44
|
-
comments: deployment.Comments,
|
|
45
|
-
formValues: deployment.FormValues,
|
|
46
|
-
queueTime: deployment.QueueTime,
|
|
47
|
-
queueTimeExpiry: deployment.QueueTimeExpiry,
|
|
48
|
-
useGuidedFailure: deployment.UseGuidedFailure,
|
|
49
|
-
specificMachineIds: deployment.SpecificMachineIds,
|
|
50
|
-
excludedMachineIds: deployment.ExcludedMachineIds,
|
|
51
|
-
skipActions: deployment.SkipActions,
|
|
52
|
-
forcePackageDownload: deployment.ForcePackageDownload,
|
|
53
|
-
forcePackageRedeployment: deployment.ForcePackageRedeployment,
|
|
54
|
-
}));
|
|
55
34
|
return {
|
|
56
35
|
content: [
|
|
57
36
|
{
|
|
58
37
|
type: "text",
|
|
59
|
-
text: JSON.stringify(
|
|
38
|
+
text: JSON.stringify({
|
|
39
|
+
totalResults: deploymentsResponse.TotalResults,
|
|
40
|
+
itemsPerPage: deploymentsResponse.ItemsPerPage,
|
|
41
|
+
numberOfPages: deploymentsResponse.NumberOfPages,
|
|
42
|
+
lastPageNumber: deploymentsResponse.LastPageNumber,
|
|
43
|
+
items: deploymentsResponse.Items.map((deployment) => ({
|
|
44
|
+
spaceId: deployment.SpaceId,
|
|
45
|
+
id: deployment.Id,
|
|
46
|
+
name: deployment.Name,
|
|
47
|
+
releaseId: deployment.ReleaseId,
|
|
48
|
+
environmentId: deployment.EnvironmentId,
|
|
49
|
+
tenantId: deployment.TenantId,
|
|
50
|
+
projectId: deployment.ProjectId,
|
|
51
|
+
channelId: deployment.ChannelId,
|
|
52
|
+
created: deployment.Created,
|
|
53
|
+
taskId: deployment.TaskId,
|
|
54
|
+
deploymentProcessId: deployment.DeploymentProcessId,
|
|
55
|
+
comments: deployment.Comments,
|
|
56
|
+
formValues: deployment.FormValues,
|
|
57
|
+
queueTime: deployment.QueueTime,
|
|
58
|
+
queueTimeExpiry: deployment.QueueTimeExpiry,
|
|
59
|
+
useGuidedFailure: deployment.UseGuidedFailure,
|
|
60
|
+
specificMachineIds: deployment.SpecificMachineIds,
|
|
61
|
+
excludedMachineIds: deployment.ExcludedMachineIds,
|
|
62
|
+
skipActions: deployment.SkipActions,
|
|
63
|
+
forcePackageDownload: deployment.ForcePackageDownload,
|
|
64
|
+
forcePackageRedeployment: deployment.ForcePackageRedeployment,
|
|
65
|
+
}))
|
|
66
|
+
}),
|
|
60
67
|
},
|
|
61
68
|
],
|
|
62
69
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listDeployments.js","sourceRoot":"","sources":["../../src/tools/listDeployments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,SAAS,EAAmB,MAAM,2BAA2B,CAAC;AACrG,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;AAEhE,MAAM,UAAU,2BAA2B,CAAC,MAAiB;IAC3D,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB;;ieAE6d,EAC7d;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACxC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACvC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACxC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;QAChH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,EACD;QACE,KAAK,EAAE,6CAA6C;QACpD,YAAY,EAAE,IAAI;KACnB,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"listDeployments.js","sourceRoot":"","sources":["../../src/tools/listDeployments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listEnvironments.d.ts","sourceRoot":"","sources":["../../src/tools/listEnvironments.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"listEnvironments.d.ts","sourceRoot":"","sources":["../../src/tools/listEnvironments.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,QAgD7D"}
|
|
@@ -6,29 +6,39 @@ import { registerToolDefinition } from "../types/toolConfig.js";
|
|
|
6
6
|
export function registerListEnvironmentsTool(server) {
|
|
7
7
|
server.tool("list_environments", `List environments in a space
|
|
8
8
|
|
|
9
|
-
This tool lists all environments in a given space. The space name is required. Use this tool as early as possible to understand which environments are configured. Optionally filter by partial name match using partialName parameter.`, {
|
|
9
|
+
This tool lists all environments in a given space. The space name is required. Use this tool as early as possible to understand which environments are configured. Optionally filter by partial name match using partialName parameter.`, {
|
|
10
|
+
spaceName: z.string(),
|
|
11
|
+
partialName: z.string().optional(),
|
|
12
|
+
skip: z.number().optional(),
|
|
13
|
+
take: z.number().optional()
|
|
14
|
+
}, {
|
|
10
15
|
title: "List all environments in an Octopus Deploy space",
|
|
11
16
|
readOnlyHint: true,
|
|
12
|
-
}, async ({ spaceName, partialName }) => {
|
|
17
|
+
}, async ({ spaceName, partialName, skip, take }) => {
|
|
13
18
|
const configuration = getClientConfigurationFromEnvironment();
|
|
14
19
|
const client = await Client.create(configuration);
|
|
15
20
|
const environmentRepository = new EnvironmentRepository(client, spaceName);
|
|
16
|
-
const environmentsResponse = await environmentRepository.list({ partialName });
|
|
17
|
-
const environments = environmentsResponse.Items.map((environment) => ({
|
|
18
|
-
spaceId: environment.SpaceId,
|
|
19
|
-
id: environment.Id,
|
|
20
|
-
name: environment.Name,
|
|
21
|
-
description: environment.Description,
|
|
22
|
-
sortOrder: environment.SortOrder,
|
|
23
|
-
useGuidedFailure: environment.UseGuidedFailure,
|
|
24
|
-
allowDynamicInfrastructure: environment.AllowDynamicInfrastructure,
|
|
25
|
-
extensionSettings: environment.ExtensionSettings,
|
|
26
|
-
}));
|
|
21
|
+
const environmentsResponse = await environmentRepository.list({ partialName, skip, take });
|
|
27
22
|
return {
|
|
28
23
|
content: [
|
|
29
24
|
{
|
|
30
25
|
type: "text",
|
|
31
|
-
text: JSON.stringify(
|
|
26
|
+
text: JSON.stringify({
|
|
27
|
+
totalResults: environmentsResponse.TotalResults,
|
|
28
|
+
itemsPerPage: environmentsResponse.ItemsPerPage,
|
|
29
|
+
numberOfPages: environmentsResponse.NumberOfPages,
|
|
30
|
+
lastPageNumber: environmentsResponse.LastPageNumber,
|
|
31
|
+
items: environmentsResponse.Items.map((environment) => ({
|
|
32
|
+
spaceId: environment.SpaceId,
|
|
33
|
+
id: environment.Id,
|
|
34
|
+
name: environment.Name,
|
|
35
|
+
description: environment.Description,
|
|
36
|
+
sortOrder: environment.SortOrder,
|
|
37
|
+
useGuidedFailure: environment.UseGuidedFailure,
|
|
38
|
+
allowDynamicInfrastructure: environment.AllowDynamicInfrastructure,
|
|
39
|
+
extensionSettings: environment.ExtensionSettings,
|
|
40
|
+
}))
|
|
41
|
+
}),
|
|
32
42
|
},
|
|
33
43
|
],
|
|
34
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listEnvironments.js","sourceRoot":"","sources":["../../src/tools/listEnvironments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAA8B,MAAM,2BAA2B,CAAC;AACtG,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;AAEhE,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB;;0OAEsO,EACtO,EAAE,
|
|
1
|
+
{"version":3,"file":"listEnvironments.js","sourceRoot":"","sources":["../../src/tools/listEnvironments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAA8B,MAAM,2BAA2B,CAAC;AACtG,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;AAEhE,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB;;0OAEsO,EACtO;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,EACD;QACE,KAAK,EAAE,kDAAkD;QACzD,YAAY,EAAE,IAAI;KACnB,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QAC/C,MAAM,aAAa,GAAG,qCAAqC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE3E,MAAM,oBAAoB,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3F,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,YAAY,EAAE,oBAAoB,CAAC,YAAY;wBAC/C,YAAY,EAAE,oBAAoB,CAAC,YAAY;wBAC/C,aAAa,EAAE,oBAAoB,CAAC,aAAa;wBACjD,cAAc,EAAE,oBAAoB,CAAC,cAAc;wBACnD,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAkC,EAAE,EAAE,CAAC,CAAC;4BAC7E,OAAO,EAAE,WAAW,CAAC,OAAO;4BAC5B,EAAE,EAAE,WAAW,CAAC,EAAE;4BAClB,IAAI,EAAE,WAAW,CAAC,IAAI;4BACtB,WAAW,EAAE,WAAW,CAAC,WAAW;4BACpC,SAAS,EAAE,WAAW,CAAC,SAAS;4BAChC,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;4BAC9C,0BAA0B,EAAE,WAAW,CAAC,0BAA0B;4BAClE,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;yBACjD,CAAC,CAAC;qBACJ,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAGD,sBAAsB,CAAC;IACrB,QAAQ,EAAE,mBAAmB;IAC7B,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,UAAU,EAAE,4BAA4B;CACzC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listProjects.d.ts","sourceRoot":"","sources":["../../src/tools/listProjects.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"listProjects.d.ts","sourceRoot":"","sources":["../../src/tools/listProjects.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,QAkDzD"}
|
|
@@ -5,32 +5,42 @@ import { registerToolDefinition } from "../types/toolConfig.js";
|
|
|
5
5
|
import { getClientConfigurationFromEnvironment } from "../helpers/getClientConfigurationFromEnvironment.js";
|
|
6
6
|
import { projectsDescription } from "../types/projectTypes.js";
|
|
7
7
|
export function registerListProjectsTool(server) {
|
|
8
|
-
server.tool("list_projects", `This tool lists all projects in a given space. ${projectsDescription} The space name is required, if you can't find the space name, ask the user directly for the name of the space. Optionally filter by partial name match using partialName parameter.`, {
|
|
8
|
+
server.tool("list_projects", `This tool lists all projects in a given space. ${projectsDescription} The space name is required, if you can't find the space name, ask the user directly for the name of the space. Optionally filter by partial name match using partialName parameter.`, {
|
|
9
|
+
spaceName: z.string(),
|
|
10
|
+
partialName: z.string().optional(),
|
|
11
|
+
skip: z.number().optional(),
|
|
12
|
+
take: z.number().optional()
|
|
13
|
+
}, {
|
|
9
14
|
title: "List all projects in an Octopus Deploy space",
|
|
10
15
|
readOnlyHint: true,
|
|
11
|
-
}, async ({ spaceName, partialName }) => {
|
|
16
|
+
}, async ({ spaceName, partialName, skip, take }) => {
|
|
12
17
|
const configuration = getClientConfigurationFromEnvironment();
|
|
13
18
|
const client = await Client.create(configuration);
|
|
14
19
|
const projectRepository = new ProjectRepository(client, spaceName);
|
|
15
|
-
const projectsResponse = await projectRepository.list({ partialName });
|
|
16
|
-
const projects = projectsResponse.Items.map((project) => ({
|
|
17
|
-
spaceId: project.SpaceId,
|
|
18
|
-
id: project.Id,
|
|
19
|
-
name: project.Name,
|
|
20
|
-
description: project.Description,
|
|
21
|
-
slug: project.Slug,
|
|
22
|
-
deploymentProcessId: project.DeploymentProcessId,
|
|
23
|
-
lifecycleId: project.LifecycleId,
|
|
24
|
-
isDisabled: project.IsDisabled,
|
|
25
|
-
repositoryUrl: project.PersistenceSettings.Type === "VersionControlled"
|
|
26
|
-
? project.PersistenceSettings.Url
|
|
27
|
-
: null,
|
|
28
|
-
}));
|
|
20
|
+
const projectsResponse = await projectRepository.list({ partialName, skip, take });
|
|
29
21
|
return {
|
|
30
22
|
content: [
|
|
31
23
|
{
|
|
32
24
|
type: "text",
|
|
33
|
-
text: JSON.stringify(
|
|
25
|
+
text: JSON.stringify({
|
|
26
|
+
totalResults: projectsResponse.TotalResults,
|
|
27
|
+
itemsPerPage: projectsResponse.ItemsPerPage,
|
|
28
|
+
numberOfPages: projectsResponse.NumberOfPages,
|
|
29
|
+
lastPageNumber: projectsResponse.LastPageNumber,
|
|
30
|
+
items: projectsResponse.Items.map((project) => ({
|
|
31
|
+
spaceId: project.SpaceId,
|
|
32
|
+
id: project.Id,
|
|
33
|
+
name: project.Name,
|
|
34
|
+
description: project.Description,
|
|
35
|
+
slug: project.Slug,
|
|
36
|
+
deploymentProcessId: project.DeploymentProcessId,
|
|
37
|
+
lifecycleId: project.LifecycleId,
|
|
38
|
+
isDisabled: project.IsDisabled,
|
|
39
|
+
repositoryUrl: project.PersistenceSettings.Type === "VersionControlled"
|
|
40
|
+
? project.PersistenceSettings.Url
|
|
41
|
+
: null,
|
|
42
|
+
})),
|
|
43
|
+
}),
|
|
34
44
|
},
|
|
35
45
|
],
|
|
36
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listProjects.js","sourceRoot":"","sources":["../../src/tools/listProjects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAgB,MAAM,2BAA2B,CAAC;AACpF,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,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,IAAI,CACT,eAAe,EACf,kDAAkD,mBAAmB,sLAAsL,EAC3P,EAAE,
|
|
1
|
+
{"version":3,"file":"listProjects.js","sourceRoot":"","sources":["../../src/tools/listProjects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAgB,MAAM,2BAA2B,CAAC;AACpF,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,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,IAAI,CACT,eAAe,EACf,kDAAkD,mBAAmB,sLAAsL,EAC3P;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,EACD;QACE,KAAK,EAAE,8CAA8C;QACrD,YAAY,EAAE,IAAI;KACnB,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QAC/C,MAAM,aAAa,GAAG,qCAAqC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEnE,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAEnF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,YAAY,EAAE,gBAAgB,CAAC,YAAY;wBAC3C,YAAY,EAAE,gBAAgB,CAAC,YAAY;wBAC3C,aAAa,EAAE,gBAAgB,CAAC,aAAa;wBAC7C,cAAc,EAAE,gBAAgB,CAAC,cAAc;wBAC/C,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC;4BACvD,OAAO,EAAE,OAAO,CAAC,OAAO;4BACxB,EAAE,EAAE,OAAO,CAAC,EAAE;4BACd,IAAI,EAAE,OAAO,CAAC,IAAI;4BAClB,WAAW,EAAE,OAAO,CAAC,WAAW;4BAChC,IAAI,EAAE,OAAO,CAAC,IAAI;4BAClB,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;4BAChD,WAAW,EAAE,OAAO,CAAC,WAAW;4BAChC,UAAU,EAAE,OAAO,CAAC,UAAU;4BAC9B,aAAa,EACX,OAAO,CAAC,mBAAmB,CAAC,IAAI,KAAK,mBAAmB;gCACtD,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG;gCACjC,CAAC,CAAC,IAAI;yBACX,CAAC,CAAC;qBACJ,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,sBAAsB,CAAC;IACrB,QAAQ,EAAE,eAAe;IACzB,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC/C,UAAU,EAAE,wBAAwB;CACrC,CAAC,CAAC"}
|
|
@@ -8,8 +8,8 @@ export function registerListReleasesTool(server) {
|
|
|
8
8
|
|
|
9
9
|
This tool lists all releases in a given space. The space name is required. Optionally provide skip and take parameters for pagination.`, {
|
|
10
10
|
spaceName: z.string().describe("The space name"),
|
|
11
|
-
skip: z.number().optional()
|
|
12
|
-
take: z.number().optional()
|
|
11
|
+
skip: z.number().optional(),
|
|
12
|
+
take: z.number().optional()
|
|
13
13
|
}, {
|
|
14
14
|
title: "List all releases in an Octopus Deploy space",
|
|
15
15
|
readOnlyHint: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listReleases.js","sourceRoot":"","sources":["../../src/tools/listReleases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACtE,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;AAEhE,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,IAAI,CACT,eAAe,EACf;;yIAEqI,EACrI;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE
|
|
1
|
+
{"version":3,"file":"listReleases.js","sourceRoot":"","sources":["../../src/tools/listReleases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACtE,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;AAEhE,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,IAAI,CACT,eAAe,EACf;;yIAEqI,EACrI;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,EACD;QACE,KAAK,EAAE,8CAA8C;QACrD,YAAY,EAAE,IAAI;KACnB,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,qCAAqC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEnE,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,YAAY,EAAE,gBAAgB,CAAC,YAAY;wBAC3C,YAAY,EAAE,gBAAgB,CAAC,YAAY;wBAC3C,aAAa,EAAE,gBAAgB,CAAC,aAAa;wBAC7C,cAAc,EAAE,gBAAgB,CAAC,cAAc;wBAC/C,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;4BAC5C,EAAE,EAAE,OAAO,CAAC,EAAE;4BACd,OAAO,EAAE,OAAO,CAAC,OAAO;4BACxB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;4BAClC,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;4BAC9C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;4BAC1C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;4BAClD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;4BAC1C,YAAY,EAAE,OAAO,CAAC,YAAY;yBACnC,CAAC,CAAC;qBACJ,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,sBAAsB,CAAC;IACrB,QAAQ,EAAE,eAAe;IACzB,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC/C,UAAU,EAAE,wBAAwB;CACrC,CAAC,CAAC"}
|
|
@@ -9,8 +9,8 @@ export function registerListReleasesForProjectTool(server) {
|
|
|
9
9
|
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.`, {
|
|
10
10
|
spaceName: z.string(),
|
|
11
11
|
projectId: z.string(),
|
|
12
|
-
skip: z.number().optional()
|
|
13
|
-
take: z.number().optional()
|
|
12
|
+
skip: z.number().optional(),
|
|
13
|
+
take: z.number().optional(),
|
|
14
14
|
searchByVersion: z.string().optional().describe("Search releases by version string")
|
|
15
15
|
}, {
|
|
16
16
|
title: "List releases for a project in Octopus Deploy",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listReleasesForProject.js","sourceRoot":"","sources":["../../src/tools/listReleasesForProject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACtE,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;AAEhE,MAAM,UAAU,kCAAkC,CAAC,MAAiB;IAClE,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B;;0KAEsK,EACtK;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE
|
|
1
|
+
{"version":3,"file":"listReleasesForProject.js","sourceRoot":"","sources":["../../src/tools/listReleasesForProject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACtE,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;AAEhE,MAAM,UAAU,kCAAkC,CAAC,MAAiB;IAClE,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B;;0KAEsK,EACtK;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KACrF,EACD;QACE,KAAK,EAAE,+CAA+C;QACtD,YAAY,EAAE,IAAI;KACnB,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE;QAC9D,MAAM,aAAa,GAAG,qCAAqC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEnE,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,cAAc,CAAC,SAAS,EAAE;YACzE,IAAI;YACJ,IAAI;YACJ,eAAe;SAChB,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,YAAY,EAAE,gBAAgB,CAAC,YAAY;wBAC3C,YAAY,EAAE,gBAAgB,CAAC,YAAY;wBAC3C,aAAa,EAAE,gBAAgB,CAAC,aAAa;wBAC7C,cAAc,EAAE,gBAAgB,CAAC,cAAc;wBAC/C,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;4BAC5C,EAAE,EAAE,OAAO,CAAC,EAAE;4BACd,OAAO,EAAE,OAAO,CAAC,OAAO;4BACxB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;4BAClC,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;4BAC9C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;4BAC1C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;4BAClD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;4BAC1C,YAAY,EAAE,OAAO,CAAC,YAAY;yBACnC,CAAC,CAAC;qBACJ,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,sBAAsB,CAAC;IACrB,QAAQ,EAAE,2BAA2B;IACrC,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC/C,UAAU,EAAE,kCAAkC;CAC/C,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listSpaces.d.ts","sourceRoot":"","sources":["../../src/tools/listSpaces.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"listSpaces.d.ts","sourceRoot":"","sources":["../../src/tools/listSpaces.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,QA0CvD"}
|
package/dist/tools/listSpaces.js
CHANGED
|
@@ -5,26 +5,35 @@ import {} from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
5
5
|
import { registerToolDefinition } from "../types/toolConfig.js";
|
|
6
6
|
import { spacesDescription } from "../types/spaceTypes.js";
|
|
7
7
|
export function registerListSpacesTool(server) {
|
|
8
|
-
server.tool("list_spaces", `List all spaces in the Octopus Deploy instance. ${spacesDescription} Always use this tool first to check that the requested space exists.`, {
|
|
8
|
+
server.tool("list_spaces", `List all spaces in the Octopus Deploy instance. ${spacesDescription} Always use this tool first to check that the requested space exists.`, {
|
|
9
|
+
partialName: z.string().optional(),
|
|
10
|
+
skip: z.number().optional(),
|
|
11
|
+
take: z.number().optional()
|
|
12
|
+
}, {
|
|
9
13
|
title: "List all spaces in an Octopus Deploy instance",
|
|
10
14
|
readOnlyHint: true,
|
|
11
|
-
}, async ({ partialName }) => {
|
|
15
|
+
}, async ({ partialName, skip, take }) => {
|
|
12
16
|
const configuration = getClientConfigurationFromEnvironment();
|
|
13
17
|
const client = await Client.create(configuration);
|
|
14
18
|
const spaceRepository = new SpaceRepository(client);
|
|
15
|
-
const spacesResponse = await spaceRepository.list({ partialName });
|
|
16
|
-
const spaces = spacesResponse.Items.map((space) => ({
|
|
17
|
-
id: space.Id,
|
|
18
|
-
name: space.Name,
|
|
19
|
-
description: space.Description,
|
|
20
|
-
isDefault: space.IsDefault,
|
|
21
|
-
taskQueueStopped: space.TaskQueueStopped,
|
|
22
|
-
}));
|
|
19
|
+
const spacesResponse = await spaceRepository.list({ partialName, skip, take });
|
|
23
20
|
return {
|
|
24
21
|
content: [
|
|
25
22
|
{
|
|
26
23
|
type: "text",
|
|
27
|
-
text: JSON.stringify(
|
|
24
|
+
text: JSON.stringify({
|
|
25
|
+
totalResults: spacesResponse.TotalResults,
|
|
26
|
+
itemsPerPage: spacesResponse.ItemsPerPage,
|
|
27
|
+
numberOfPages: spacesResponse.NumberOfPages,
|
|
28
|
+
lastPageNumber: spacesResponse.LastPageNumber,
|
|
29
|
+
items: spacesResponse.Items.map((space) => ({
|
|
30
|
+
id: space.Id,
|
|
31
|
+
name: space.Name,
|
|
32
|
+
description: space.Description,
|
|
33
|
+
isDefault: space.IsDefault,
|
|
34
|
+
taskQueueStopped: space.TaskQueueStopped,
|
|
35
|
+
}))
|
|
36
|
+
}),
|
|
28
37
|
},
|
|
29
38
|
],
|
|
30
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listSpaces.js","sourceRoot":"","sources":["../../src/tools/listSpaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,qCAAqC,EAAE,MAAM,qDAAqD,CAAC;AAC5G,OAAO,EAAkB,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,IAAI,CACT,aAAa,EACb,mDAAmD,iBAAiB,uEAAuE,EAC3I,EAAE,
|
|
1
|
+
{"version":3,"file":"listSpaces.js","sourceRoot":"","sources":["../../src/tools/listSpaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,qCAAqC,EAAE,MAAM,qDAAqD,CAAC;AAC5G,OAAO,EAAkB,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,IAAI,CACT,aAAa,EACb,mDAAmD,iBAAiB,uEAAuE,EAC3I;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,EACD;QACE,KAAK,EAAE,+CAA+C;QACtD,YAAY,EAAE,IAAI;KACnB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QACpC,MAAM,aAAa,GAAG,qCAAqC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;QAEpD,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,YAAY,EAAE,cAAc,CAAC,YAAY;wBACzC,YAAY,EAAE,cAAc,CAAC,YAAY;wBACzC,aAAa,EAAE,cAAc,CAAC,aAAa;wBAC3C,cAAc,EAAE,cAAc,CAAC,cAAc;wBAC7C,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;4BAC1C,EAAE,EAAE,KAAK,CAAC,EAAE;4BACZ,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,WAAW,EAAE,KAAK,CAAC,WAAW;4BAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;yBACzC,CAAC,CAAC;qBACJ,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,sBAAsB,CAAC;IACrB,QAAQ,EAAE,aAAa;IACvB,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,UAAU,EAAE,sBAAsB;CACnC,CAAC,CAAC"}
|
|
@@ -9,8 +9,8 @@ export function registerListTenantsTool(server) {
|
|
|
9
9
|
|
|
10
10
|
This tool lists all tenants in a given space. The space name is required. Optionally provide skip and take parameters for pagination.`, {
|
|
11
11
|
spaceName: z.string().describe("The space name"),
|
|
12
|
-
skip: z.number().optional()
|
|
13
|
-
take: z.number().optional()
|
|
12
|
+
skip: z.number().optional(),
|
|
13
|
+
take: z.number().optional(),
|
|
14
14
|
projectId: z.string().optional().describe("Filter by specific project ID"),
|
|
15
15
|
tags: z.string().optional().describe("Filter by tenant tags (comma-separated list)"),
|
|
16
16
|
ids: z.array(z.string()).optional().describe("Filter by specific tenant IDs"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listTenants.js","sourceRoot":"","sources":["../../src/tools/listTenants.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,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,IAAI,CACT,cAAc,EACd;;wIAEoI,EACpI;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE
|
|
1
|
+
{"version":3,"file":"listTenants.js","sourceRoot":"","sources":["../../src/tools/listTenants.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"bugs": {
|
|
5
5
|
"url": "https://github.com/OctopusDeploy/mcp-server/issues"
|
|
6
6
|
},
|
|
7
|
-
"version": "0.
|
|
7
|
+
"version": "1.0.0",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"description": "The Octopus MCP Server provides your AI assistant with powerful tools that allow it to inspect, query, and diagnose problems within your Octopus instance.",
|
|
10
10
|
"main": "dist/index.js",
|