Universidad de Palermo
Facultad de Derecho · Palermo E-Law / Innovation Hub

Documentación · Conexión

Cómo conectar

El corpus se consume como un servidor MCP remoto, público y sin autenticación. Esta página reúne las instrucciones para cada cliente que admite conectores MCP: asistentes de chat, agentes de línea de comandos, editores, APIs y clientes de escritorio. Relevamiento verificado contra la documentación oficial de cada producto al 23/08/2026.

Elegí tu aplicación#

Los tres caminos más comunes, en pocos pasos. Si tu cliente no está acá, seguí con las secciones de más abajo: sirve cualquiera que admita servidores MCP remotos.

Claude (claude.ai y Claude Desktop)

  1. Abrí Settings → Connectors.
  2. Elegí Add custom connector.
  3. Pegá la dirección de abajo y tocá Add. Dejá vacíos los campos de Advanced settings: no se usan.
  4. En una conversación, abrí el botón + → Connectors y habilitá el conector.
https://mcp.bravo47.com/mcp

Primera consulta para probar:

Mostrame el texto literal del artículo 19 de la Constitución Nacional y verificá la cita.

Disponible en todos los planes (el gratuito admite un solo conector personalizado). En Team y Enterprise lo agrega primero un administrador. Claude Code, la API y más detalles →

ChatGPT (versión web)

  1. Activá el modo de desarrollador: Settings → Security and login → Developer mode.
  2. En Plugins, tocá + y creá una app para un servidor MCP remoto. Pegá la dirección de abajo, elegí No authentication, tocá Scan tools y luego Create.
  3. En una conversación, abrí el botón + → Developer mode y elegí el conector.
https://mcp.bravo47.com/mcp

Primera consulta para probar:

Mostrame el texto literal del artículo 19 de la Constitución Nacional y verificá la cita.

Requiere un plan de pago y solo funciona en la web, no en las apps móviles. En Plus y Pro todavía no lo pudimos confirmar con una cuenta propia. En Business, Enterprise y Edu lo habilita antes un administrador. Planes, Codex y límites →

Otros clientes: Claude Code, Codex, Gemini, Copilot, Cursor y más

Sirve cualquier cliente que admita servidores MCP remotos. Si el formulario lo pide: transporte Streamable HTTP, autenticación ninguna, nombre sugerido argleg.

https://mcp.bravo47.com/mcp

En línea de comandos:

claude mcp add --transport http argleg https://mcp.bravo47.com/mcp
codex mcp add argleg --url https://mcp.bravo47.com/mcp

Más abajo, las instrucciones de cada cliente: Google (Gemini CLI), Microsoft y GitHub (Copilot), editores e IDEs (Cursor, Zed, JetBrains), otros asistentes y clientes de escritorio.

Lo esencial#

https://mcp.bravo47.com/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 (o up_law_argleg). Algunos clientes no aceptan espacios en el nombre.
  • Versiones: https://mcp.bravo47.com/mcp es la única dirección y siempre sirve la última versión (hoy la v5.0, que incluye todo el corpus). Las direcciones numeradas de las versiones anteriores (/v2/mcp a /v5/mcp) son alias de /mcp y responden lo mismo.
  • 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/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/mcp

# disponible en todos los proyectos del usuario
claude mcp add --transport http --scope user argleg https://mcp.bravo47.com/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/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/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/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). Una sola entrada:

{
  "mcpServers": {
    "argleg": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.bravo47.com/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.

  1. 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.
  2. 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.
  3. 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/mcp
codex mcp list

Equivalente en ~/.codex/config.toml:

[mcp_servers.argleg]
url = "https://mcp.bravo47.com/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/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/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/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/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/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/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/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/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/mcp:

{
  "mcpServers": {
    "argleg": { "url": "https://mcp.bravo47.com/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/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/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 y url.
  • 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.jsonc con la clave de primer nivel mcp y "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/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_KEY para que las conexiones sobrevivan a los reinicios.
  • LibreChat — en librechat.yaml: mcpServers: { argleg: { type: streamable-http, url: https://mcp.bravo47.com/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). En config.yaml la clave es uri (no url) y el tipo streamable_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.json con "type": "streamable" y url; 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:

ClienteClave de primer nivelCampo de la URLCampo de tipo
Claude CodemcpServersurl"type": "http" (obligatorio)
Codex CLI (config.toml)[mcp_servers.<nombre>]url—
Gemini CLI / Code AssistmcpServershttpUrl—
Google AntigravitymcpServersserverUrl—
VS Code Copilot, Visual Studio, JetBrains Copilotserversurl"type": "http" (VS Code)
Copilot CLI / cloud agentmcpServersurl"type": "http" + tools
Cursor, LM Studio, JetBrains AI Assistant, JuniemcpServersurl—
Devin LocalmcpServersurl"transport": "http"
Windsurf CascademcpServersserverUrl—
Zedcontext_serversurl—
ClinemcpServersurl"type": "streamableHttp" (obligatorio)
Zoo Code, Continue, LibreChatmcpServersurlstreamable-http
Kilo Codemcpurl"type": "remote"
Gooseextensionsuristreamable_http
AnythingLLMmcpServersurl"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_cita y vigencia.
  • 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 version de 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.