<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Agent Client Protocol (ACP) - Marc Nuri - Blogging about business and technology</title>
        <link>https://blog.marcnuri.com/tag/acp-es</link>
        <description>Blogging about business and technology</description>
        <lastBuildDate>Thu, 23 Apr 2026 10:58:15 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>www.marcnuri.com</generator>
        <language>es-ES</language>
        <atom:link href="https://blog.marcnuri.com/tag/acp-es/feed.atom.xml" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Agent Client Protocol (ACP): El LSP para Agentes de Codificación con IA]]></title>
            <link>https://blog.marcnuri.com/agent-client-protocol-acp-introduccion</link>
            <guid isPermaLink="false">https://blog.marcnuri.com/agent-client-protocol-acp-introduccion</guid>
            <pubDate>Wed, 10 Sep 2025 06:00:00 GMT</pubDate>
            <description><![CDATA[Agent Client Protocol (ACP) es el LSP para los agentes de codificación con IA: un estándar abierto para ejecutar cualquier agente en cualquier editor.]]></description>
            <content:encoded><![CDATA[
    <div><a href="https://blog.marcnuri.com/agent-client-protocol-acp-introduccion">Original post</a></div>
    <h2 class="heading"><a href="https://blog.marcnuri.com/agent-client-protocol-acp-introduccion#introduction" aria-label="introduction permalink" class="anchor"><i class="anchor__link fa-solid fa-link"></i></a><span id="introduction"></span>Introducción</h2>
<p>El <strong><a class="tag-link " title="Agent Client Protocol (ACP)" aria-label="Agent Client Protocol (ACP)" href="/tag/acp-es">Agent Client Protocol (ACP)</a></strong> es un estándar abierto basado en JSON-RPC para conectar editores de código con <a class="tag-link " title="AI Agent" aria-label="agentes de codificación con IA" href="/tag/ai-agent-es">agentes de codificación con IA</a>.
La analogía a la que solemos recurrir es <strong>Language Server Protocol (LSP)</strong>, y resulta útil: ACP pretende romper el antiguo acoplamiento 1:1 en el que cada editor necesitaba una integración a medida para cada agente.</p>
<p>Zed presentó ACP en agosto de 2025, y JetBrains se sumó poco después.
Eso convirtió rápidamente ACP, de un mecanismo de integración específico de Zed, en una capa de interoperabilidad más amplia para flujos de trabajo de codificación con agentes.</p>
<h2 class="heading"><a href="https://blog.marcnuri.com/agent-client-protocol-acp-introduccion#which-agent-client-protocol" aria-label="which-agent-client-protocol permalink" class="anchor"><i class="anchor__link fa-solid fa-link"></i></a><span id="which-agent-client-protocol"></span>¿Qué Agent Client Protocol?</h2>
<p>En los últimos dos años, tres protocolos distintos han utilizado el acrónimo <strong>ACP</strong>, y los resultados de búsqueda todavía los mezclan entre sí:</p>
<ul>
<li><strong>Agent Client Protocol</strong>: el protocolo editor-a-agente que cubre este artículo.</li>
<li><strong>Agent Communication Protocol</strong>: un protocolo de interoperabilidad agente-a-agente asociado a IBM Research / BeeAI.</li>
<li><strong>Agentic Commerce Protocol</strong>: un protocolo comercial de OpenAI y Stripe para flujos de pago impulsados por IA.</li>
</ul>
<p>En este artículo, <strong>ACP</strong> siempre se refiere al <strong>Agent Client Protocol</strong>.</p>
<h2 class="heading"><a href="https://blog.marcnuri.com/agent-client-protocol-acp-introduccion#what-is-the-agent-client-protocol" aria-label="what-is-the-agent-client-protocol permalink" class="anchor"><i class="anchor__link fa-solid fa-link"></i></a><span id="what-is-the-agent-client-protocol"></span>¿Qué es el Agent Client Protocol?</h2>
<p>El Agent Client Protocol es un estándar abierto basado en JSON-RPC que desacopla los editores de código de los agentes de codificación con IA que los controlan.
De la <a href="https://github.com/agentclientprotocol/agent-client-protocol" rel="noopener" title="Link to https://github.com/agentclientprotocol/agent-client-protocol" aria-label="especificación oficial" target="_blank">especificación oficial</a>:</p>
<blockquote>
<p><em>The Agent Client Protocol (ACP) standardizes communication between code editors (interactive programs for viewing and editing source code) and coding agents (programs that use generative AI to autonomously modify code).</em></p>
</blockquote>
<p>Dicho de forma sencilla: ACP es la forma en que tu editor controla al agente que hay detrás del panel de IA.
El editor renderiza el chat, los diffs y las peticiones de permisos; el agente ejecuta el bucle de inferencia, llama a las herramientas y edita los archivos.
ACP es el protocolo que ambos hablan a través de una frontera de subproceso.</p>
<h3 class="heading"><a href="https://blog.marcnuri.com/agent-client-protocol-acp-introduccion#acp-as-an-lsp-for-ai-agents" aria-label="acp-as-an-lsp-for-ai-agents permalink" class="anchor"><i class="anchor__link fa-solid fa-link"></i></a><span id="acp-as-an-lsp-for-ai-agents"></span>ACP como un LSP para Agentes de IA</h3>
<p>Zed planteó ACP desde el primer día con una analogía explícita con LSP:</p>
<blockquote>
<p><em>Just as the Language Server Protocol unbundled language intelligence from monolithic IDEs, the goal with the Agent Client Protocol is to enable you to switch between multiple agents without switching your editor.</em></p>
</blockquote>
<p>La historia de desacoplamiento se repite.
LSP permitió que un único editor se beneficiara de servidores de lenguaje escritos por cualquiera; ACP permite que un único editor se beneficie de agentes escritos por cualquiera.
Un estándar, N editores, M agentes — en lugar de N × M integraciones a medida.
Por eso ACP se describe a menudo como el LSP para los agentes de codificación con IA.</p>
<h2 class="heading"><a href="https://blog.marcnuri.com/agent-client-protocol-acp-introduccion#why-acp-matters" aria-label="why-acp-matters permalink" class="anchor"><i class="anchor__link fa-solid fa-link"></i></a><span id="why-acp-matters"></span>Por qué ACP es importante</h2>
<ul>
<li><strong>Portabilidad editor–agente</strong>: cambia entre Claude Code, Gemini CLI, Codex o Goose sin cambiar de editor.</li>
<li><strong>Menos vendor lock-in</strong>: adoptar un nuevo agente ya no obliga a migrar de editor, y viceversa.</li>
<li><strong>Superficie de UX compartida</strong>: el chat, los diffs y las peticiones de permisos viven en el editor en lugar de reimplementarse por cada agente.</li>
<li><strong>Abierto y multi-vendor</strong>: Zed, JetBrains y Google implementan directamente contra la especificación; Claude Code de Anthropic y Codex de OpenAI se integran mediante adaptadores.</li>
<li><strong>Encaje natural con MCP</strong>: ACP se encarga de la capa editor-a-agente, mientras que MCP se encarga de la capa agente-a-herramienta.</li>
</ul>
<h2 class="heading"><a href="https://blog.marcnuri.com/agent-client-protocol-acp-introduccion#how-acp-works" aria-label="how-acp-works permalink" class="anchor"><i class="anchor__link fa-solid fa-link"></i></a><span id="how-acp-works"></span>Cómo funciona el Agent Client Protocol</h2>
<p>La forma más sencilla de entender ACP hoy es como <strong>JSON-RPC 2.0 sobre stdio</strong> para la integración local mediante subprocesos.</p>
<p>El editor lanza al agente como un subproceso e intercambia con él mensajes del protocolo.
Esto le da al editor una forma estructurada de controlar al agente sin perder el control de la UX, los permisos y la mediación con el workspace.</p>
<p>Los transportes remotos se describen en la especificación y están en el roadmap, pero el stdio local sigue siendo el modelo mental más claro hoy.
Las sesiones se inicializan a través de <code>session/new</code>, que puede declarar los <code>mcpServers</code> a los que debe conectarse el agente — de modo que ACP y MCP se configuran en un mismo handshake.</p>
<span class="post-image__pusher "></span><figure class="post-image "><span class="post-image__scrim"></span><a href="/static/88cad145bf3c6949e81e1452846d861f/e54fd/acp-architecture.png" class="post-image__link" title="Arquitectura del Agent Client Protocol: editor de código como cliente ACP hablando con agente de codificación con IA como agente ACP sobre JSON-RPC stdio, con el agente conectándose a servidores MCP"><span class="post-image__image-container"><div data-gatsby-image-wrapper="" class="gatsby-image-wrapper gatsby-image-wrapper-constrained post-image__image "><picture><source type="image/webp" data-srcset="/static/88cad145bf3c6949e81e1452846d861f/29275/acp-architecture.webp 433w,/static/88cad145bf3c6949e81e1452846d861f/eccac/acp-architecture.webp 866w,/static/88cad145bf3c6949e81e1452846d861f/d1836/acp-architecture.webp 1731w" sizes="(min-width: 1731px) 1731px, 100vw"><img data-gatsby-image-ssr="" data-main-image="" style="opacity: 1;" sizes="(min-width: 1731px) 1731px, 100vw" decoding="async" loading="lazy" data-src="/static/88cad145bf3c6949e81e1452846d861f/e54fd/acp-architecture.png" data-srcset="/static/88cad145bf3c6949e81e1452846d861f/869fe/acp-architecture.png 433w,/static/88cad145bf3c6949e81e1452846d861f/6a6cf/acp-architecture.png 866w,/static/88cad145bf3c6949e81e1452846d861f/e54fd/acp-architecture.png 1731w" alt="Arquitectura del Agent Client Protocol: editor de código como cliente ACP hablando con agente de codificación con IA como agente ACP sobre JSON-RPC stdio, con el agente conectándose a servidores MCP" src="https://blog.marcnuri.com/static/88cad145bf3c6949e81e1452846d861f/e54fd/acp-architecture.png" srcset="https://blog.marcnuri.com/static/88cad145bf3c6949e81e1452846d861f/869fe/acp-architecture.png 433w,https://blog.marcnuri.com/static/88cad145bf3c6949e81e1452846d861f/6a6cf/acp-architecture.png 866w,https://blog.marcnuri.com/static/88cad145bf3c6949e81e1452846d861f/e54fd/acp-architecture.png 1731w"></picture><script type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t){e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script></div></span></a></figure>
<p>Un despliegue ACP tiene tres piezas en movimiento:</p>
<ul>
<li><strong>Cliente ACP</strong> — el editor de código. Controla la UI e inicia la conexión. Zed, JetBrains, Neovim y Emacs son todos clientes hoy en día.</li>
<li><strong>Agente ACP</strong> — la herramienta de codificación con IA. Ejecuta el bucle del LLM, realiza llamadas a herramientas y suele ser, a su vez, un cliente MCP.</li>
<li><strong>Servidores MCP</strong> — las herramientas y fuentes de datos a las que el agente recurre. ACP no los reemplaza.</li>
</ul>
<p>El trabajo se organiza en <strong>sesiones</strong> (una conversación con contexto compartido) y <strong>turnos</strong> (un ciclo prompt-respuesta dentro de una sesión).</p>
<div class="admonition admonition__important"><p class="admonition-title"><i class="admonition-title-icon fa-solid fa-exclamation-circle"></i>Importante</p><div class="admonition-content">
<p>La dirección está sutilmente invertida con respecto a MCP.
En MCP la aplicación de IA es el "host/client" y las herramientas son "servers".
En ACP el <em>editor</em> es el cliente y el agente de IA es el subproceso que el editor lanza.
Merece la pena señalarlo porque la terminología se repite pero los roles se invierten.</p>
</div></div>
<h2 class="heading"><a href="https://blog.marcnuri.com/agent-client-protocol-acp-introduccion#acp-vs-mcp" aria-label="acp-vs-mcp permalink" class="anchor"><i class="anchor__link fa-solid fa-link"></i></a><span id="acp-vs-mcp"></span>Agent Client Protocol vs MCP: Complementarios, no rivales</h2>
<p>ACP y <a class="post-link " title="Introducción a Model Context Protocol (MCP): El Futuro de la Integración de IA" href="/model-context-protocol-mcp-introduccion">MCP</a> resuelven problemas distintos en capas distintas:</p>
<table><thead><tr><th></th><th><strong>MCP</strong></th><th><strong>ACP</strong></th></tr></thead><tbody><tr><td><strong>Entre</strong></td><td>Agente ↔ herramientas</td><td>Editor ↔ agente</td></tr><tr><td><strong>Problema que resuelve</strong></td><td>¿Cómo invoca el agente las herramientas?</td><td>¿Cómo controla el editor al agente?</td></tr><tr><td><strong>Rol del cliente</strong></td><td>Aplicación de IA / host</td><td>Editor de código / IDE</td></tr><tr><td><strong>Rol del servidor o subproceso</strong></td><td>Proveedor de herramientas</td><td>Agente de codificación con IA</td></tr><tr><td><strong>Transporte</strong></td><td>Transportes basados en stdio / HTTP</td><td>stdio hoy, con trabajo en curso para transporte remoto</td></tr></tbody></table>
<p>Son complementarios, no rivales.</p>
<p>Una forma corta de recordarlo:</p>
<ul>
<li><strong>MCP</strong> le da al agente herramientas.</li>
<li><strong>ACP</strong> le da al agente un editor.</li>
</ul>
<h2 class="heading"><a href="https://blog.marcnuri.com/agent-client-protocol-acp-introduccion#the-acp-ecosystem" aria-label="the-acp-ecosystem permalink" class="anchor"><i class="anchor__link fa-solid fa-link"></i></a><span id="the-acp-ecosystem"></span>El ecosistema ACP</h2>
<p>El ecosistema de ACP ha avanzado rápido, pero la forma más segura de describirlo es por capas.</p>
<p>En el lado <strong>cliente</strong>:</p>
<ul>
<li><strong>Zed</strong> es la implementación de referencia del editor.</li>
<li><strong>Los IDEs de JetBrains</strong> añadieron soporte para ACP a finales de 2025.</li>
<li>Existen integraciones de la comunidad para editores como <strong>Neovim</strong>, <strong>Emacs</strong> y <strong>VS Code</strong>.</li>
</ul>
<p>En el lado <strong>agente</strong>:</p>
<ul>
<li><strong>Gemini CLI</strong> soporta ACP de forma nativa a través del flag <code>--acp</code>.</li>
<li><strong>Claude Code</strong> participa mediante el adaptador <code>claude-agent-acp</code>.</li>
<li><strong>Codex</strong> participa mediante el adaptador <code>codex-acp</code>.</li>
<li>El <strong>ACP Registry</strong> ofrece ahora una superficie de instalación curada para un conjunto creciente de agentes.</li>
</ul>
<p>Esa mezcla de <strong>implementaciones nativas más adaptadores</strong> es exactamente lo que cabría esperar de un ecosistema de protocolo joven pero en rápida maduración.</p>
<h2 class="heading"><a href="https://blog.marcnuri.com/agent-client-protocol-acp-introduccion#conclusion" aria-label="conclusion permalink" class="anchor"><i class="anchor__link fa-solid fa-link"></i></a><span id="conclusion"></span>Conclusión</h2>
<p>ACP está haciendo por las integraciones de agentes lo que LSP hizo por las herramientas de lenguaje: convertir integraciones a medida de cada editor en un contrato compartido.</p>
<p>El patrón ya resulta familiar, un estándar abierto, desarrollado de forma abierta, con clientes y agentes que se publican de forma independiente.
El <a href="https://zed.dev/blog/acp-registry" rel="noopener" title="Link to https://zed.dev/blog/acp-registry" aria-label="ACP Registry" target="_blank">ACP Registry</a> que se lanzó en enero de 2026 reduce aún más la fricción a la hora de descubrir y conectar nuevos agentes, y los transportes remotos están en el roadmap para llevar ACP más allá del modelo local de subproceso.</p>
<p>Si estás decidiendo dónde invertir como autor de extensiones de editor o como creador de agentes, ACP es la superficie sobre la que construir.
Para la capa inferior — cómo habla el propio agente con las herramientas — consulta el artículo complementario sobre el <a class="post-link " title="Introducción a Model Context Protocol (MCP): El Futuro de la Integración de IA" href="/model-context-protocol-mcp-introduccion">Model Context Protocol</a>.</p>
<h2 class="heading"><a href="https://blog.marcnuri.com/agent-client-protocol-acp-introduccion#references" aria-label="references permalink" class="anchor"><i class="anchor__link fa-solid fa-link"></i></a><span id="references"></span>Referencias</h2>
<ul>
<li><a href="https://agentclientprotocol.com" rel="noopener" title="Link to https://agentclientprotocol.com" aria-label="Agent Client Protocol — web oficial" target="_blank">Agent Client Protocol — web oficial</a></li>
<li><a href="https://github.com/agentclientprotocol/agent-client-protocol" rel="noopener" title="Link to https://github.com/agentclientprotocol/agent-client-protocol" aria-label="agentclientprotocol/agent-client-protocol en GitHub" target="_blank">agentclientprotocol/agent-client-protocol en GitHub</a></li>
<li><a href="https://zed.dev/blog/bring-your-own-agent-to-zed" rel="noopener" title="Link to https://zed.dev/blog/bring-your-own-agent-to-zed" aria-label="Bring Your Own Agent to Zed (Zed, 27 ago 2025)" target="_blank">Bring Your Own Agent to Zed (Zed, 27 ago 2025)</a></li>
<li><a href="https://zed.dev/blog/claude-code-via-acp" rel="noopener" title="Link to https://zed.dev/blog/claude-code-via-acp" aria-label="Claude Code via ACP (Zed, 3 sep 2025)" target="_blank">Claude Code via ACP (Zed, 3 sep 2025)</a></li>
<li><a href="https://blog.jetbrains.com/ai/2025/10/jetbrains-zed-open-interoperability-for-ai-coding-agents-in-your-ide/" rel="noopener" title="Link to https://blog.jetbrains.com/ai/2025/10/jetbrains-zed-open-interoperability-for-ai-coding-agents-in-your-ide/" aria-label="Interoperabilidad JetBrains × Zed (oct 2025)" target="_blank">Interoperabilidad JetBrains × Zed (oct 2025)</a></li>
<li><a href="https://blog.jetbrains.com/ai/2025/12/bring-your-own-ai-agent-to-jetbrains-ides/" rel="noopener" title="Link to https://blog.jetbrains.com/ai/2025/12/bring-your-own-ai-agent-to-jetbrains-ides/" aria-label="Bring your own AI agent to JetBrains IDEs (dic 2025)" target="_blank">Bring your own AI agent to JetBrains IDEs (dic 2025)</a></li>
<li><a href="https://zed.dev/blog/acp-registry" rel="noopener" title="Link to https://zed.dev/blog/acp-registry" aria-label="Lanzamiento del ACP Registry (Zed, ene 2026)" target="_blank">Lanzamiento del ACP Registry (Zed, ene 2026)</a></li>
</ul>
<h2 class="heading"><a href="https://blog.marcnuri.com/agent-client-protocol-acp-introduccion#you-might-also-like" aria-label="you-might-also-like permalink" class="anchor"><i class="anchor__link fa-solid fa-link"></i></a><span id="you-might-also-like"></span>Te Puede Interesar</h2>
<ul>
<li><a class="post-link " title="Introducción a Model Context Protocol (MCP): El Futuro de la Integración de IA" href="/model-context-protocol-mcp-introduccion">Introducción a Model Context Protocol (MCP)</a></li>
<li><a class="post-link " title="Otorgando Superpoderes a Small Language Models con Model Context Protocol (MCP)" href="/small-language-models-con-superpoderes-gracias-a-mcp">Otorgando Superpoderes a Small Language Models con Model Context Protocol (MCP)</a></li>
<li><a class="post-link " title="Introducción a Goose, el agente de IA en tu máquina" href="/goose-on-machine-ai-agent-cli-introduccion">Introducción a Goose, el agente de IA en tu máquina</a></li>
</ul>
  ]]></content:encoded>
            <category>Inteligencia Artificial</category>
            <enclosure url="https://blog.marcnuri.com/static/97fa8ef8f01bab1afbc6157cdc0f1258/818f3/agent-client-protocol-acp-introduction.jpg" length="0" type="image/jpg"/>
        </item>
    </channel>
</rss>