@@ -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
1714type 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