@octopusdeploy/mcp-server 0.2.5 → 0.3.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/README.md +16 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/dist/tools/getVariables.d.ts +76 -0
- package/dist/tools/getVariables.d.ts.map +1 -0
- package/dist/tools/getVariables.js +122 -0
- package/dist/tools/getVariables.js.map +1 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- 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/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +4 -11
- package/dist/utils/logger.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -54,6 +54,14 @@ Full example configuration (for Claude Desktop, Claude Code, and Cursor):
|
|
|
54
54
|
}
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
+
For Apple Mac users, you might need to add the following arguments in the configuration to force Docker to use the Linux platform:
|
|
58
|
+
```json
|
|
59
|
+
"--platform",
|
|
60
|
+
"linux/amd64",
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
We are planning to release a native ARM build shortly so that those arguments will not be required anymore.
|
|
64
|
+
|
|
57
65
|
### Install via Node
|
|
58
66
|
|
|
59
67
|
#### Requirements
|
|
@@ -68,6 +76,7 @@ Full example configuration (for Claude Desktop, Claude Code, and Cursor):
|
|
|
68
76
|
{
|
|
69
77
|
"mcpServers": {
|
|
70
78
|
"octopusdeploy": {
|
|
79
|
+
"type": "stdio",
|
|
71
80
|
"command": "npx",
|
|
72
81
|
"args": ["-y", "@octopusdeploy/mcp-server", "--api-key", "YOUR_API_KEY", "--server-url", "https://your-octopus.com"]
|
|
73
82
|
}
|
|
@@ -149,6 +158,13 @@ npx -y @octopusdeploy/mcp-server --toolsets core,projects --server-url https://y
|
|
|
149
158
|
npx -y @octopusdeploy/mcp-server --toolsets all --read-only --server-url https://your-octopus.com --api-key YOUR_API_KEY
|
|
150
159
|
```
|
|
151
160
|
|
|
161
|
+
#### Other command line arguments
|
|
162
|
+
|
|
163
|
+
* `--log-level <level>` - Minimum log level (info, error)
|
|
164
|
+
* `--log-file <path>` - Log file path or filename. If not specified, logs are written to console only
|
|
165
|
+
* `-q, --quiet` - Disable file logging, only log errors to console
|
|
166
|
+
* `--list-tools-by-version` - List all registered tools by their supported Octopus Server version and exit
|
|
167
|
+
|
|
152
168
|
## 🔨 Tools
|
|
153
169
|
|
|
154
170
|
### Core Tools
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAgBA,eAAO,MAAM,cAAc,QAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -10,7 +10,12 @@ import { getClientConfigurationFromEnvironment } from "./helpers/getClientConfig
|
|
|
10
10
|
import { setClientInfo } from "./utils/clientInfo.js";
|
|
11
11
|
import { logger } from "./utils/logger.js";
|
|
12
12
|
import packageJson from "../package.json" with { type: "json" };
|
|
13
|
+
import { fileURLToPath } from "url";
|
|
14
|
+
import { dirname, join, isAbsolute } from "path";
|
|
13
15
|
export const SEMVER_VERSION = packageJson.version;
|
|
16
|
+
// Set entry directory for logger (ESM equivalent of __dirname)
|
|
17
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
18
|
+
const __dirname = dirname(__filename);
|
|
14
19
|
dotenv.config({ quiet: true });
|
|
15
20
|
// Parse command line arguments
|
|
16
21
|
const program = new Command();
|
|
@@ -23,7 +28,7 @@ program
|
|
|
23
28
|
.option("--toolsets <toolsets>", `Comma-separated list of toolsets to enable, or "all" (default: all). Available toolsets: ${DEFAULT_TOOLSETS.join(", ")}`)
|
|
24
29
|
.option("--read-only", "Enable read-only mode (default: enabled)", true)
|
|
25
30
|
.option("--log-level <level>", "Minimum log level (info, error)", "info")
|
|
26
|
-
.option("--log-file <path>",
|
|
31
|
+
.option("--log-file <path>", 'Log file path or filename. If not specified, logs are written to console only.')
|
|
27
32
|
.option("-q, --quiet", "Disable file logging, only log errors to console", false)
|
|
28
33
|
.option("--list-tools-by-version", "List all registered tools by their supported Octopus Server version and exit")
|
|
29
34
|
.parse();
|
|
@@ -40,7 +45,12 @@ if (options.listToolsByVersion) {
|
|
|
40
45
|
process.exit(0);
|
|
41
46
|
}
|
|
42
47
|
if (options.logFile) {
|
|
43
|
-
|
|
48
|
+
if (dirname(options.logFile) === '.') {
|
|
49
|
+
logger.setLogFilePath(join(__dirname, options.logFile));
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
logger.setLogFilePath(options.logFile);
|
|
53
|
+
}
|
|
44
54
|
}
|
|
45
55
|
logger.setLogLevel(logger.parseLogLevel(options.logLevel));
|
|
46
56
|
logger.setQuietMode(options.quiet);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,qCAAqC,EAAE,MAAM,oDAAoD,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Client } from "@octopusdeploy/api-client";
|
|
2
|
+
import { type McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
export declare function registerGetVariablesTool(server: McpServer): void;
|
|
4
|
+
type VariableResource = {
|
|
5
|
+
Id: string;
|
|
6
|
+
Name: string;
|
|
7
|
+
Value: string | null;
|
|
8
|
+
Description: string | undefined;
|
|
9
|
+
Scope: ScopeSpecification;
|
|
10
|
+
IsEditable: boolean;
|
|
11
|
+
Prompt: Readonly<unknown>;
|
|
12
|
+
Type: unknown;
|
|
13
|
+
IsSensitive: boolean;
|
|
14
|
+
};
|
|
15
|
+
type Arrays<T> = {
|
|
16
|
+
[P in keyof T]: Array<T[P]>;
|
|
17
|
+
};
|
|
18
|
+
type ScopeSpecification = Arrays<ScopeSpecificationTypes>;
|
|
19
|
+
interface ScopeSpecificationTypes {
|
|
20
|
+
Environment?: string;
|
|
21
|
+
Machine?: string;
|
|
22
|
+
Role?: string;
|
|
23
|
+
Action?: string;
|
|
24
|
+
Channel?: string;
|
|
25
|
+
TenantTag?: string;
|
|
26
|
+
ProcessOwner?: string;
|
|
27
|
+
}
|
|
28
|
+
interface VariableSetResource {
|
|
29
|
+
Id: string;
|
|
30
|
+
SpaceId: string;
|
|
31
|
+
OwnerId: string;
|
|
32
|
+
ScopeValues: unknown;
|
|
33
|
+
Variables: VariableResource[];
|
|
34
|
+
Version: number;
|
|
35
|
+
}
|
|
36
|
+
type PropertyValueResource = string | SensitiveValue | null;
|
|
37
|
+
interface SensitiveValue {
|
|
38
|
+
HasValue: boolean;
|
|
39
|
+
NewValue?: string;
|
|
40
|
+
Hint?: string;
|
|
41
|
+
}
|
|
42
|
+
interface ActionTemplateParameterResource {
|
|
43
|
+
Id: string;
|
|
44
|
+
Name: string;
|
|
45
|
+
Label: string;
|
|
46
|
+
HelpText: string;
|
|
47
|
+
DefaultValue?: PropertyValueResource;
|
|
48
|
+
DisplaySettings: unknown;
|
|
49
|
+
AllowClear?: boolean;
|
|
50
|
+
}
|
|
51
|
+
interface LibraryVariableSetResource {
|
|
52
|
+
Name: string;
|
|
53
|
+
SpaceId: string;
|
|
54
|
+
Description: string;
|
|
55
|
+
VariableSetId: string;
|
|
56
|
+
ContentType: unknown;
|
|
57
|
+
Templates: ActionTemplateParameterResource[];
|
|
58
|
+
}
|
|
59
|
+
interface LibraryVariableSetWithVariables {
|
|
60
|
+
variableSet: VariableSetResponse;
|
|
61
|
+
libraryVariableSet: LibraryVariableSetResource;
|
|
62
|
+
}
|
|
63
|
+
interface AllVariablesForProject {
|
|
64
|
+
projectVariableSet: Omit<VariableSetResource, "ScopeValues"> | undefined;
|
|
65
|
+
libraryVariableSets: LibraryVariableSetWithVariables[];
|
|
66
|
+
}
|
|
67
|
+
interface GetAllVariablesParams {
|
|
68
|
+
projectId: string;
|
|
69
|
+
gitRef?: string;
|
|
70
|
+
spaceName: string;
|
|
71
|
+
spaceId: string;
|
|
72
|
+
}
|
|
73
|
+
type VariableSetResponse = Omit<VariableSetResource, "ScopeValues">;
|
|
74
|
+
export declare function getAllVariables(params: GetAllVariablesParams, apiClient: Client): Promise<AllVariablesForProject>;
|
|
75
|
+
export {};
|
|
76
|
+
//# sourceMappingURL=getVariables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVariables.d.ts","sourceRoot":"","sources":["../../src/tools/getVariables.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { Client, ProjectRepository, resolveSpaceId } from "@octopusdeploy/api-client";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import {} from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
4
|
+
import { getClientConfigurationFromEnvironment } from "../helpers/getClientConfigurationFromEnvironment.js";
|
|
5
|
+
import { registerToolDefinition } from "../types/toolConfig.js";
|
|
6
|
+
export function registerGetVariablesTool(server) {
|
|
7
|
+
server.tool("get_variables", `This tool gets all project and library variable set variables for a given project.
|
|
8
|
+
Projects can contain variables (specific to a project), library variable sets (shared collections of variables associated with many projects),
|
|
9
|
+
and tenant variables (variables related to a tenants connected to the project)
|
|
10
|
+
If you want to retrieve tenant variables for a tenant connected to the project, use the get_tenant_variables tool.
|
|
11
|
+
`, {
|
|
12
|
+
spaceName: z.string().describe("The space name"),
|
|
13
|
+
projectId: z.string().describe("The ID of the project to retrieve the variables for"),
|
|
14
|
+
gitRef: z.string().describe("The gitRef to retrieve the variables from, if the project is a config-as-code project").optional(),
|
|
15
|
+
}, {
|
|
16
|
+
title: "Get variables for a Project from Octopus Deploy",
|
|
17
|
+
readOnlyHint: true,
|
|
18
|
+
}, async ({ spaceName, projectId, gitRef }) => {
|
|
19
|
+
const configuration = getClientConfigurationFromEnvironment();
|
|
20
|
+
const client = await Client.create(configuration);
|
|
21
|
+
const spaceId = await resolveSpaceId(client, spaceName);
|
|
22
|
+
const variables = await getAllVariables({
|
|
23
|
+
projectId: projectId,
|
|
24
|
+
spaceName: spaceName,
|
|
25
|
+
spaceId: spaceId,
|
|
26
|
+
gitRef: gitRef
|
|
27
|
+
}, client);
|
|
28
|
+
return {
|
|
29
|
+
content: [
|
|
30
|
+
{
|
|
31
|
+
type: "text",
|
|
32
|
+
text: JSON.stringify({
|
|
33
|
+
variables
|
|
34
|
+
}),
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
};
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
registerToolDefinition({
|
|
41
|
+
toolName: "get_variables",
|
|
42
|
+
config: { toolset: "projects", readOnly: true },
|
|
43
|
+
registerFn: registerGetVariablesTool,
|
|
44
|
+
});
|
|
45
|
+
export async function getAllVariables(params, apiClient) {
|
|
46
|
+
const { spaceId, spaceName, gitRef, projectId } = params;
|
|
47
|
+
const projectRepository = new ProjectRepository(apiClient, spaceName);
|
|
48
|
+
const project = await projectRepository.get(projectId);
|
|
49
|
+
const projectVariableSet = await loadProjectVariableSet(project, gitRef, apiClient, spaceId);
|
|
50
|
+
const libraryVariableSets = await loadLibraryVariableSetVariables(project.IncludedLibraryVariableSetIds, apiClient, spaceId);
|
|
51
|
+
return {
|
|
52
|
+
projectVariableSet,
|
|
53
|
+
libraryVariableSets
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
async function loadProjectVariableSet(project, gitRef, apiClient, spaceId) {
|
|
57
|
+
// This is a bit hacky, but gets around the limitations of our ts client types without having to define
|
|
58
|
+
// a heap of new types.
|
|
59
|
+
// We are expecting the type to match { ConversionState: { VariablesAreInGit: true } }
|
|
60
|
+
// If the variables are stored in git.
|
|
61
|
+
function hasVariablesInGit(value) {
|
|
62
|
+
if (typeof value !== 'object' || value === null || !('ConversionState' in value)) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
const obj = value;
|
|
66
|
+
const conversionState = obj.ConversionState;
|
|
67
|
+
return (typeof conversionState === 'object' &&
|
|
68
|
+
conversionState !== null &&
|
|
69
|
+
'VariablesAreInGit' in conversionState &&
|
|
70
|
+
conversionState.VariablesAreInGit === true);
|
|
71
|
+
}
|
|
72
|
+
// Check if project has git persistence
|
|
73
|
+
const hasGitVariables = hasVariablesInGit(project.PersistenceSettings);
|
|
74
|
+
if (hasGitVariables && !gitRef) {
|
|
75
|
+
throw new Error(`Missing gitRef for config-as-code project ${project.Name}`);
|
|
76
|
+
}
|
|
77
|
+
let resource;
|
|
78
|
+
if (hasGitVariables) {
|
|
79
|
+
// For git projects, we need to get both text and sensitive variables separately
|
|
80
|
+
// Retrieve the variable set stored in git for the associated gitRef
|
|
81
|
+
const textVariableSet = await apiClient.get(`~/api/spaces/${spaceId}/projects/${project.Id}/${gitRef}/variables`);
|
|
82
|
+
// Sensitive variables are still stored in the database so that they can be encrypted
|
|
83
|
+
const sensitiveVariableSet = await apiClient.get(`~/api/spaces/${spaceId}/projects/${project.Id}/variables`);
|
|
84
|
+
// Combine variables from both sets
|
|
85
|
+
resource = {
|
|
86
|
+
...textVariableSet,
|
|
87
|
+
Variables: [...textVariableSet.Variables, ...sensitiveVariableSet.Variables]
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
// For database projects, get variables directly
|
|
92
|
+
resource = await apiClient.get(`~/api/spaces/${spaceId}/variables/${project.VariableSetId}`);
|
|
93
|
+
}
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
95
|
+
const { ScopeValues, ...result } = resource;
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
98
|
+
async function loadLibraryVariableSetVariables(includedLibraryVariableSetIds, apiClient, spaceId) {
|
|
99
|
+
if (includedLibraryVariableSetIds.length === 0)
|
|
100
|
+
return [];
|
|
101
|
+
// Get library variable sets
|
|
102
|
+
const libraryVariableSets = await apiClient.get(`~/api/spaces/${spaceId}/libraryvariablesets?ids=${includedLibraryVariableSetIds.join(',')}`);
|
|
103
|
+
// Get all variable sets for the library variable sets
|
|
104
|
+
const variableSetIds = libraryVariableSets.Items.map(lvs => lvs.VariableSetId);
|
|
105
|
+
const allVariableSets = await apiClient.get(`~/api/spaces/${spaceId}/variables/all?ids=${variableSetIds.join(',')}`);
|
|
106
|
+
const responseVariableSets = allVariableSets.map(resource => {
|
|
107
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
108
|
+
const { ScopeValues, ...result } = resource;
|
|
109
|
+
return result;
|
|
110
|
+
});
|
|
111
|
+
// Create lookup map
|
|
112
|
+
const allVariableSetsMap = responseVariableSets.reduce((acc, resource) => {
|
|
113
|
+
acc[resource.Id] = resource;
|
|
114
|
+
return acc;
|
|
115
|
+
}, {});
|
|
116
|
+
// Combine library variable sets with their variable sets
|
|
117
|
+
return libraryVariableSets.Items.map(lvs => ({
|
|
118
|
+
variableSet: allVariableSetsMap[lvs.VariableSetId],
|
|
119
|
+
libraryVariableSet: lvs
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=getVariables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVariables.js","sourceRoot":"","sources":["../../src/tools/getVariables.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -24,5 +24,6 @@ import './listCertificates.js';
|
|
|
24
24
|
import './getCertificate.js';
|
|
25
25
|
import './listAccounts.js';
|
|
26
26
|
import './getAccount.js';
|
|
27
|
+
import './getVariables.js';
|
|
27
28
|
export declare function registerTools(server: McpServer, config?: ToolsetConfig): void;
|
|
28
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EACL,KAAK,aAAa,EAInB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,6BAA6B,CAAC;AACrC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,yBAAyB,CAAC;AACjC,OAAO,gCAAgC,CAAC;AACxC,OAAO,8BAA8B,CAAC;AACtC,OAAO,4BAA4B,CAAC;AACpC,OAAO,0BAA0B,CAAC;AAClC,OAAO,2BAA2B,CAAC;AACnC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EACL,KAAK,aAAa,EAInB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,6BAA6B,CAAC;AACrC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,yBAAyB,CAAC;AACjC,OAAO,gCAAgC,CAAC;AACxC,OAAO,8BAA8B,CAAC;AACtC,OAAO,4BAA4B,CAAC;AACpC,OAAO,0BAA0B,CAAC;AAClC,OAAO,2BAA2B,CAAC;AACnC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAwB3B,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,GAAE,aAAkB,QAO1E"}
|
package/dist/tools/index.js
CHANGED
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAEL,aAAa,EACb,gBAAgB,EAEjB,MAAM,wBAAwB,CAAC;AAEhC,2DAA2D;AAC3D,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,6BAA6B,CAAC;AACrC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,yBAAyB,CAAC;AACjC,OAAO,gCAAgC,CAAC;AACxC,OAAO,8BAA8B,CAAC;AACtC,OAAO,4BAA4B,CAAC;AACpC,OAAO,0BAA0B,CAAC;AAClC,OAAO,2BAA2B,CAAC;AACnC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAEL,aAAa,EACb,gBAAgB,EAEjB,MAAM,wBAAwB,CAAC;AAEhC,2DAA2D;AAC3D,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,6BAA6B,CAAC;AACrC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,yBAAyB,CAAC;AACjC,OAAO,gCAAgC,CAAC;AACxC,OAAO,8BAA8B,CAAC;AACtC,OAAO,4BAA4B,CAAC;AACpC,OAAO,0BAA0B,CAAC;AAClC,OAAO,2BAA2B,CAAC;AACnC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAE3B,SAAS,aAAa,CAAC,gBAAkC,EAAE,MAAqB;IAC9E,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8BAA8B;IAC9B,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,KAAK,KAAK;QACtD,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,IAAI,gBAAgB,CAAC,CAAC;IAEjD,IAAI,gBAAgB,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7G,OAAO,KAAK,CAAC;IACf,CAAC;IAED,uBAAuB;IACvB,IAAI,MAAM,CAAC,YAAY,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAiB,EAAE,SAAwB,EAAE;IACzE,2EAA2E;IAC3E,KAAK,MAAM,CAAC,EAAE,gBAAgB,CAAC,IAAI,aAAa,EAAE,CAAC;QACjD,IAAI,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,oBAAY,QAAQ;IAClB,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAkBD;;;GAGG;AACH,iBAAS,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED;;;GAGG;AACH,iBAAS,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAE1C;AAED;;;GAGG;AACH,iBAAS,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE1C;AAED;;;;GAIG;AACH,iBAAS,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAUjD;AAkDD;;;GAGG;AACH,iBAAS,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGnC;AAED;;;GAGG;AACH,iBAAS,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIpC;AAED,eAAO,MAAM,MAAM;;;;;;;CAOlB,CAAC"}
|
package/dist/utils/logger.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as fs from "fs";
|
|
2
|
-
import * as path from "path";
|
|
3
2
|
export var LogLevel;
|
|
4
3
|
(function (LogLevel) {
|
|
5
4
|
LogLevel[LogLevel["INFO"] = 1] = "INFO";
|
|
@@ -9,7 +8,7 @@ export var LogLevel;
|
|
|
9
8
|
* Default logger configuration
|
|
10
9
|
*/
|
|
11
10
|
const config = {
|
|
12
|
-
logFilePath:
|
|
11
|
+
logFilePath: undefined,
|
|
13
12
|
minLevel: LogLevel.INFO,
|
|
14
13
|
quietMode: false
|
|
15
14
|
};
|
|
@@ -18,13 +17,7 @@ const config = {
|
|
|
18
17
|
* @param filePath Path to the log file (can be full path or just filename)
|
|
19
18
|
*/
|
|
20
19
|
function setLogFilePath(filePath) {
|
|
21
|
-
|
|
22
|
-
if (!filePath.includes('/') && !filePath.includes('\\')) {
|
|
23
|
-
config.logFilePath = path.join(process.cwd(), filePath);
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
config.logFilePath = filePath;
|
|
27
|
-
}
|
|
20
|
+
config.logFilePath = filePath;
|
|
28
21
|
}
|
|
29
22
|
/**
|
|
30
23
|
* Set minimum log level
|
|
@@ -85,8 +78,8 @@ function shouldLog(level) {
|
|
|
85
78
|
* @param message Message to log
|
|
86
79
|
*/
|
|
87
80
|
function writeToFile(level, message) {
|
|
88
|
-
if (config.quietMode) {
|
|
89
|
-
return; // Don't write to file
|
|
81
|
+
if (config.quietMode || config.logFilePath === undefined) {
|
|
82
|
+
return; // Don't write to file if the log file path is not defined
|
|
90
83
|
}
|
|
91
84
|
const timestamp = new Date().toISOString();
|
|
92
85
|
const levelStr = logLevelToString(level);
|
package/dist/utils/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.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": "0.3.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",
|