Lo esencial#
https://mcp.bravo47.com/v5/mcp
Eso es todo lo que hace falta saber para conectarse desde cualquier cliente: una URL. Detalles que conviene tener a mano cuando un formulario los pide:
- Transporte: Streamable HTTP (el estándar actual de MCP). Cuando el cliente ofrece elegir, elegir HTTP / Streamable HTTP, no SSE.
- Autenticación: ninguna. Si el formulario lo pregunta, elegir No authentication / None y dejar vacíos los campos de OAuth, token o API key. Son datos públicos oficiales, de solo lectura.
- Límite: 120 requests por minuto por IP.
- Nombre sugerido:
argleg(oup_law_argleg). Algunos clientes no aceptan espacios en el nombre. - Versiones: la v5.0 incluye todo el corpus. Las versiones anteriores (
/v4/mcp,/v3/mcp,/v2/mcpy/mcp) siguen disponibles y se pueden conectar en paralelo como conectores separados, con otro nombre cada una. - Qué expone: 31 tools y 3 prompts MCP (referencia). No todos los clientes consumen prompts; los tools alcanzan para todo el uso corriente.
El servidor es MCP estándar: cualquier cliente compatible con servidores remotos por Streamable HTTP puede conectarse, esté o no en esta lista. Si el cliente solo admite servidores locales (stdio), el puente mcp-remote — npx -y mcp-remote https://mcp.bravo47.com/v5/mcp — lo expone como uno local; hoy casi ningún cliente lo necesita.
Claude#
claude.ai y Claude Desktop
Disponible en los planes Free, Pro, Max, Team y Enterprise (el plan Free admite un solo conector personalizado). Settings → Connectors (también accesible en claude.ai/customize/connectors) → Add custom connector → pegar la URL → Add. No completar los campos de Advanced settings (OAuth): no se usan. Para usarlo en una conversación, el botón + del compositor → Connectors → habilitarlo. En los planes Team y Enterprise solo los Owners pueden agregar conectores personalizados (Organization settings → Connectors → Add); después cada miembro lo activa en su propia configuración.
Claude se conecta al servidor desde la infraestructura de Anthropic, no desde la computadora del usuario — también en Claude Desktop. Un conector agregado en claude.ai aparece automáticamente en Claude Code cuando la sesión está iniciada con la misma cuenta.
Claude Code
claude mcp add --transport http argleg https://mcp.bravo47.com/v5/mcp
# disponible en todos los proyectos del usuario
claude mcp add --transport http --scope user argleg https://mcp.bravo47.com/v5/mcp
# compartido con el equipo (escribe .mcp.json en la raíz del repositorio)
claude mcp add --transport http --scope project argleg https://mcp.bravo47.com/v5/mcp
Equivalente en .mcp.json (el campo "type": "http" es obligatorio: una entrada con url y sin type se descarta):
{
"mcpServers": {
"argleg": { "type": "http", "url": "https://mcp.bravo47.com/v5/mcp" }
}
}
Verificar con claude mcp list o con /mcp dentro de la sesión. Los servidores definidos en un .mcp.json de proyecto piden aprobación interactiva la primera vez.
Claude API (Messages API)
Conector MCP en beta: el servidor va en el parámetro mcp_servers y se habilita con un mcp_toolset en tools, con el header anthropic-beta: mcp-client-2025-11-20. Solo se consumen tools (no prompts). Disponible en la Claude API y en Claude Platform on AWS; no en Amazon Bedrock ni en Google Cloud Vertex AI.
curl https://api.anthropic.com/v1/messages \
-H "Content-Type: application/json" \
-H "X-API-Key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: mcp-client-2025-11-20" \
-d '{
"model": "claude-opus-5",
"max_tokens": 2000,
"messages": [{"role": "user", "content": "¿Qué dice el art. 14 bis de la Constitución Nacional?"}],
"mcp_servers": [
{ "type": "url", "url": "https://mcp.bravo47.com/v5/mcp", "name": "argleg" }
],
"tools": [
{ "type": "mcp_toolset", "mcp_server_name": "argleg" }
]
}'
El campo authorization_token se omite. Para acotar los tools expuestos al modelo se usa configs dentro del toolset; para sets grandes, defer_loading junto con el tool search tool.
Claude Desktop con configuración manual
Solo hace falta si se prefiere no usar conectores: el archivo claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/; Windows: %APPDATA%\Claude\) describe servidores locales, así que el remoto se expone a través del puente mcp-remote (requiere Node.js). Para conectar varias versiones en paralelo, una entrada por versión:
{
"mcpServers": {
"up_law_argleg_v5": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.bravo47.com/v5/mcp"]
},
"up_law_argleg_v4": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.bravo47.com/v4/mcp"]
}
}
}
ChatGPT y OpenAI#
ChatGPT
Los servidores MCP personalizados se agregan desde el modo de desarrollador, solo en la versión web (no en las apps móviles). Planes: Plus, Pro, Business, Enterprise y Edu; el plan Free no lo incluye. En Business, Enterprise y Edu un administrador debe habilitar primero el permiso (Workspace Settings → Permissions & Roles → Connected Data → Developer mode / Create custom MCP connectors) y solo administradores u owners pueden publicarlo al resto del espacio de trabajo.
- Activar el modo de desarrollador: Settings → Security and login → Developer mode. En versiones anteriores de la interfaz el interruptor estuvo en Settings → Apps → Advanced settings (antes, Settings → Connectors → Advanced); si no aparece en una ruta, probar la otra.
- Crear el conector: en Plugins (el directorio de apps de ChatGPT, antes «Connectors» y luego «Apps») → + → crear una app en modo desarrollador para un servidor MCP remoto → pegar la URL → autenticación No authentication → Scan tools → Create. Queda listada en Drafts.
- En una conversación: botón + del compositor → Developer mode → seleccionar el conector.
La documentación de OpenAI es inconsistente sobre los planes Plus y Pro: la guía para desarrolladores los incluye; el centro de ayuda reserva el «MCP completo» (con acciones de escritura) a Business, Enterprise y Edu. Como todos los tools de este servidor son de lectura, debería funcionar en Plus y Pro, pero no pudimos confirmarlo con una cuenta de esos planes. El modo Deep Research exige que el servidor exponga dos tools con nombre fijo (search y fetch) que este corpus no implementa: por ahora el corpus se usa en el chat normal con el modo de desarrollador.
Codex CLI
codex mcp add argleg --url https://mcp.bravo47.com/v5/mcp
codex mcp list
Equivalente en ~/.codex/config.toml:
[mcp_servers.argleg]
url = "https://mcp.bravo47.com/v5/mcp"
# tool_timeout_sec = 120 # el valor por defecto (60 s) alcanza; subirlo si una búsqueda híbrida se corta
Sin credenciales configuradas, Codex se conecta sin autenticación. Dentro del TUI, /mcp muestra los servidores activos.
Responses API
Tool de tipo mcp, sin header beta. Por defecto cada llamada a un tool pide aprobación (mcp_approval_request); como el servidor es de solo lectura, conviene "require_approval": "never". La API lista los tools en cada request y las definiciones cuentan como tokens de entrada: con 31 tools, allowed_tools permite recortar a los necesarios.
curl https://api.openai.com/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-5.6",
"tools": [{
"type": "mcp",
"server_label": "argleg",
"server_description": "Corpus legal argentino: InfoLEG, CSJN, SCBA, tratados, boletines oficiales.",
"server_url": "https://mcp.bravo47.com/v5/mcp",
"require_approval": "never"
}],
"input": "¿Qué dice el art. 14 bis de la Constitución Nacional?"
}'
Google#
Gemini CLI
gemini mcp add --transport http -s user argleg https://mcp.bravo47.com/v5/mcp
Equivalente en ~/.gemini/settings.json (usuario) o .gemini/settings.json (proyecto). La clave es httpUrl: con url intenta SSE y falla.
{
"mcpServers": {
"argleg": { "httpUrl": "https://mcp.bravo47.com/v5/mcp", "timeout": 30000 }
}
}
Cada llamada a un tool pide confirmación; "trust": true en la entrada lo evita. Funciona con una cuenta de Google gratuita. Verificar con gemini mcp list o /mcp.
Google Antigravity
Configuración global en ~/.gemini/config/mcp_config.json o por workspace en .agents/mcp_config.json; desde la interfaz, panel del agente → MCP Servers → Manage MCP Servers (en Antigravity 2.0: Settings → Customizations → Installed MCP Servers → Add MCP). La clave es serverUrl (url y httpUrl no están soportados).
{
"mcpServers": {
"argleg": { "serverUrl": "https://mcp.bravo47.com/v5/mcp" }
}
}
Gemini Code Assist (VS Code y JetBrains)
El modo agente lee el mismo ~/.gemini/settings.json que Gemini CLI; no hay interfaz, se edita el archivo y se recarga la ventana (Developer: Reload Window). La documentación oficial solo muestra servidores remotos a través del puente mcp-remote; la entrada con httpUrl de Gemini CLI debería funcionar igual, pero no está documentada.
App de Gemini (gemini.google.com)
El chat común de Gemini no admite servidores MCP propios. Sí lo hace el modo agéntico Gemini Spark («Custom apps for Spark»: Settings & help → Connected Apps → Add a custom app → URL del servidor MCP), con requisitos estrictos al día de hoy: cuenta personal (no Workspace), usuario ubicado en Estados Unidos, interfaz en inglés. El flujo está diseñado alrededor de OAuth; no pudimos verificar que acepte un servidor sin autenticación.
Gemini Enterprise
Solo lo agrega un administrador, como fuente de datos: consola de Google Cloud → Gemini Enterprise → Data stores → Create data store → Custom MCP Server → URL del servidor → autenticación No authentication. Solo Streamable HTTP (el transporte SSE no está soportado). Las acciones vienen deshabilitadas y se habilitan desde Actions → Reload custom actions. Los usuarios finales no pueden agregar servidores por su cuenta.
Microsoft y GitHub#
GitHub Copilot en VS Code
Cualquier plan de Copilot, VS Code 1.99 o posterior. En Copilot Business y Enterprise la política MCP servers in Copilot viene desactivada y la habilita el administrador. Paleta de comandos → MCP: Add Server → HTTP → URL, o editar .vscode/mcp.json (workspace) / MCP: Open User Configuration (usuario). La clave de primer nivel es servers, no mcpServers:
{
"servers": {
"argleg": { "type": "http", "url": "https://mcp.bravo47.com/v5/mcp" }
}
}
Al primer arranque pide confirmar la confianza en el servidor. Los tools se usan desde el modo Agent del chat.
GitHub Copilot CLI
copilot mcp add --transport http argleg https://mcp.bravo47.com/v5/mcp
Archivo ~/.copilot/mcp-config.json (o .mcp.json en el repositorio), con type, url y el campo obligatorio tools:
{
"mcpServers": {
"argleg": { "type": "http", "url": "https://mcp.bravo47.com/v5/mcp", "tools": ["*"] }
}
}
GitHub Copilot cloud agent (ex coding agent) y code review
Lo configura un administrador del repositorio: Settings → Copilot → MCP servers → MCP configuration, con el mismo formato que el CLI (type, url, tools). Los tools corren sin aprobación por llamada; GitHub recomienda listar los tools permitidos en vez de "*". La misma configuración la usa Copilot code review.
Copilot en Visual Studio, JetBrains, Xcode y Eclipse
Mismo formato servers + url. Visual Studio 2022 17.14+: GitHub Copilot Chat → Agent → Tools → + → Add custom MCP server (archivos %USERPROFILE%\.mcp.json o <solución>\.mcp.json; los tools vienen deshabilitados y se activan a mano). JetBrains: chat de Copilot → Agent mode → icono de tools → Add MCP Tools. Xcode y Eclipse: desde la configuración del plugin de Copilot.
Microsoft Copilot Studio
En el agente: Tools → Add a tool → New tool → Model Context Protocol → nombre, descripción y URL del servidor → autenticación None → Create → Create a new connection → Add to agent. Requiere orquestación generativa activada y solo Streamable HTTP (SSE dejó de soportarse en 2025). El asistente crea por debajo un conector personalizado de Power Platform: si las políticas DLP del tenant bloquean conectores personalizados, bloquean también este.
Microsoft 365 Copilot
Un usuario final no puede pegar una URL MCP en Agent Builder. El servidor se incorpora como plugin MCP de un agente declarativo construido con Microsoft 365 Agents Toolkit en VS Code (Create a New Agent/App → Declarative Agent → Add an Action → Start with an MCP Server → URL → autenticación None), que después se aprovisiona y, para distribuirlo a la organización, se publica desde el centro de administración. Microsoft indica que el acceso anónimo está pensado para desarrollo y pruebas.
Editores e IDEs#
Cursor
~/.cursor/mcp.json (global) o .cursor/mcp.json (proyecto); una entrada con url se trata como servidor remoto, sin campo de tipo. Desde la interfaz: Customize en la barra lateral → MCP.
{
"mcpServers": {
"argleg": { "url": "https://mcp.bravo47.com/v5/mcp" }
}
}
Cursor aplicó históricamente un tope de 40 tools activos en total; los 31 de la v5.0 entran solos, pero combinados con otros servidores grandes pueden desbordarlo. Los errores de conexión se ven en Output → MCP Logs.
Devin Desktop (ex Windsurf)
Windsurf pasó a llamarse Devin Desktop en junio de 2026 y convive con dos agentes que usan archivos distintos. Devin Local (el predeterminado): ~/.config/devin/mcp_config.json (Windows: %APPDATA%\devin\mcp_config.json) o .devin/mcp_config.json por proyecto, o bien devin mcp add argleg https://mcp.bravo47.com/v5/mcp:
{
"mcpServers": {
"argleg": { "url": "https://mcp.bravo47.com/v5/mcp", "transport": "http" }
}
}
Cascade (el agente heredado de Windsurf, en retirada): ~/.codeium/windsurf/mcp_config.json con la clave serverUrl; desde la interfaz, icono MCPs del panel. Cascade limita a 100 tools en total.
Zed
Soporte nativo de servidores remotos. Settings → AI → MCP Servers → Add Server → Add Remote Server, o en settings.json bajo la clave context_servers:
{
"context_servers": {
"argleg": { "url": "https://mcp.bravo47.com/v5/mcp" }
}
}
Un punto verde junto al servidor indica que conectó. Zed inicia un flujo OAuth solo si el servidor responde 401; este servidor no lo hace.
JetBrains AI Assistant y Junie
Settings | Tools | AI Assistant | Model Context Protocol (MCP) → + → pegar el JSON (formato mcpServers + url, el mismo que Cursor; también hay un Import from Claude) → alcance global o de proyecto → Apply. Junie tiene su configuración separada en Settings | Tools | Junie | MCP Settings (~/.junie/mcp/mcp.json o .junie/mcp/mcp.json), con el mismo formato. La opción «Automatically enable new and changed MCP servers» viene desactivada: si no se habilita el servidor a mano, sus tools no aparecen.
Cline
Panel de Cline → MCP Servers → Remote Servers → nombre, URL y Transport Type: Streamable HTTP → Add Server. En el JSON (Configure → Configure MCP Servers) el tipo es streamableHttp y es obligatorio: si se omite, Cline intenta SSE y falla.
{
"mcpServers": {
"argleg": { "type": "streamableHttp", "url": "https://mcp.bravo47.com/v5/mcp", "disabled": false, "autoApprove": [] }
}
}
Zoo Code (ex Roo Code), Kilo Code y Continue
- Zoo Code — Roo Code cerró en mayo de 2026 y su sucesor conserva el formato: icono MCP → Edit Global MCP o Edit Project MCP (
.roo/mcp.json), con"type": "streamable-http"obligatorio yurl. - Kilo Code — el producto nuevo (la extensión anterior llegó a su fin de vida en julio de 2026) usa Settings → MCP → Add Server → Remote (HTTP), o
kilo.jsonccon la clave de primer nivelmcpy"type": "remote". - Continue — en modo de mantenimiento desde su versión 2.0; en
~/.continue/config.yaml:mcpServers: [{ name: argleg, type: streamable-http, url: https://mcp.bravo47.com/v5/mcp }]. Solo disponible en el modo agente.
Otros asistentes#
- Mistral Le Chat — disponible desde el plan gratuito. Intelligence → Connectors → Add Connector → Custom MCP Connector → nombre (sin espacios), URL y descripción → Connect, con la opción No authentication. Después se activa en el menú de tools de cada conversación. En Team y Enterprise lo agrega un administrador.
- Perplexity — planes Pro, Max y Enterprise. Settings → Connectors → Custom connector → Remote → nombre, URL, autenticación None, transporte Streamable HTTP → aceptar el aviso → Add. Funciona en el chat y en Perplexity Computer.
- xAI Grok — en
grok.com/connectors→ New Connector → Custom → URL (o, en el chat, + → Connectors → Add connector). Los planes que lo incluyen no están documentados oficialmente. En Grok Business y Enterprise lo gestiona el administrador desde la consola de xAI. - DeepSeek y Meta AI — al día de hoy no permiten agregar servidores MCP.
Clientes de escritorio y open source#
Todos admiten servidores remotos por Streamable HTTP sin puente. La mayoría exige un modelo con soporte de tool calling.
- LM Studio (0.3.17+) — barra lateral derecha → Program → Install → Edit mcp.json, con el formato de Cursor (
mcpServers+url). - Open WebUI (0.6.31+) — solo un administrador: Admin Settings → Integrations → + (Add Server) → tipo MCP (Streamable HTTP) → URL → autenticación None. Es el contenedor de Open WebUI el que tiene que alcanzar la URL; conviene fijar
WEBUI_SECRET_KEYpara que las conexiones sobrevivan a los reinicios. - LibreChat — en
librechat.yaml:mcpServers: { argleg: { type: streamable-http, url: https://mcp.bravo47.com/v5/mcp } }y reiniciar; o, si el administrador lo habilita, desde el panel MCP Settings de cada usuario. - Jan — Settings → MCP Servers → Add MCP Server → transporte HTTP → URL → activar.
- Goose (Block) — escritorio: Extensions → Add custom extension → Streamable HTTP → nombre y endpoint; CLI:
goose configure → Add Extension → Remote Extension (Streamable HTTP). Enconfig.yamlla clave esuri(nourl) y el tipostreamable_http. - Chatbox (1.14+, solo escritorio) — Settings → MCP → Add Server → tipo Remote (http/sse) → URL → Test → Save.
- Cherry Studio — Settings → MCP → Add → tipo Streamable HTTP → URL.
- AnythingLLM —
plugins/anythingllm_mcp_servers.jsoncon"type": "streamable"yurl; los tools se usan con@agent. - 5ire — Tools → New → Remote Server → URL.
- Msty Studio — Toolbox → Tools → Add New Tool → HTTP → URL (el plan gratuito limita la cantidad de tools MCP).
- Ollama — la app de Ollama no es un cliente MCP (el pedido sigue abierto). Se usa Ollama como modelo desde cualquiera de los clientes anteriores.
Tabla de referencia#
Lo que más confunde al pasar de un cliente a otro es el nombre de las claves del archivo de configuración. Resumen:
| Cliente | Clave de primer nivel | Campo de la URL | Campo de tipo |
|---|---|---|---|
| Claude Code | mcpServers | url | "type": "http" (obligatorio) |
Codex CLI (config.toml) | [mcp_servers.<nombre>] | url | — |
| Gemini CLI / Code Assist | mcpServers | httpUrl | — |
| Google Antigravity | mcpServers | serverUrl | — |
| VS Code Copilot, Visual Studio, JetBrains Copilot | servers | url | "type": "http" (VS Code) |
| Copilot CLI / cloud agent | mcpServers | url | "type": "http" + tools |
| Cursor, LM Studio, JetBrains AI Assistant, Junie | mcpServers | url | — |
| Devin Local | mcpServers | url | "transport": "http" |
| Windsurf Cascade | mcpServers | serverUrl | — |
| Zed | context_servers | url | — |
| Cline | mcpServers | url | "type": "streamableHttp" (obligatorio) |
| Zoo Code, Continue, LibreChat | mcpServers | url | streamable-http |
| Kilo Code | mcp | url | "type": "remote" |
| Goose | extensions | uri | streamable_http |
| AnythingLLM | mcpServers | url | "type": "streamable" |
Problemas frecuentes#
- «No conecta» en un cliente de escritorio o IDE. Casi siempre es el campo de tipo o de URL: el cliente interpretó la entrada como servidor local o como SSE. Cotejar con la tabla de arriba.
- Pide OAuth o un token. Dejar los campos vacíos o elegir No authentication. El servidor no responde 401, así que ningún cliente debería iniciar un flujo de autorización.
- Los tools no aparecen. Varios clientes (JetBrains, Visual Studio, Gemini Enterprise) crean el servidor con sus tools deshabilitados; hay que activarlos. En otros (Continue, AnythingLLM, Cursor) solo están disponibles en el modo agente.
- Demasiados tools. Los clientes con tope (Cursor, Cascade) o los que cobran por tokens de definición (Responses API) se benefician de una lista de tools permitidos. Para investigación corriente alcanzan
buscar_normas,obtener_norma,leer_articulos,buscar_fallos,leer_fallo,verificar_citayvigencia. - El cliente pide confirmación en cada llamada. Es el comportamiento por defecto de varios (Gemini CLI, Jan, Responses API, ChatGPT con tools sin marca de solo lectura). Cada uno tiene su opción para confiar en el servidor; todos los tools del corpus son de lectura.
- Error 429. Se superó el límite de 120 requests por minuto por IP; en redes compartidas puede alcanzarse entre varios usuarios.
- Quiero reproducir un resultado de una versión anterior. Conectar además la versión correspondiente (lista) con otro nombre; el tool
versionde cada canal declara qué está sirviendo.
Las rutas de menú y los formatos de archivo cambian con frecuencia; si alguna instrucción quedó desactualizada, avisanos.