@grackle-ai/mcp 0.31.1 → 0.32.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/dist/tools/credential.d.ts +4 -0
- package/dist/tools/credential.d.ts.map +1 -0
- package/dist/tools/credential.js +69 -0
- package/dist/tools/credential.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/token.d.ts +4 -0
- package/dist/tools/token.d.ts.map +1 -0
- package/dist/tools/token.js +105 -0
- package/dist/tools/token.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential.d.ts","sourceRoot":"","sources":["../../src/tools/credential.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAmB1D,4DAA4D;AAC5D,eAAO,MAAM,eAAe,EAAE,cAAc,EAmD3C,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { claudeProviderModeToString, providerToggleToString, } from "@grackle-ai/common";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { jsonResult } from "../result-helpers.js";
|
|
4
|
+
import { grpcErrorToToolResult } from "../error-handler.js";
|
|
5
|
+
/** Serialize a CredentialProviderConfig proto to a plain object with string values. */
|
|
6
|
+
function serializeConfig(config) {
|
|
7
|
+
return {
|
|
8
|
+
claude: claudeProviderModeToString(config.claude) || "off",
|
|
9
|
+
github: providerToggleToString(config.github) || "off",
|
|
10
|
+
copilot: providerToggleToString(config.copilot) || "off",
|
|
11
|
+
codex: providerToggleToString(config.codex) || "off",
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/** MCP tools for Grackle credential provider management. */
|
|
15
|
+
export const credentialTools = [
|
|
16
|
+
{
|
|
17
|
+
name: "credential_provider_list",
|
|
18
|
+
group: "credential",
|
|
19
|
+
description: "List current credential provider configuration showing which providers are enabled for auto-forwarding.",
|
|
20
|
+
inputSchema: z.object({}),
|
|
21
|
+
rpcMethod: "getCredentialProviders",
|
|
22
|
+
mutating: false,
|
|
23
|
+
annotations: {
|
|
24
|
+
readOnlyHint: true,
|
|
25
|
+
destructiveHint: false,
|
|
26
|
+
idempotentHint: true,
|
|
27
|
+
openWorldHint: false,
|
|
28
|
+
},
|
|
29
|
+
async handler(_args, client) {
|
|
30
|
+
try {
|
|
31
|
+
const config = await client.getCredentialProviders({});
|
|
32
|
+
return jsonResult(serializeConfig(config));
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
return grpcErrorToToolResult(error);
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: "credential_provider_set",
|
|
41
|
+
group: "credential",
|
|
42
|
+
description: "Set a credential provider mode. Provider must be one of: claude, github, copilot, codex. Claude accepts: off, subscription, api_key. Others accept: off, on.",
|
|
43
|
+
inputSchema: z.object({
|
|
44
|
+
provider: z.enum(["claude", "github", "copilot", "codex"]).describe("The credential provider to configure"),
|
|
45
|
+
value: z.enum(["off", "on", "subscription", "api_key"]).describe("The mode to set (claude: off/subscription/api_key, others: off/on)"),
|
|
46
|
+
}),
|
|
47
|
+
rpcMethod: "setCredentialProvider",
|
|
48
|
+
mutating: true,
|
|
49
|
+
annotations: {
|
|
50
|
+
readOnlyHint: false,
|
|
51
|
+
destructiveHint: false,
|
|
52
|
+
idempotentHint: true,
|
|
53
|
+
openWorldHint: false,
|
|
54
|
+
},
|
|
55
|
+
async handler(args, client) {
|
|
56
|
+
try {
|
|
57
|
+
const updated = await client.setCredentialProvider({
|
|
58
|
+
provider: args.provider,
|
|
59
|
+
value: args.value,
|
|
60
|
+
});
|
|
61
|
+
return jsonResult(serializeConfig(updated));
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
return grpcErrorToToolResult(error);
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
];
|
|
69
|
+
//# sourceMappingURL=credential.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential.js","sourceRoot":"","sources":["../../src/tools/credential.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,uFAAuF;AACvF,SAAS,eAAe,CAAC,MAKxB;IACC,OAAO;QACL,MAAM,EAAE,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK;QAC1D,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK;QACtD,OAAO,EAAE,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK;QACxD,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK;KACrD,CAAC;AACJ,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C;QACE,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,yGAAyG;QACtH,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,SAAS,EAAE,wBAAwB;QACnC,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;QACD,KAAK,CAAC,OAAO,CAAC,KAA8B,EAAE,MAAsC;YAClF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;gBACvD,OAAO,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,8JAA8J;QAC3K,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAC3G,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,oEAAoE,CAAC;SACvI,CAAC;QACF,SAAS,EAAE,uBAAuB;QAClC,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;QACD,KAAK,CAAC,OAAO,CAAC,IAA6B,EAAE,MAAsC;YACjF,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC;oBACjD,QAAQ,EAAE,IAAI,CAAC,QAAkB;oBACjC,KAAK,EAAE,IAAI,CAAC,KAAe;iBAC5B,CAAC,CAAC;gBACH,OAAO,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAWnD,wEAAwE;AACxE,wBAAgB,kBAAkB,IAAI,YAAY,CAYjD"}
|
package/dist/tools/index.js
CHANGED
|
@@ -6,6 +6,8 @@ import { taskTools } from "./task.js";
|
|
|
6
6
|
import { findingTools } from "./finding.js";
|
|
7
7
|
import { personaTools } from "./persona.js";
|
|
8
8
|
import { logsTools } from "./logs.js";
|
|
9
|
+
import { credentialTools } from "./credential.js";
|
|
10
|
+
import { tokenTools } from "./token.js";
|
|
9
11
|
/** Create a ToolRegistry pre-populated with all available MCP tools. */
|
|
10
12
|
export function createToolRegistry() {
|
|
11
13
|
const registry = new ToolRegistry();
|
|
@@ -16,6 +18,8 @@ export function createToolRegistry() {
|
|
|
16
18
|
registry.registerAll(findingTools);
|
|
17
19
|
registry.registerAll(personaTools);
|
|
18
20
|
registry.registerAll(logsTools);
|
|
21
|
+
registry.registerAll(credentialTools);
|
|
22
|
+
registry.registerAll(tokenTools);
|
|
19
23
|
return registry;
|
|
20
24
|
}
|
|
21
25
|
//# sourceMappingURL=index.js.map
|
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,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,wEAAwE;AACxE,MAAM,UAAU,kBAAkB;IAChC,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/tools/token.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAyB1D,8CAA8C;AAC9C,eAAO,MAAM,UAAU,EAAE,cAAc,EAsFtC,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { jsonResult } from "../result-helpers.js";
|
|
3
|
+
import { grpcErrorToToolResult } from "../error-handler.js";
|
|
4
|
+
/** Sanitize a string into a valid environment variable name (uppercase, A-Z0-9_ only). */
|
|
5
|
+
function sanitizeEnvVarName(name) {
|
|
6
|
+
return name.toUpperCase().replace(/[^A-Z0-9_]/g, "_").replace(/^(\d)/, "_$1");
|
|
7
|
+
}
|
|
8
|
+
/** Serialize a TokenInfo proto to a plain object. */
|
|
9
|
+
function serializeTokenInfo(t) {
|
|
10
|
+
return {
|
|
11
|
+
name: t.name,
|
|
12
|
+
type: t.type,
|
|
13
|
+
target: t.type === "env_var" ? t.envVar : t.filePath,
|
|
14
|
+
expiresAt: t.expiresAt || "never",
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/** MCP tools for Grackle token management. */
|
|
18
|
+
export const tokenTools = [
|
|
19
|
+
{
|
|
20
|
+
name: "token_list",
|
|
21
|
+
group: "token",
|
|
22
|
+
description: "List all configured tokens showing name, type, target, and expiry. Token values are never returned.",
|
|
23
|
+
inputSchema: z.object({}),
|
|
24
|
+
rpcMethod: "listTokens",
|
|
25
|
+
mutating: false,
|
|
26
|
+
annotations: {
|
|
27
|
+
readOnlyHint: true,
|
|
28
|
+
destructiveHint: false,
|
|
29
|
+
idempotentHint: true,
|
|
30
|
+
openWorldHint: false,
|
|
31
|
+
},
|
|
32
|
+
async handler(_args, client) {
|
|
33
|
+
try {
|
|
34
|
+
const response = await client.listTokens({});
|
|
35
|
+
return jsonResult(response.tokens.map(serializeTokenInfo));
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
return grpcErrorToToolResult(error);
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: "token_set",
|
|
44
|
+
group: "token",
|
|
45
|
+
description: "Set a token that will be auto-forwarded to environments. The token value is encrypted at rest and never returned by list operations.",
|
|
46
|
+
inputSchema: z.object({
|
|
47
|
+
name: z.string().describe("Unique name for the token"),
|
|
48
|
+
value: z.string().describe("The secret token value"),
|
|
49
|
+
type: z.enum(["env_var", "file"]).default("env_var").describe("How to inject the token: as an environment variable or a file"),
|
|
50
|
+
envVar: z.string().optional().describe("Environment variable name (defaults to NAME_TOKEN)"),
|
|
51
|
+
filePath: z.string().optional().describe("File path to write the token to (required when type is file)"),
|
|
52
|
+
}).refine((data) => data.type !== "file" || (data.filePath !== undefined && data.filePath.length > 0), { message: "filePath is required when type is 'file'", path: ["filePath"] }),
|
|
53
|
+
rpcMethod: "setToken",
|
|
54
|
+
mutating: true,
|
|
55
|
+
annotations: {
|
|
56
|
+
readOnlyHint: false,
|
|
57
|
+
destructiveHint: false,
|
|
58
|
+
idempotentHint: true,
|
|
59
|
+
openWorldHint: false,
|
|
60
|
+
},
|
|
61
|
+
async handler(args, client) {
|
|
62
|
+
try {
|
|
63
|
+
const name = args.name;
|
|
64
|
+
await client.setToken({
|
|
65
|
+
name,
|
|
66
|
+
type: args.type || "env_var",
|
|
67
|
+
envVar: args.envVar || sanitizeEnvVarName(name) + "_TOKEN",
|
|
68
|
+
filePath: args.filePath || "",
|
|
69
|
+
value: args.value,
|
|
70
|
+
expiresAt: "",
|
|
71
|
+
});
|
|
72
|
+
return jsonResult({ success: true, name });
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
return grpcErrorToToolResult(error);
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: "token_delete",
|
|
81
|
+
group: "token",
|
|
82
|
+
description: "Delete a configured token by name. The token will no longer be forwarded to environments.",
|
|
83
|
+
inputSchema: z.object({
|
|
84
|
+
name: z.string().describe("Name of the token to delete"),
|
|
85
|
+
}),
|
|
86
|
+
rpcMethod: "deleteToken",
|
|
87
|
+
mutating: true,
|
|
88
|
+
annotations: {
|
|
89
|
+
readOnlyHint: false,
|
|
90
|
+
destructiveHint: true,
|
|
91
|
+
idempotentHint: true,
|
|
92
|
+
openWorldHint: false,
|
|
93
|
+
},
|
|
94
|
+
async handler(args, client) {
|
|
95
|
+
try {
|
|
96
|
+
await client.deleteToken({ name: args.name });
|
|
97
|
+
return jsonResult({ success: true, name: args.name });
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
return grpcErrorToToolResult(error);
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
];
|
|
105
|
+
//# sourceMappingURL=token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/tools/token.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grackle-ai/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "MCP (Model Context Protocol) server for Grackle — translates MCP tool calls to ConnectRPC",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"pino": "^10.3.1",
|
|
35
35
|
"zod": "^3.23.0",
|
|
36
36
|
"zod-to-json-schema": "^3.24.0",
|
|
37
|
-
"@grackle-ai/common": "0.
|
|
37
|
+
"@grackle-ai/common": "0.32.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@rushstack/heft": "1.2.4",
|