Skip to content

Commit bfefda5

Browse files
committed
feat: switch MCP servers to remote OAuth URLs
1 parent 1b09b99 commit bfefda5

1 file changed

Lines changed: 7 additions & 90 deletions

File tree

src/commands/configureAiTools.ts

Lines changed: 7 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@ type McpServerDef = {
88
label: string;
99
description: string;
1010
key: string;
11-
/** Config entry for Cursor / windsurf / antigravity / Claude (mcpServers format) */
12-
cursorConfig: Record<string, unknown>;
13-
/** Config entry for VS Code (servers format, "servers" root key) */
14-
vscodeConfig: Record<string, unknown>;
11+
config: Record<string, unknown>; // same for all editors; root key differs by editor
1512
};
1613

1714
type SkillInfo = {
@@ -314,111 +311,31 @@ const MCP_SERVERS: McpServerDef[] = [
314311
label: "Cloudinary Asset Management",
315312
description: "Browse, upload, and manage media assets",
316313
key: "cloudinary-asset-mgmt",
317-
cursorConfig: {
318-
command: "npx",
319-
args: ["-y", "@cloudinary/asset-management", "mcp", "start"],
320-
env: {
321-
CLOUDINARY_CLOUD_NAME: "your_cloud_name",
322-
CLOUDINARY_API_KEY: "your_api_key",
323-
CLOUDINARY_API_SECRET: "your_api_secret",
324-
},
325-
},
326-
vscodeConfig: {
327-
type: "stdio",
328-
command: "npx",
329-
args: ["-y", "@cloudinary/asset-management", "mcp", "start"],
330-
env: {
331-
CLOUDINARY_CLOUD_NAME: "${env:CLOUDINARY_CLOUD_NAME}",
332-
CLOUDINARY_API_KEY: "${env:CLOUDINARY_API_KEY}",
333-
CLOUDINARY_API_SECRET: "${env:CLOUDINARY_API_SECRET}",
334-
},
335-
},
314+
config: { url: "https://asset-management.mcp.cloudinary.com/mcp" },
336315
},
337316
{
338317
label: "Cloudinary Environment Config",
339318
description: "Configure upload presets, transformations, and settings",
340319
key: "cloudinary-env-config",
341-
cursorConfig: {
342-
command: "npx",
343-
args: ["-y", "@cloudinary/environment-config", "mcp", "start"],
344-
env: {
345-
CLOUDINARY_CLOUD_NAME: "your_cloud_name",
346-
CLOUDINARY_API_KEY: "your_api_key",
347-
CLOUDINARY_API_SECRET: "your_api_secret",
348-
},
349-
},
350-
vscodeConfig: {
351-
type: "stdio",
352-
command: "npx",
353-
args: ["-y", "@cloudinary/environment-config", "mcp", "start"],
354-
env: {
355-
CLOUDINARY_CLOUD_NAME: "${env:CLOUDINARY_CLOUD_NAME}",
356-
CLOUDINARY_API_KEY: "${env:CLOUDINARY_API_KEY}",
357-
CLOUDINARY_API_SECRET: "${env:CLOUDINARY_API_SECRET}",
358-
},
359-
},
320+
config: { url: "https://environment-config.mcp.cloudinary.com/mcp" },
360321
},
361322
{
362323
label: "Cloudinary Structured Metadata",
363324
description: "Manage structured metadata fields and values",
364325
key: "cloudinary-smd",
365-
cursorConfig: {
366-
command: "npx",
367-
args: ["-y", "@cloudinary/structured-metadata", "mcp", "start"],
368-
env: {
369-
CLOUDINARY_CLOUD_NAME: "your_cloud_name",
370-
CLOUDINARY_API_KEY: "your_api_key",
371-
CLOUDINARY_API_SECRET: "your_api_secret",
372-
},
373-
},
374-
vscodeConfig: {
375-
type: "stdio",
376-
command: "npx",
377-
args: ["-y", "@cloudinary/structured-metadata", "mcp", "start"],
378-
env: {
379-
CLOUDINARY_CLOUD_NAME: "${env:CLOUDINARY_CLOUD_NAME}",
380-
CLOUDINARY_API_KEY: "${env:CLOUDINARY_API_KEY}",
381-
CLOUDINARY_API_SECRET: "${env:CLOUDINARY_API_SECRET}",
382-
},
383-
},
326+
config: { url: "https://structured-metadata.mcp.cloudinary.com/mcp" },
384327
},
385328
{
386329
label: "Cloudinary Analysis",
387330
description: "AI-powered image and video analysis",
388331
key: "cloudinary-analysis",
389-
cursorConfig: {
390-
command: "npx",
391-
args: ["-y", "@cloudinary/analysis", "mcp", "start"],
392-
env: {
393-
CLOUDINARY_CLOUD_NAME: "your_cloud_name",
394-
CLOUDINARY_API_KEY: "your_api_key",
395-
CLOUDINARY_API_SECRET: "your_api_secret",
396-
},
397-
},
398-
vscodeConfig: {
399-
type: "stdio",
400-
command: "npx",
401-
args: ["-y", "@cloudinary/analysis", "mcp", "start"],
402-
env: {
403-
CLOUDINARY_CLOUD_NAME: "${env:CLOUDINARY_CLOUD_NAME}",
404-
CLOUDINARY_API_KEY: "${env:CLOUDINARY_API_KEY}",
405-
CLOUDINARY_API_SECRET: "${env:CLOUDINARY_API_SECRET}",
406-
},
407-
},
332+
config: { url: "https://analysis.mcp.cloudinary.com/sse" },
408333
},
409334
{
410335
label: "MediaFlows",
411336
description: "AI-powered media workflows and automation",
412337
key: "mediaflows",
413-
cursorConfig: {
414-
url: "https://mediaflows.mcp.cloudinary.com/v2/mcp",
415-
headers: {
416-
"cld-cloud-name": "your_cloud_name",
417-
"cld-api-key": "your_api_key",
418-
"cld-secret": "your_api_secret",
419-
},
420-
},
421-
vscodeConfig: {
338+
config: {
422339
url: "https://mediaflows.mcp.cloudinary.com/v2/mcp",
423340
headers: {
424341
"cld-cloud-name": "your_cloud_name",
@@ -466,7 +383,7 @@ async function createMcpConfig(
466383
const servers = config[rootKey] as Record<string, unknown>;
467384

468385
for (const def of selectedDefs) {
469-
servers[def.key] = isVscode ? def.vscodeConfig : def.cursorConfig;
386+
servers[def.key] = def.config;
470387
}
471388

472389
await ensureDir(vscode.Uri.joinPath(mcpUri, ".."));

0 commit comments

Comments
 (0)