@octopusdeploy/mcp-server 1.0.0 → 1.0.1
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/dist/tools/getTenantById.d.ts.map +1 -1
- package/dist/tools/getTenantById.js +10 -5
- package/dist/tools/getTenantById.js.map +1 -1
- package/dist/tools/listTenants.d.ts.map +1 -1
- package/dist/tools/listTenants.js +10 -5
- package/dist/tools/listTenants.js.map +1 -1
- package/dist/types/tenantsTypes.d.ts +11 -0
- package/dist/types/tenantsTypes.d.ts.map +1 -1
- package/dist/types/tenantsTypes.js +1 -0
- package/dist/types/tenantsTypes.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTenantById.d.ts","sourceRoot":"","sources":["../../src/tools/getTenantById.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"getTenantById.d.ts","sourceRoot":"","sources":["../../src/tools/getTenantById.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAMvE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,QA4C1D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Client,
|
|
1
|
+
import { Client, resolveSpaceId } from "@octopusdeploy/api-client";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import {} from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
4
4
|
import { getClientConfigurationFromEnvironment } from "../helpers/getClientConfigurationFromEnvironment.js";
|
|
@@ -6,7 +6,7 @@ import { registerToolDefinition } from "../types/toolConfig.js";
|
|
|
6
6
|
import { tenantsDescription } from "../types/tenantsTypes.js";
|
|
7
7
|
import { getPublicUrl } from "../helpers/getPublicUrl.js";
|
|
8
8
|
export function registerGetTenantByIdTool(server) {
|
|
9
|
-
server.tool("get_tenant_by_id", `Get details for a specific tenant by its ID. ${tenantsDescription}`, {
|
|
9
|
+
server.tool("get_tenant_by_id", `Get details for a specific tenant by its ID, including the projects and environments the tenant is associated with. ${tenantsDescription}`, {
|
|
10
10
|
spaceName: z.string().describe("The space name"),
|
|
11
11
|
tenantId: z.string().describe("The ID of the tenant to retrieve")
|
|
12
12
|
}, {
|
|
@@ -15,8 +15,8 @@ export function registerGetTenantByIdTool(server) {
|
|
|
15
15
|
}, async ({ spaceName, tenantId }) => {
|
|
16
16
|
const configuration = getClientConfigurationFromEnvironment();
|
|
17
17
|
const client = await Client.create(configuration);
|
|
18
|
-
const
|
|
19
|
-
const tenant = await
|
|
18
|
+
const spaceId = await resolveSpaceId(client, spaceName);
|
|
19
|
+
const tenant = await client.get("~/api/{spaceId}/tenant/{tenantId}", { spaceId, tenantId });
|
|
20
20
|
return {
|
|
21
21
|
content: [
|
|
22
22
|
{
|
|
@@ -24,12 +24,17 @@ export function registerGetTenantByIdTool(server) {
|
|
|
24
24
|
text: JSON.stringify({
|
|
25
25
|
id: tenant.Id,
|
|
26
26
|
name: tenant.Name,
|
|
27
|
+
slug: tenant.Slug,
|
|
27
28
|
description: tenant.Description,
|
|
29
|
+
isDisabled: tenant.IsDisabled,
|
|
28
30
|
projectEnvironments: tenant.ProjectEnvironments,
|
|
29
31
|
tenantTags: tenant.TenantTags,
|
|
30
32
|
clonedFromTenantId: tenant.ClonedFromTenantId,
|
|
31
33
|
spaceId: tenant.SpaceId,
|
|
32
|
-
publicUrl: getPublicUrl(`${configuration.instanceURL}/app#/{spaceId}/tenants/{tenantId}/overview`, {
|
|
34
|
+
publicUrl: getPublicUrl(`${configuration.instanceURL}/app#/{spaceId}/tenants/{tenantId}/overview`, {
|
|
35
|
+
spaceId: tenant.SpaceId,
|
|
36
|
+
tenantId: tenant.Id
|
|
37
|
+
}),
|
|
33
38
|
publicUrlInstruction: `You can view more details about this tenant in the Octopus Deploy web portal at the provided publicUrl.`
|
|
34
39
|
}),
|
|
35
40
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTenantById.js","sourceRoot":"","sources":["../../src/tools/getTenantById.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"getTenantById.js","sourceRoot":"","sources":["../../src/tools/getTenantById.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,cAAc,EAAC,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,EAAgB,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAC,qCAAqC,EAAC,MAAM,qDAAqD,CAAC;AAC1G,OAAO,EAAC,sBAAsB,EAAC,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAsB,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AAExD,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,uHAAuH,kBAAkB,EAAE,EAC3I;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAChD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KAClE,EACD;QACE,KAAK,EAAE,8CAA8C;QACrD,YAAY,EAAE,IAAI;KACnB,EACD,KAAK,EAAE,EAAC,SAAS,EAAE,QAAQ,EAAC,EAAE,EAAE;QAC9B,MAAM,aAAa,GAAG,qCAAqC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAiB,mCAAmC,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAC;QAE1G,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;wBAC/C,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;wBAC7C,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,SAAS,EAAE,YAAY,CAAC,GAAG,aAAa,CAAC,WAAW,6CAA6C,EAAE;4BACjG,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,QAAQ,EAAE,MAAM,CAAC,EAAE;yBACpB,CAAC;wBACF,oBAAoB,EAAE,yGAAyG;qBAChI,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,sBAAsB,CAAC;IACrB,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAC;IAC5C,UAAU,EAAE,yBAAyB;CACtC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listTenants.d.ts","sourceRoot":"","sources":["../../src/tools/listTenants.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"listTenants.d.ts","sourceRoot":"","sources":["../../src/tools/listTenants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAMvE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,QAkExD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Client,
|
|
1
|
+
import { Client, resolveSpaceId } from "@octopusdeploy/api-client";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import {} from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
4
4
|
import { getClientConfigurationFromEnvironment } from "../helpers/getClientConfigurationFromEnvironment.js";
|
|
@@ -21,8 +21,9 @@ export function registerListTenantsTool(server) {
|
|
|
21
21
|
}, async ({ spaceName, skip, take, projectId, tags, ids, partialName }) => {
|
|
22
22
|
const configuration = getClientConfigurationFromEnvironment();
|
|
23
23
|
const client = await Client.create(configuration);
|
|
24
|
-
const
|
|
25
|
-
const tenantsResponse = await
|
|
24
|
+
const spaceId = await resolveSpaceId(client, spaceName);
|
|
25
|
+
const tenantsResponse = await client.get("~/api/{spaceId}/tenants{?skip,take,projectId,tags,ids,partialName}", {
|
|
26
|
+
spaceId,
|
|
26
27
|
skip,
|
|
27
28
|
take,
|
|
28
29
|
projectId,
|
|
@@ -42,12 +43,16 @@ export function registerListTenantsTool(server) {
|
|
|
42
43
|
items: tenantsResponse.Items.map(tenant => ({
|
|
43
44
|
id: tenant.Id,
|
|
44
45
|
name: tenant.Name,
|
|
46
|
+
slug: tenant.Slug,
|
|
45
47
|
description: tenant.Description,
|
|
46
|
-
|
|
48
|
+
isDisabled: tenant.IsDisabled ?? false, // Disabling tenants was introduced in 2024.4. Prior to that, all tenants could be considered IsDisabled=false.
|
|
47
49
|
tenantTags: tenant.TenantTags,
|
|
48
50
|
clonedFromTenantId: tenant.ClonedFromTenantId,
|
|
49
51
|
spaceId: tenant.SpaceId,
|
|
50
|
-
publicUrl: getPublicUrl(`${configuration.instanceURL}/app#/{spaceId}/tenants/{tenantId}/overview`, {
|
|
52
|
+
publicUrl: getPublicUrl(`${configuration.instanceURL}/app#/{spaceId}/tenants/{tenantId}/overview`, {
|
|
53
|
+
spaceId: tenant.SpaceId,
|
|
54
|
+
tenantId: tenant.Id
|
|
55
|
+
}),
|
|
51
56
|
publicUrlInstruction: `You can view more details about this tenant in the Octopus Deploy web portal at the provided publicUrl.`
|
|
52
57
|
}))
|
|
53
58
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listTenants.js","sourceRoot":"","sources":["../../src/tools/listTenants.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"listTenants.js","sourceRoot":"","sources":["../../src/tools/listTenants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,13 @@
|
|
|
1
|
+
import { type NamedResource, type SpaceScopedResource } from "./baseResource.js";
|
|
1
2
|
export declare const tenantsDescription = "Tenants represent customers or clients in Octopus Deploy, allowing you to manage deployments and configurations specific to each tenant. Tenants can be grouped into tenant tags for easier management and deployment targeting. Tenants can also represent geographical locations, organizational units, or any other logical grouping.";
|
|
3
|
+
export interface TenantResource extends SpaceScopedResource, NamedResource {
|
|
4
|
+
IsDisabled: boolean | undefined;
|
|
5
|
+
Slug: string;
|
|
6
|
+
Description: string | null;
|
|
7
|
+
ClonedFromTenantId: string | null;
|
|
8
|
+
TenantTags: string[];
|
|
9
|
+
ProjectEnvironments: {
|
|
10
|
+
[projectId: string]: string[];
|
|
11
|
+
};
|
|
12
|
+
}
|
|
2
13
|
//# sourceMappingURL=tenantsTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenantsTypes.d.ts","sourceRoot":"","sources":["../../src/types/tenantsTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,6UAA6U,CAAC"}
|
|
1
|
+
{"version":3,"file":"tenantsTypes.d.ts","sourceRoot":"","sources":["../../src/types/tenantsTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEjF,eAAO,MAAM,kBAAkB,6UAA6U,CAAC;AAE7W,MAAM,WAAW,cAAe,SAAQ,mBAAmB,EAAE,aAAa;IACtE,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,mBAAmB,EAAE;QACjB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KACjC,CAAC;CACL"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import {} from "./baseResource.js";
|
|
1
2
|
export const tenantsDescription = "Tenants represent customers or clients in Octopus Deploy, allowing you to manage deployments and configurations specific to each tenant. Tenants can be grouped into tenant tags for easier management and deployment targeting. Tenants can also represent geographical locations, organizational units, or any other logical grouping.";
|
|
2
3
|
//# sourceMappingURL=tenantsTypes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenantsTypes.js","sourceRoot":"","sources":["../../src/types/tenantsTypes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,0UAA0U,CAAC"}
|
|
1
|
+
{"version":3,"file":"tenantsTypes.js","sourceRoot":"","sources":["../../src/types/tenantsTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,MAAM,mBAAmB,CAAC;AAEjF,MAAM,CAAC,MAAM,kBAAkB,GAAG,0UAA0U,CAAC"}
|
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": "1.0.
|
|
7
|
+
"version": "1.0.1",
|
|
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",
|