Auditoría: botones de copiar configuraciones MCP (admin-web)¶
Auditoría botón a botón del componente de copiar configuraciones MCP en el admin-web, contrastado con la documentación oficial de cada IDE/cliente para añadir servidores MCP.
Fuentes: documentación oficial de cada producto (VS Code, Cursor, JetBrains, Windsurf, Visual Studio, Zed, Continue, Kilo Code, Codex, Trae, Neovim, Sublime) y especificación MCP.
Resumen ejecutivo¶
| Botón | Formato actual | Doc oficial | Estado |
|---|---|---|---|
| VS Code | servers + type http + url |
.vscode/mcp.json → servers, type http, url |
OK |
| TRAE | servers (objeto) |
mcpServers como array con name, url, type |
Corregido |
| Windsurf | mcpServers + serverUrl |
mcp_config.json → serverUrl para HTTP |
OK |
| Visual Studio | servers + type http + url |
.mcp.json → servers, url (opcional type) |
OK |
| JetBrains | mcpServers + url |
Settings → MCP → HTTP → mcpServers + url |
OK |
| Cursor | mcpServers + transport streamable-http + url |
mcp.json → url (opcional headers) |
OK |
| Kilo Code | Objeto raíz akashic-mcp |
mcpServers contenedor obligatorio |
Corregido |
| Codex | TOML [mcp_servers.x] type + url |
config.toml → url (Streamable HTTP) |
OK |
| Continue | mcpServers + type http |
YAML/JSON → type streamable-http recomendado |
Ajustado |
| Zed | mcpServers + transport + url |
context_servers + url (+ headers) |
Corregido |
| Neovim | mcp_servers (snake_case) + url + transport |
Depende del plugin (MCPHub, etc.) | Compatible |
| Sublime | mcp_servers + type + url |
MCPHelper: URL en preferencias, no JSON estándar | Compatible |
| MCP URL | URL cruda | N/A | OK |
1. VS Code¶
Doc: Use MCP servers in VS Code
Formato oficial:
- Archivo: .vscode/mcp.json o perfil de usuario.
- Sección: servers (objeto).
- HTTP: type: "http", url (opcional headers).
Ejemplo doc:
Salida actual (backend):
Conclusión: Correcto. Coincide con la documentación.
2. TRAE¶
Doc: Add MCP servers - TRAE, ejemplos en documentación y noticias v1.3.0.
Formato oficial:
- Archivos: ~/.cursor/mcp.json (global), .trae/mcp.json (proyecto).
- mcpServers es un array de objetos con name, url, type (para remotos).
Ejemplo doc (SSE):
Salida anterior (incorrecta): Mismo que VS Code (servers objeto).
Salida corregida:
Conclusión: Corregido para usar array y tipo http para Streamable HTTP.
3. Windsurf¶
Doc: Model Context Protocol - Windsurf, Connect Windsurf to an MCP Server.
Formato oficial:
- Archivo: mcp_config.json (por OS: ~/.codeium/windsurf/, %APPDATA%\Codeium\Windsurf\, etc.).
- Para HTTP remoto: mcpServers.<nombre>.serverUrl.
Ejemplo doc:
Salida actual:
Conclusión: Correcto.
4. Visual Studio¶
Doc: Use MCP servers - Visual Studio.
Formato oficial:
- Archivos: %USERPROFILE%\.mcp.json, <solution>\.vs\mcp.json, <solution>\.mcp.json.
- Sección: servers (objeto). HTTP: url (y opcionalmente type).
Ejemplo doc:
Salida actual: servers.akashic-mcp con type: "http" y url. Compatible con la especificación MCP y la doc.
Conclusión: Correcto.
5. JetBrains¶
Doc: Model Context Protocol (MCP) - JetBrains AI Assistant.
Formato oficial:
- Settings → Tools → AI Assistant → Model Context Protocol (MCP).
- HTTP: JSON con mcpServers.<nombre>.url.
Ejemplo doc (remoto):
Salida actual:
Conclusión: Correcto.
6. Cursor¶
Doc: Model Context Protocol (MCP) - Cursor.
Formato oficial:
- Archivos: .cursor/mcp.json, ~/.cursor/mcp.json.
- Remoto: mcpServers.<nombre> con url (opcional headers). Transport Streamable HTTP/SSE.
Ejemplo doc:
Salida actual (default):
Conclusión: Correcto. Incluir transport es coherente con la tabla de transportes de la doc; la doc también acepta solo url.
7. Kilo Code¶
Doc: Using MCP in Kilo Code.
Formato oficial:
- Archivos: mcp_settings.json (global), .kilocode/mcp.json (proyecto).
- Contenedor obligatorio: mcpServers (objeto). Streamable HTTP: type: "streamable-http", url, disabled, opcional headers.
Ejemplo doc:
{
"mcpServers": {
"remote-server": {
"type": "streamable-http",
"url": "https://your-server-url.com/mcp",
"headers": { "Authorization": "Bearer your-token" },
"alwaysAllow": ["tool3"],
"disabled": false
}
}
}
Salida anterior (incorrecta): Objeto raíz akashic-mcp sin mcpServers.
Salida corregida:
{
"mcpServers": {
"akashic-mcp": {
"type": "streamable-http",
"url": "<mcpUrl>",
"disabled": false
}
}
}
Conclusión: Corregido para envolver en mcpServers.
8. Codex¶
Doc: Sample Configuration - Codex, Config Reference.
Formato oficial:
- Archivo: ~/.codex/config.toml (o .codex/config.toml en proyecto).
- Sección: [mcp_servers.<nombre>]. Streamable HTTP: url, opcional bearer_token_env_var, http_headers.
Ejemplo doc (Streamable HTTP):
Salida actual:
Conclusión: Válido. Codex acepta url; type puede omitirse o usarse para claridad. La doc de ejemplo no muestra type para HTTP; se mantiene por compatibilidad con convenciones MCP.
9. Continue¶
Doc: How to Set Up Model Context Protocol (MCP) in Continue.
Formato oficial:
- Config en YAML o JSON en .continue/; también acepta JSON de Cursor/Claude en .continue/mcpServers/.
- Transport HTTP: tipo streamable-http (doc explícita).
Ejemplo doc:
Salida anterior: type: "http".
Salida ajustada: type: "streamable-http" para alineación con la doc (Continue acepta ambos en la práctica).
Conclusión: Ajustado a streamable-http según documentación.
10. Zed¶
Doc: Model Context Protocol - Zed.
Formato oficial:
- Config en settings.json (Zed).
- Clave: context_servers (no mcpServers). Remoto: objeto con url y opcional headers.
Ejemplo doc:
{
"context_servers": {
"remote-mcp-server": {
"url": "custom",
"headers": { "Authorization": "Bearer <<token>>" }
}
}
}
Salida anterior (incorrecta): mcpServers + transport + url.
Salida corregida:
(El token puede ir en la URL como query; si el usuario prefiere header, puede añadirlo manualmente.)
Conclusión: Corregido para usar context_servers y estructura esperada por Zed.
11. Neovim¶
Doc: Depende del plugin (MCPHub.nvim, nvim-mcp, etc.). Muchos aceptan formato tipo VS Code/Cursor (servers o mcpServers) o snake_case mcp_servers.
Salida actual: mcp_servers (snake_case) con url y transport: "http". Compatible con plugins que leen este formato.
Conclusión: Mantenido como compatible con convenciones habituales en clientes Neovim.
12. Sublime¶
Doc: MCPHelper (Package Control): configuración vía Preferences → Package Settings → MCPHelper (URL del servidor, timeouts, etc.), no un JSON estándar de lista de servidores.
Salida actual: Objeto mcp_servers con type y url. Útil como referencia o para otros plugins que lean JSON; no es el formato nativo de MCPHelper.
Conclusión: Dejado como formato genérico compatible con clientes que acepten JSON tipo MCP; en Sublime el usuario puede tener que adaptar la URL a la configuración de MCPHelper.
13. MCP URL¶
Comportamiento: Copia la URL cruda del endpoint MCP (autenticación por token) para uso manual.
Conclusión: Correcto.
Cambios realizados en el backend¶
Archivo: src/services/owner-id.service.ts (método buildMcpConfigByUrl).
- TRAE: De
servers(objeto) amcpServers(array) con elementos{ name, url, type: "http" }. - Kilo Code: De objeto raíz
akashic-mcpamcpServers.akashic-mcpcontype,url,disabled. - Zed: De
mcpServers+transportacontext_servers+url(sintransport). - Continue: Tipo de transporte de
"http"a"streamable-http"según documentación.