@cloudinary/environment-config-mcp 0.6.2 → 0.6.3
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 +3 -2
- package/bin/mcp-server.js +45394 -44720
- package/bin/mcp-server.js.map +53 -238
- package/esm/landing-page.d.ts +2 -1
- package/esm/landing-page.d.ts.map +1 -1
- package/esm/landing-page.js +51 -28
- package/esm/landing-page.js.map +1 -1
- package/esm/lib/config.d.ts +3 -3
- package/esm/lib/config.js +3 -3
- package/esm/mcp-server/cli/serve/impl.js +51 -25
- package/esm/mcp-server/cli/serve/impl.js.map +1 -1
- package/esm/mcp-server/cli/start/impl.js +11 -8
- package/esm/mcp-server/cli/start/impl.js.map +1 -1
- package/esm/mcp-server/extensions.d.ts +3 -3
- package/esm/mcp-server/extensions.d.ts.map +1 -1
- package/esm/mcp-server/mcp-server.js +1 -1
- package/esm/mcp-server/prompts.d.ts +7 -8
- package/esm/mcp-server/prompts.d.ts.map +1 -1
- package/esm/mcp-server/prompts.js +12 -12
- package/esm/mcp-server/prompts.js.map +1 -1
- package/esm/mcp-server/resources.d.ts +6 -7
- package/esm/mcp-server/resources.d.ts.map +1 -1
- package/esm/mcp-server/resources.js +19 -3
- package/esm/mcp-server/resources.js.map +1 -1
- package/esm/mcp-server/server.d.ts +1 -1
- package/esm/mcp-server/server.d.ts.map +1 -1
- package/esm/mcp-server/server.js +2 -2
- package/esm/mcp-server/server.js.map +1 -1
- package/esm/mcp-server/shared.d.ts +7 -0
- package/esm/mcp-server/shared.d.ts.map +1 -1
- package/esm/mcp-server/shared.js +184 -0
- package/esm/mcp-server/shared.js.map +1 -1
- package/esm/mcp-server/tools/streamingProfilesCreateStreamingProfile.js +1 -1
- package/esm/mcp-server/tools/streamingProfilesCreateStreamingProfile.js.map +1 -1
- package/esm/mcp-server/tools/streamingProfilesDeleteStreamingProfile.js +1 -1
- package/esm/mcp-server/tools/streamingProfilesDeleteStreamingProfile.js.map +1 -1
- package/esm/mcp-server/tools/streamingProfilesGetStreamingProfile.js +1 -1
- package/esm/mcp-server/tools/streamingProfilesGetStreamingProfile.js.map +1 -1
- package/esm/mcp-server/tools/streamingProfilesGetStreamingProfiles.js +1 -1
- package/esm/mcp-server/tools/streamingProfilesGetStreamingProfiles.js.map +1 -1
- package/esm/mcp-server/tools/streamingProfilesUpdateStreamingProfile.js +1 -1
- package/esm/mcp-server/tools/streamingProfilesUpdateStreamingProfile.js.map +1 -1
- package/esm/mcp-server/tools/transformationsCreateTransformation.js +1 -1
- package/esm/mcp-server/tools/transformationsCreateTransformation.js.map +1 -1
- package/esm/mcp-server/tools/transformationsDeleteTransformation.js +1 -1
- package/esm/mcp-server/tools/transformationsDeleteTransformation.js.map +1 -1
- package/esm/mcp-server/tools/transformationsGetTransformation.js +1 -1
- package/esm/mcp-server/tools/transformationsGetTransformation.js.map +1 -1
- package/esm/mcp-server/tools/transformationsListTransformations.js +1 -1
- package/esm/mcp-server/tools/transformationsListTransformations.js.map +1 -1
- package/esm/mcp-server/tools/transformationsUpdateTransformation.js +1 -1
- package/esm/mcp-server/tools/transformationsUpdateTransformation.js.map +1 -1
- package/esm/mcp-server/tools/triggersCreateTrigger.js +1 -1
- package/esm/mcp-server/tools/triggersCreateTrigger.js.map +1 -1
- package/esm/mcp-server/tools/triggersDeleteTrigger.js +1 -1
- package/esm/mcp-server/tools/triggersDeleteTrigger.js.map +1 -1
- package/esm/mcp-server/tools/triggersListTrigger.js +1 -1
- package/esm/mcp-server/tools/triggersListTrigger.js.map +1 -1
- package/esm/mcp-server/tools/triggersTestTrigger.js +1 -1
- package/esm/mcp-server/tools/triggersTestTrigger.js.map +1 -1
- package/esm/mcp-server/tools/triggersUpdateTrigger.js +1 -1
- package/esm/mcp-server/tools/triggersUpdateTrigger.js.map +1 -1
- package/esm/mcp-server/tools/uploadMappingsCreateUploadMapping.js +1 -1
- package/esm/mcp-server/tools/uploadMappingsCreateUploadMapping.js.map +1 -1
- package/esm/mcp-server/tools/uploadMappingsDeleteUploadMapping.js +1 -1
- package/esm/mcp-server/tools/uploadMappingsDeleteUploadMapping.js.map +1 -1
- package/esm/mcp-server/tools/uploadMappingsListUploadMappings.js +1 -1
- package/esm/mcp-server/tools/uploadMappingsListUploadMappings.js.map +1 -1
- package/esm/mcp-server/tools/uploadMappingsUpdateUploadMapping.js +1 -1
- package/esm/mcp-server/tools/uploadMappingsUpdateUploadMapping.js.map +1 -1
- package/esm/mcp-server/tools/uploadPresetsCreateUploadPreset.js +1 -1
- package/esm/mcp-server/tools/uploadPresetsCreateUploadPreset.js.map +1 -1
- package/esm/mcp-server/tools/uploadPresetsDeleteUploadPreset.js +1 -1
- package/esm/mcp-server/tools/uploadPresetsDeleteUploadPreset.js.map +1 -1
- package/esm/mcp-server/tools/uploadPresetsGetUploadPreset.js +1 -1
- package/esm/mcp-server/tools/uploadPresetsGetUploadPreset.js.map +1 -1
- package/esm/mcp-server/tools/uploadPresetsListUploadPresets.js +1 -1
- package/esm/mcp-server/tools/uploadPresetsListUploadPresets.js.map +1 -1
- package/esm/mcp-server/tools/uploadPresetsUpdateUploadPreset.js +1 -1
- package/esm/mcp-server/tools/uploadPresetsUpdateUploadPreset.js.map +1 -1
- package/esm/mcp-server/tools.d.ts +11 -9
- package/esm/mcp-server/tools.d.ts.map +1 -1
- package/esm/mcp-server/tools.js +20 -19
- package/esm/mcp-server/tools.js.map +1 -1
- package/package.json +9 -4
- package/src/landing-page.ts +81 -28
- package/src/lib/config.ts +3 -3
- package/src/mcp-server/cli/serve/impl.ts +55 -25
- package/src/mcp-server/cli/start/impl.ts +16 -9
- package/src/mcp-server/extensions.ts +3 -5
- package/src/mcp-server/mcp-server.ts +1 -1
- package/src/mcp-server/prompts.ts +30 -43
- package/src/mcp-server/resources.ts +32 -17
- package/src/mcp-server/server.ts +2 -2
- package/src/mcp-server/shared.ts +201 -0
- package/src/mcp-server/tools/streamingProfilesCreateStreamingProfile.ts +1 -1
- package/src/mcp-server/tools/streamingProfilesDeleteStreamingProfile.ts +1 -1
- package/src/mcp-server/tools/streamingProfilesGetStreamingProfile.ts +1 -1
- package/src/mcp-server/tools/streamingProfilesGetStreamingProfiles.ts +1 -1
- package/src/mcp-server/tools/streamingProfilesUpdateStreamingProfile.ts +1 -1
- package/src/mcp-server/tools/transformationsCreateTransformation.ts +1 -1
- package/src/mcp-server/tools/transformationsDeleteTransformation.ts +1 -1
- package/src/mcp-server/tools/transformationsGetTransformation.ts +1 -1
- package/src/mcp-server/tools/transformationsListTransformations.ts +1 -1
- package/src/mcp-server/tools/transformationsUpdateTransformation.ts +1 -1
- package/src/mcp-server/tools/triggersCreateTrigger.ts +1 -1
- package/src/mcp-server/tools/triggersDeleteTrigger.ts +1 -1
- package/src/mcp-server/tools/triggersListTrigger.ts +1 -1
- package/src/mcp-server/tools/triggersTestTrigger.ts +1 -1
- package/src/mcp-server/tools/triggersUpdateTrigger.ts +1 -1
- package/src/mcp-server/tools/uploadMappingsCreateUploadMapping.ts +1 -1
- package/src/mcp-server/tools/uploadMappingsDeleteUploadMapping.ts +1 -1
- package/src/mcp-server/tools/uploadMappingsListUploadMappings.ts +1 -1
- package/src/mcp-server/tools/uploadMappingsUpdateUploadMapping.ts +1 -1
- package/src/mcp-server/tools/uploadPresetsCreateUploadPreset.ts +1 -1
- package/src/mcp-server/tools/uploadPresetsDeleteUploadPreset.ts +1 -1
- package/src/mcp-server/tools/uploadPresetsGetUploadPreset.ts +1 -1
- package/src/mcp-server/tools/uploadPresetsListUploadPresets.ts +1 -1
- package/src/mcp-server/tools/uploadPresetsUpdateUploadPreset.ts +1 -1
- package/src/mcp-server/tools.ts +42 -45
package/esm/landing-page.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Request as ExpressRequest, Response as ExpressResponse } from "express";
|
|
2
2
|
export declare function landingPage(req: Request): Response;
|
|
3
3
|
export declare function landingPageExpress(req: ExpressRequest, res: ExpressResponse): void;
|
|
4
|
-
export declare function
|
|
4
|
+
export declare function landingPageExpressHTTP(req: ExpressRequest, res: ExpressResponse): void;
|
|
5
|
+
export declare function landingPageHTML(origin: string, transport?: "sse" | "http", runtime?: "node" | "cloudflare"): string;
|
|
5
6
|
//# sourceMappingURL=landing-page.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"landing-page.d.ts","sourceRoot":"","sources":["../src/landing-page.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,OAAO,IAAI,cAAc,EACzB,QAAQ,IAAI,eAAe,EAC5B,MAAM,SAAS,CAAC;AAIjB,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ,CAKlD;AAGD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"landing-page.d.ts","sourceRoot":"","sources":["../src/landing-page.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,OAAO,IAAI,cAAc,EACzB,QAAQ,IAAI,eAAe,EAC5B,MAAM,SAAS,CAAC;AAIjB,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ,CAKlD;AAGD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,eAAe,QAE3E;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,eAAe,QAGrB;AAiBD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,KAAK,GAAG,MAAc,EACjC,OAAO,GAAE,MAAM,GAAG,YAAqB,GACtC,MAAM,CA4jCR"}
|
package/esm/landing-page.js
CHANGED
|
@@ -6,12 +6,18 @@ import { toolNames } from "./tool-names.js";
|
|
|
6
6
|
// Cloudflare-specific wrapper
|
|
7
7
|
export function landingPage(req) {
|
|
8
8
|
const origin = new URL(req.url).origin;
|
|
9
|
-
return new Response(landingPageHTML(origin), {
|
|
9
|
+
return new Response(landingPageHTML(origin, "http", "cloudflare"), {
|
|
10
10
|
headers: { "Content-Type": "text/html" },
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
13
|
// express wrapper
|
|
14
14
|
export function landingPageExpress(req, res) {
|
|
15
|
+
sendLandingPage(req, res, "sse");
|
|
16
|
+
}
|
|
17
|
+
export function landingPageExpressHTTP(req, res) {
|
|
18
|
+
sendLandingPage(req, res, "http");
|
|
19
|
+
}
|
|
20
|
+
function sendLandingPage(req, res, transport) {
|
|
15
21
|
const proto = req.get("x-forwarded-proto")?.split(",")[0]?.trim()
|
|
16
22
|
|| req.protocol;
|
|
17
23
|
const host = req.get("host");
|
|
@@ -19,32 +25,49 @@ export function landingPageExpress(req, res) {
|
|
|
19
25
|
res.status(400).send("Missing Host header");
|
|
20
26
|
return;
|
|
21
27
|
}
|
|
22
|
-
res.type("html").send(landingPageHTML(`${proto}://${host}
|
|
28
|
+
res.type("html").send(landingPageHTML(`${proto}://${host}`, transport));
|
|
23
29
|
}
|
|
24
|
-
export function landingPageHTML(origin) {
|
|
30
|
+
export function landingPageHTML(origin, transport = "sse", runtime = "node") {
|
|
25
31
|
const o = origin;
|
|
32
|
+
const endpoint = transport === "sse" ? "sse" : "mcp";
|
|
33
|
+
const headers = runtime === "cloudflare"
|
|
34
|
+
? [{ "name": "x-cloudinary-auth", "env": "CLOUDINARY_AUTH" }, {
|
|
35
|
+
"name": "x-oauth2",
|
|
36
|
+
"env": "OAUTH2",
|
|
37
|
+
}]
|
|
38
|
+
: transport === "sse"
|
|
39
|
+
? [{ "name": "api-key", "env": "API_KEY" }, {
|
|
40
|
+
"name": "api-secret",
|
|
41
|
+
"env": "API_SECRET",
|
|
42
|
+
}, { "name": "oauth2", "env": "OAUTH2" }]
|
|
43
|
+
: [
|
|
44
|
+
{ "name": "api-key", "env": "API_KEY" },
|
|
45
|
+
{ "name": "api-secret", "env": "API_SECRET" },
|
|
46
|
+
{ "name": "oauth2", "env": "OAUTH2" },
|
|
47
|
+
{ "name": "cloud-name", "env": "CLOUD_NAME" },
|
|
48
|
+
{ "name": "region", "env": "REGION" },
|
|
49
|
+
{ "name": "api-host", "env": "API_HOST" },
|
|
50
|
+
];
|
|
26
51
|
const mcpConfig = {
|
|
27
|
-
|
|
28
|
-
|
|
52
|
+
command: "npx",
|
|
53
|
+
args: [
|
|
29
54
|
"-y",
|
|
30
55
|
"mcp-remote@0.1.25",
|
|
31
|
-
`${o}
|
|
32
|
-
"--header",
|
|
33
|
-
"api-key:${API_KEY}",
|
|
34
|
-
"--header",
|
|
35
|
-
"api-secret:${API_SECRET}",
|
|
36
|
-
"--header",
|
|
37
|
-
"cloud-name:${CLOUD_NAME}",
|
|
56
|
+
`${o}/${endpoint}`,
|
|
57
|
+
...headers.flatMap(({ name, env }) => ["--header", `${name}:\${${env}}`]),
|
|
38
58
|
],
|
|
39
|
-
|
|
40
|
-
"API_KEY": "YOUR_VALUE_HERE",
|
|
41
|
-
"API_SECRET": "YOUR_VALUE_HERE",
|
|
42
|
-
"CLOUD_NAME": "YOUR_VALUE_HERE",
|
|
43
|
-
},
|
|
59
|
+
env: Object.fromEntries(headers.map(({ env }) => [env, "YOUR_VALUE_HERE"])),
|
|
44
60
|
};
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
61
|
+
const cliHeaders = headers.map(({ name }) => `--header "${name}: ..."`).join(" ");
|
|
62
|
+
const codexConfig = transport === "sse"
|
|
63
|
+
? `[mcp_servers.CloudinaryEnvConfig]
|
|
64
|
+
command = ${JSON.stringify(mcpConfig.command)}
|
|
65
|
+
args = ${JSON.stringify(mcpConfig.args)}
|
|
66
|
+
env = { ${Object.entries(mcpConfig.env).map(([name, value]) => `${JSON.stringify(name)} = ${JSON.stringify(value)}`).join(", ")} }`
|
|
67
|
+
: `[mcp_servers.CloudinaryEnvConfig]
|
|
68
|
+
url = ${JSON.stringify(`${o}/${endpoint}`)}
|
|
69
|
+
http_headers = { ${headers.map(({ name, env }) => `${JSON.stringify(name)} = ${JSON.stringify(`YOUR_${env}`)}`).join(", ")} }`;
|
|
70
|
+
const encodedConfig = encodeURIComponent(btoa(Array.from(new TextEncoder().encode(JSON.stringify(mcpConfig)), byte => String.fromCharCode(byte)).join("")));
|
|
48
71
|
return `
|
|
49
72
|
<!DOCTYPE html>
|
|
50
73
|
<html lang="en">
|
|
@@ -681,7 +704,7 @@ http_headers = { "api-key" = "YOUR_API_KEY", "api-secret" = "YOUR_API_SECRET", "
|
|
|
681
704
|
</svg>
|
|
682
705
|
</button>
|
|
683
706
|
<div class="popover-menu hidden" id="popover-menu">
|
|
684
|
-
<a class="popover-button install-link" href="cursor://anysphere.cursor-deeplink/mcp/install?name=CloudinaryEnvConfig&config
|
|
707
|
+
<a class="popover-button install-link" href="cursor://anysphere.cursor-deeplink/mcp/install?name=CloudinaryEnvConfig&config=${encodedConfig}">
|
|
685
708
|
Cursor
|
|
686
709
|
</a>
|
|
687
710
|
<button class="popover-button" onclick="showModal('claude-code')">
|
|
@@ -690,7 +713,7 @@ http_headers = { "api-key" = "YOUR_API_KEY", "api-secret" = "YOUR_API_SECRET", "
|
|
|
690
713
|
<button class="popover-button" onclick="showModal('claude-desktop')">
|
|
691
714
|
Claude Desktop
|
|
692
715
|
</button>
|
|
693
|
-
<a class="popover-button install-link" href="vscode://ms-vscode.vscode-mcp/install?name=CloudinaryEnvConfig&config
|
|
716
|
+
<a class="popover-button install-link" href="vscode://ms-vscode.vscode-mcp/install?name=CloudinaryEnvConfig&config=${encodedConfig}">
|
|
694
717
|
VS Code
|
|
695
718
|
</a>
|
|
696
719
|
<button class="popover-button" onclick="showModal('gemini')">
|
|
@@ -713,7 +736,7 @@ http_headers = { "api-key" = "YOUR_API_KEY", "api-secret" = "YOUR_API_SECRET", "
|
|
|
713
736
|
</div>
|
|
714
737
|
</header>
|
|
715
738
|
<div class="install-targets">
|
|
716
|
-
<a tabindex="0" class="card install-target install-link" href="cursor://anysphere.cursor-deeplink/mcp/install?name=CloudinaryEnvConfig&config
|
|
739
|
+
<a tabindex="0" class="card install-target install-link" href="cursor://anysphere.cursor-deeplink/mcp/install?name=CloudinaryEnvConfig&config=${encodedConfig}">
|
|
717
740
|
<div class="target">
|
|
718
741
|
<img src="https://cursor.com/assets/images/logo.svg" alt="Cursor">
|
|
719
742
|
<span>Cursor</span>
|
|
@@ -735,7 +758,7 @@ http_headers = { "api-key" = "YOUR_API_KEY", "api-secret" = "YOUR_API_SECRET", "
|
|
|
735
758
|
<span>Claude Desktop</span>
|
|
736
759
|
</div>
|
|
737
760
|
</div>
|
|
738
|
-
<a tabindex="0" class="card install-target install-link" href="vscode://ms-vscode.vscode-mcp/install?name=CloudinaryEnvConfig&config
|
|
761
|
+
<a tabindex="0" class="card install-target install-link" href="vscode://ms-vscode.vscode-mcp/install?name=CloudinaryEnvConfig&config=${encodedConfig}">
|
|
739
762
|
<div class="target">
|
|
740
763
|
<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
741
764
|
<mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="100" height="100">
|
|
@@ -853,7 +876,7 @@ http_headers = { "api-key" = "YOUR_API_KEY", "api-secret" = "YOUR_API_SECRET", "
|
|
|
853
876
|
<path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path>
|
|
854
877
|
</svg>
|
|
855
878
|
</button>
|
|
856
|
-
<code class="code-snippet" id="server-url">${o}
|
|
879
|
+
<code class="code-snippet" id="server-url">${o}/${endpoint}</code>
|
|
857
880
|
</div>
|
|
858
881
|
</section>
|
|
859
882
|
|
|
@@ -908,7 +931,7 @@ http_headers = { "api-key" = "YOUR_API_KEY", "api-secret" = "YOUR_API_SECRET", "
|
|
|
908
931
|
<path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path>
|
|
909
932
|
</svg>
|
|
910
933
|
</button>
|
|
911
|
-
<code class="code-snippet language-json" id="claude-cli-cmd">claude mcp add
|
|
934
|
+
<code class="code-snippet language-json" id="claude-cli-cmd">claude mcp add --transport ${transport} CloudinaryEnvConfig ${o}/${endpoint} ${cliHeaders}</code>
|
|
912
935
|
</div>
|
|
913
936
|
</div>
|
|
914
937
|
</div>
|
|
@@ -924,7 +947,7 @@ http_headers = { "api-key" = "YOUR_API_KEY", "api-secret" = "YOUR_API_SECRET", "
|
|
|
924
947
|
<h1>Instructions</h1>
|
|
925
948
|
<p>One-click installation for Claude Desktop users</p>
|
|
926
949
|
<div class="instruction-item">
|
|
927
|
-
<a href="https://github.com/cloudinary/environment-config-mcp/releases/download/v0.6.
|
|
950
|
+
<a href="https://github.com/cloudinary/environment-config-mcp/releases/download/v0.6.3/mcp-server.mcpb" download="mcp-server.mcpb" class="action-button header-action" style="display: inline-flex; margin-bottom: 16px;">
|
|
928
951
|
📥 Download MCP Bundle
|
|
929
952
|
</a>
|
|
930
953
|
</div>
|
|
@@ -959,7 +982,7 @@ http_headers = { "api-key" = "YOUR_API_KEY", "api-secret" = "YOUR_API_SECRET", "
|
|
|
959
982
|
<path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path>
|
|
960
983
|
</svg>
|
|
961
984
|
</button>
|
|
962
|
-
<code class="code-snippet language-json" id="gemini-config">gemini mcp add
|
|
985
|
+
<code class="code-snippet language-json" id="gemini-config">gemini mcp add --transport ${transport} CloudinaryEnvConfig ${o}/${endpoint} ${cliHeaders}</code>
|
|
963
986
|
</div>
|
|
964
987
|
</div>
|
|
965
988
|
</div>
|
package/esm/landing-page.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"landing-page.js","sourceRoot":"","sources":["../src/landing-page.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,8BAA8B;AAC9B,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"landing-page.js","sourceRoot":"","sources":["../src/landing-page.ts"],"names":[],"mappings":"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"}
|
package/esm/lib/config.d.ts
CHANGED
|
@@ -66,8 +66,8 @@ export declare function serverURLFromOptions(options: SDKOptions): URL | null;
|
|
|
66
66
|
export declare const SDK_METADATA: {
|
|
67
67
|
readonly language: "typescript";
|
|
68
68
|
readonly openapiDocVersion: "0.5.5";
|
|
69
|
-
readonly sdkVersion: "0.6.
|
|
70
|
-
readonly genVersion: "2.
|
|
71
|
-
readonly userAgent: "speakeasy-sdk/mcp-typescript 0.6.
|
|
69
|
+
readonly sdkVersion: "0.6.3";
|
|
70
|
+
readonly genVersion: "2.950.2";
|
|
71
|
+
readonly userAgent: "speakeasy-sdk/mcp-typescript 0.6.3 2.950.2 0.5.5 @cloudinary/environment-config-mcp";
|
|
72
72
|
};
|
|
73
73
|
//# sourceMappingURL=config.d.ts.map
|
package/esm/lib/config.js
CHANGED
|
@@ -55,8 +55,8 @@ export function serverURLFromOptions(options) {
|
|
|
55
55
|
export const SDK_METADATA = {
|
|
56
56
|
language: "typescript",
|
|
57
57
|
openapiDocVersion: "0.5.5",
|
|
58
|
-
sdkVersion: "0.6.
|
|
59
|
-
genVersion: "2.
|
|
60
|
-
userAgent: "speakeasy-sdk/mcp-typescript 0.6.
|
|
58
|
+
sdkVersion: "0.6.3",
|
|
59
|
+
genVersion: "2.950.2",
|
|
60
|
+
userAgent: "speakeasy-sdk/mcp-typescript 0.6.3 2.950.2 0.5.5 @cloudinary/environment-config-mcp",
|
|
61
61
|
};
|
|
62
62
|
//# sourceMappingURL=config.js.map
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
3
|
* @generated-id: 03e83f226068
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
5
|
+
import { toNodeHandler } from "@modelcontextprotocol/node";
|
|
6
|
+
import { createMcpHandler } from "@modelcontextprotocol/server";
|
|
6
7
|
import express from "express";
|
|
7
8
|
import { createConsoleLogger, } from "../../console-logger.js";
|
|
8
9
|
import { createMCPServer } from "../../server.js";
|
|
9
10
|
import { buildAnnotationFilter } from "../../tools.js";
|
|
10
11
|
import { buildSDK } from "../../tools.js";
|
|
11
|
-
import {
|
|
12
|
+
import { landingPageExpressHTTP } from "../../../landing-page.js";
|
|
12
13
|
export async function main(flags) {
|
|
13
14
|
flags.env?.forEach(([key, value]) => {
|
|
14
15
|
process.env[key] = value;
|
|
@@ -21,7 +22,7 @@ async function startStreamableHTTP(cliFlags) {
|
|
|
21
22
|
// Enable CORS for cross-origin requests
|
|
22
23
|
app.use((req, res, next) => {
|
|
23
24
|
res.header("Access-Control-Allow-Origin", "*");
|
|
24
|
-
res.header("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
|
|
25
|
+
res.header("Access-Control-Allow-Methods", "GET, POST, DELETE, OPTIONS");
|
|
25
26
|
res.header("Access-Control-Allow-Headers", "*");
|
|
26
27
|
if (req.method === "OPTIONS") {
|
|
27
28
|
res.sendStatus(204);
|
|
@@ -29,19 +30,9 @@ async function startStreamableHTTP(cliFlags) {
|
|
|
29
30
|
}
|
|
30
31
|
next();
|
|
31
32
|
});
|
|
32
|
-
app.use(express.json());
|
|
33
|
-
|
|
34
|
-
const headers = new Headers();
|
|
35
|
-
for (const [key, value] of Object.entries(req.headers)) {
|
|
36
|
-
if (Array.isArray(value)) {
|
|
37
|
-
for (const v of value)
|
|
38
|
-
headers.append(key, v);
|
|
39
|
-
}
|
|
40
|
-
else if (value !== undefined) {
|
|
41
|
-
headers.set(key, value);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
const transport = new StreamableHTTPServerTransport({});
|
|
33
|
+
app.use(express.json({ inflate: false }));
|
|
34
|
+
const handler = createMcpHandler(({ requestInfo }) => {
|
|
35
|
+
const headers = requestInfo?.headers ?? new Headers();
|
|
45
36
|
const { server: mcpServer } = createMCPServer({
|
|
46
37
|
logger,
|
|
47
38
|
allowedTools: cliFlags.tool,
|
|
@@ -61,26 +52,61 @@ async function startStreamableHTTP(cliFlags) {
|
|
|
61
52
|
stack: error instanceof Error ? error.stack : undefined,
|
|
62
53
|
});
|
|
63
54
|
};
|
|
64
|
-
|
|
65
|
-
|
|
55
|
+
return mcpServer;
|
|
56
|
+
});
|
|
57
|
+
const nodeHandler = toNodeHandler(handler);
|
|
58
|
+
const activeResponses = new Set();
|
|
59
|
+
let closing = false;
|
|
60
|
+
app.use((_req, res, next) => {
|
|
61
|
+
if (closing) {
|
|
62
|
+
res.set("Connection", "close").status(503).send("Server is shutting down");
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
next();
|
|
66
66
|
});
|
|
67
|
-
app.
|
|
67
|
+
app.all("/mcp", (req, res) => {
|
|
68
|
+
// Notification streams remain open until handler.close().
|
|
69
|
+
if (req.method !== "GET" && req.body?.method !== "subscriptions/listen") {
|
|
70
|
+
let finish;
|
|
71
|
+
const completed = new Promise((resolve) => {
|
|
72
|
+
finish = resolve;
|
|
73
|
+
});
|
|
74
|
+
const done = () => {
|
|
75
|
+
res.off("finish", done);
|
|
76
|
+
res.off("close", done);
|
|
77
|
+
activeResponses.delete(completed);
|
|
78
|
+
finish();
|
|
79
|
+
};
|
|
80
|
+
activeResponses.add(completed);
|
|
81
|
+
res.once("finish", done);
|
|
82
|
+
res.once("close", done);
|
|
83
|
+
}
|
|
84
|
+
return nodeHandler(req, res, req.body);
|
|
85
|
+
});
|
|
86
|
+
app.get("/", landingPageExpressHTTP);
|
|
68
87
|
const httpServer = app.listen(cliFlags.port, "0.0.0.0", () => {
|
|
69
88
|
const ha = httpServer.address();
|
|
70
89
|
const host = typeof ha === "string" ? ha : `${ha?.address}:${ha?.port}`;
|
|
71
90
|
logger.info("MCP Streamable HTTP server started", { host });
|
|
72
91
|
});
|
|
73
|
-
const shutdown = () => {
|
|
92
|
+
const shutdown = async () => {
|
|
93
|
+
if (closing) {
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
closing = true;
|
|
74
97
|
logger.info("Shutting down HTTP server");
|
|
75
98
|
const timer = setTimeout(() => {
|
|
76
99
|
logger.info("Forcing shutdown");
|
|
77
100
|
process.exit(1);
|
|
78
101
|
}, 5000);
|
|
79
|
-
httpServer.close(() =>
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
102
|
+
const stopped = new Promise((resolve) => httpServer.close(() => resolve()));
|
|
103
|
+
await Promise.all(activeResponses);
|
|
104
|
+
await handler.close();
|
|
105
|
+
httpServer.closeAllConnections();
|
|
106
|
+
await stopped;
|
|
107
|
+
clearTimeout(timer);
|
|
108
|
+
logger.info("Graceful shutdown complete");
|
|
109
|
+
process.exit(0);
|
|
84
110
|
};
|
|
85
111
|
process.on("SIGTERM", shutdown);
|
|
86
112
|
process.on("SIGINT", shutdown);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../src/mcp-server/cli/serve/impl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../src/mcp-server/cli/serve/impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
3
|
* @generated-id: 37494f674015
|
|
4
4
|
*/
|
|
5
|
-
import { SSEServerTransport } from "@modelcontextprotocol/
|
|
6
|
-
import {
|
|
5
|
+
import { SSEServerTransport } from "@modelcontextprotocol/server-legacy/sse";
|
|
6
|
+
import { serveStdio } from "@modelcontextprotocol/server/stdio";
|
|
7
7
|
import express from "express";
|
|
8
8
|
import { createConsoleLogger, } from "../../console-logger.js";
|
|
9
9
|
import { createMCPServer } from "../../server.js";
|
|
@@ -26,8 +26,7 @@ export async function main(flags) {
|
|
|
26
26
|
}
|
|
27
27
|
async function startStdio(flags) {
|
|
28
28
|
const logger = createConsoleLogger(flags["log-level"]);
|
|
29
|
-
const
|
|
30
|
-
const { server } = createMCPServer({
|
|
29
|
+
const createServer = createMCPServerFactory({
|
|
31
30
|
logger,
|
|
32
31
|
allowedTools: flags.tool,
|
|
33
32
|
dynamic: flags.mode === "dynamic",
|
|
@@ -48,14 +47,17 @@ async function startStdio(flags) {
|
|
|
48
47
|
region: flags.region,
|
|
49
48
|
host: flags["api-host"],
|
|
50
49
|
});
|
|
51
|
-
|
|
50
|
+
const handle = serveStdio(createServer);
|
|
52
51
|
const abort = async () => {
|
|
53
|
-
await
|
|
52
|
+
await handle.close();
|
|
54
53
|
process.exit(0);
|
|
55
54
|
};
|
|
56
55
|
process.on("SIGTERM", abort);
|
|
57
56
|
process.on("SIGINT", abort);
|
|
58
57
|
}
|
|
58
|
+
function createMCPServerFactory(options) {
|
|
59
|
+
return () => createMCPServer(options).server;
|
|
60
|
+
}
|
|
59
61
|
async function startSSE(cliFlags) {
|
|
60
62
|
const logger = createConsoleLogger(cliFlags["log-level"]);
|
|
61
63
|
const app = express();
|
|
@@ -79,8 +81,9 @@ async function startSSE(cliFlags) {
|
|
|
79
81
|
const flags = {
|
|
80
82
|
...cliFlags,
|
|
81
83
|
// Security fields can be overridden via headers
|
|
82
|
-
"api-key": req.headers["
|
|
83
|
-
|
|
84
|
+
"api-key": (req.headers["api-key"] ?? req.headers["api_key"])
|
|
85
|
+
?? cliFlags["api-key"],
|
|
86
|
+
"api-secret": (req.headers["api-secret"] ?? req.headers["api_secret"])
|
|
84
87
|
?? cliFlags["api-secret"],
|
|
85
88
|
"oauth2": req.headers["oauth2"] ?? cliFlags["oauth2"],
|
|
86
89
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../src/mcp-server/cli/start/impl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../src/mcp-server/cli/start/impl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAEL,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAe9D,MAAM,CAAC,KAAK,UAAU,IAAI,CAAqB,KAAwB;IACrE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAClC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC;QACxB,KAAK,OAAO;YACV,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM;QACR,KAAK,KAAK;YACR,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtB,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,KAAwB;IAChD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,sBAAsB,CAAC;QAC1C,MAAM;QACN,YAAY,EAAE,KAAK,CAAC,IAAI;QACxB,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS;QACjC,gBAAgB,EAAE,qBAAqB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAClE,MAAM,EAAE,KAAK,CAAC,KAAK;QACnB,QAAQ,EAAE;YACR,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI;gBACrE,CAAC,CAAC;oBACA,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;oBAC/B,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE;iBACtC;gBACD,CAAC,CAAC,KAAK,CAAC;YACV,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;SAC3B;QACD,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC;QAC/B,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;QAC9B,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC;QAChC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC;KACxB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAExC,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAA8C;IAE9C,OAAO,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,QAA2B;IACjD,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IAEzC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEtC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;YACtC,SAAS;YACT,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC;SACrC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,iEAAiE;QACjE,MAAM,KAAK,GAAsB;YAC/B,GAAG,QAAQ;YACX,gDAAgD;YAChD,SAAS,EAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAY;mBACpE,QAAQ,CAAC,SAAS,CAAC;YACxB,YAAY,EACT,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAY;mBAC/D,QAAQ,CAAC,YAAY,CAAC;YAC7B,QAAQ,EAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAY,IAAI,QAAQ,CAAC,QAAQ,CAAC;SAClE,CAAC;QAEF,4DAA4D;QAC5D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;YAC5C,MAAM;YACN,YAAY,EAAE,KAAK,CAAC,IAAI;YACxB,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS;YACjC,gBAAgB,EAAE,qBAAqB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClE,MAAM,EAAE,KAAK,CAAC,KAAK;YACnB,QAAQ,EAAE;gBACR,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI;oBACrE,CAAC,CAAC;wBACA,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;wBAC/B,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE;qBACtC;oBACD,CAAC,CAAC,KAAK,CAAC;gBACV,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;aAC3B;YACD,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC;YAC/B,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;YAC9B,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC;YAChC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC;SACxB,CAAC,CAAC;QAEH,+CAA+C;QAC/C,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,YAAY,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC,CAAC;QAEF,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAErD,0EAA0E;QAC1E,SAAS,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YACnC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;gBACjC,SAAS;gBACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACxD,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,2DAA2D;QAC3D,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,SAAS,CAAC,IAAI,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE;YACjC,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;oBACzC,SAAS;oBACT,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;oBAC7B,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;iBACpC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEnC,SAAS,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE;YACpC,gBAAgB,GAAG,IAAI,CAAC;YACxB,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxD,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC5B,SAAS;gBACT,aAAa,EAAE,QAAQ,CAAC,IAAI;aAC7B,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAEjC,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;QAC3D,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,GAAG,IAAI,CAAC;QAEf,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAEzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;YACpB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as z from "zod";
|
|
2
2
|
import { PromptDefinition } from "./prompts.js";
|
|
3
3
|
import { ResourceDefinition, ResourceTemplateDefinition } from "./resources.js";
|
|
4
4
|
import { ToolDefinition } from "./tools.js";
|
|
5
5
|
export type Register = {
|
|
6
|
-
tool: <A extends
|
|
6
|
+
tool: <A extends z.ZodRawShape | undefined>(def: ToolDefinition<A>) => void;
|
|
7
7
|
resource: (def: ResourceDefinition) => void;
|
|
8
8
|
resourceTemplate: (def: ResourceTemplateDefinition) => void;
|
|
9
|
-
prompt: <A extends
|
|
9
|
+
prompt: <A extends z.ZodRawShape | undefined>(prompt: PromptDefinition<A>) => void;
|
|
10
10
|
};
|
|
11
11
|
//# sourceMappingURL=extensions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/mcp-server/extensions.ts"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/mcp-server/extensions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,GAAG,SAAS,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC5E,QAAQ,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC5C,gBAAgB,EAAE,CAAC,GAAG,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAC5D,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,GAAG,SAAS,EAC1C,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,KACxB,IAAI,CAAC;CACX,CAAC"}
|
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
import { McpServer } from "@modelcontextprotocol/
|
|
2
|
-
import
|
|
3
|
-
import { RequestHandlerExtra } from "@modelcontextprotocol/sdk/shared/protocol.js";
|
|
4
|
-
import { GetPromptResult, ServerNotification, ServerRequest } from "@modelcontextprotocol/sdk/types.js";
|
|
1
|
+
import { GetPromptResult, McpServer } from "@modelcontextprotocol/server";
|
|
2
|
+
import * as z from "zod";
|
|
5
3
|
import { CloudinaryEnvConfigCore } from "../core.js";
|
|
6
4
|
import { ConsoleLogger } from "./console-logger.js";
|
|
7
5
|
import { MCPScope } from "./scopes.js";
|
|
8
|
-
|
|
6
|
+
import { MCPServerContext } from "./shared.js";
|
|
7
|
+
export type PromptDefinition<Args extends undefined | z.ZodRawShape = undefined> = Args extends z.ZodRawShape ? {
|
|
9
8
|
name: string;
|
|
10
9
|
description?: string;
|
|
11
10
|
scopes?: MCPScope[];
|
|
12
11
|
args: Args;
|
|
13
|
-
prompt: (client: CloudinaryEnvConfigCore, args:
|
|
12
|
+
prompt: (client: CloudinaryEnvConfigCore, args: z.output<z.ZodObject<Args>>, extra: MCPServerContext) => GetPromptResult | Promise<GetPromptResult>;
|
|
14
13
|
} : {
|
|
15
14
|
name: string;
|
|
16
15
|
description?: string;
|
|
17
16
|
scopes?: MCPScope[];
|
|
18
17
|
args?: undefined;
|
|
19
|
-
prompt: (client: CloudinaryEnvConfigCore, extra:
|
|
18
|
+
prompt: (client: CloudinaryEnvConfigCore, extra: MCPServerContext) => GetPromptResult | Promise<GetPromptResult>;
|
|
20
19
|
};
|
|
21
20
|
export declare function formatResult(value: string): Promise<GetPromptResult>;
|
|
22
|
-
export declare function createRegisterPrompt(logger: ConsoleLogger, server: McpServer, getSDK: () => CloudinaryEnvConfigCore, allowedScopes: Set<MCPScope>): <A extends
|
|
21
|
+
export declare function createRegisterPrompt(logger: ConsoleLogger, server: McpServer, getSDK: () => CloudinaryEnvConfigCore, allowedScopes: Set<MCPScope>): <A extends z.ZodRawShape | undefined>(prompt: PromptDefinition<A>) => void;
|
|
23
22
|
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/mcp-server/prompts.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/mcp-server/prompts.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAEL,gBAAgB,EAEjB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,gBAAgB,CAC1B,IAAI,SAAS,SAAS,GAAG,CAAC,CAAC,WAAW,GAAG,SAAS,IAChD,IAAI,SAAS,CAAC,CAAC,WAAW,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,CACN,MAAM,EAAE,uBAAuB,EAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EACjC,KAAK,EAAE,gBAAgB,KACpB,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACjD,GACC;IACA,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,CACN,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,gBAAgB,KACpB,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACjD,CAAC;AAGJ,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAY1E;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,uBAAuB,EACrC,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,GAC3B,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,GAAG,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,CAsC5E"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
3
|
* @generated-id: 26f3d73cbf31
|
|
4
4
|
*/
|
|
5
|
+
import { mcpInputSchema, mcpServerContext, } from "./shared.js";
|
|
5
6
|
// Optional function to assist with formatting prompt results
|
|
6
7
|
export async function formatResult(value) {
|
|
7
8
|
return {
|
|
@@ -27,20 +28,19 @@ export function createRegisterPrompt(logger, server, getSDK, allowedScopes) {
|
|
|
27
28
|
return;
|
|
28
29
|
}
|
|
29
30
|
if (prompt.args) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
31
|
+
server.registerPrompt(prompt.name, {
|
|
32
|
+
...(prompt.description === undefined
|
|
33
|
+
? {}
|
|
34
|
+
: { description: prompt.description }),
|
|
35
|
+
argsSchema: { ...mcpInputSchema(prompt.args), shape: prompt.args },
|
|
36
|
+
}, async (args, ctx) => prompt.prompt(getSDK(), args, mcpServerContext(ctx)));
|
|
36
37
|
}
|
|
37
38
|
else {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
39
|
+
server.registerPrompt(prompt.name, {
|
|
40
|
+
...(prompt.description === undefined
|
|
41
|
+
? {}
|
|
42
|
+
: { description: prompt.description }),
|
|
43
|
+
}, async (ctx) => prompt.prompt(getSDK(), mcpServerContext(ctx)));
|
|
44
44
|
}
|
|
45
45
|
logger.debug("Registered prompt", { name: prompt.name });
|
|
46
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/mcp-server/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/mcp-server/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EACL,cAAc,EAEd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AA0BrB,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAa;IAC9C,OAAO;QACL,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,KAAK;iBACZ;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAqB,EACrB,MAAiB,EACjB,MAAqC,EACrC,aAA4B;IAE5B,OAAO,CACL,MAA2B,EACrB,EAAE;QACR,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QAED,IACE,aAAa,CAAC,IAAI,GAAG,CAAC;eACnB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACvD,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,CAAC,cAAc,CACnB,MAAM,CAAC,IAAI,EACX;gBACE,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;oBAClC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxC,UAAU,EAAE,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;aACnE,EACD,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAClB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CACvD,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE;gBACjC,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;oBAClC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;aACzC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC;AACJ,CAAC"}
|