Compatibilidad de aplicaciones de MCP con AG-UI

Nota:

La documentación de compatibilidad de aplicaciones de MCP para la integración de .NET AG-UI estará disponible próximamente.

Los puntos de conexión de Python AG-UI de Agent Framework son compatibles con la característica MCP Apps del ecosistema de AG-UI. Las aplicaciones de MCP permiten a las aplicaciones de front-end insertar herramientas y recursos basados en MCP junto con el agente de AG-UI, sin cambios necesarios en el lado Python.

Architecture

El TypeScript MCPAppsMiddleware de CopilotKit proporciona compatibilidad con aplicaciones MCP (@ag-ui/mcp-apps-middleware), que se encuentra entre el front-end y el back-end de Agent Framework:

┌─────────────────────────┐
│  Frontend               │
│  (CopilotKit / AG-UI)   │
└────────┬────────────────┘
         │
         ▼
┌─────────────────────────┐
│  CopilotKit Runtime /   │
│  Node.js Proxy          │
│  + MCPAppsMiddleware    │
└────────┬────────────────┘
         │ AG-UI protocol
         ▼
┌─────────────────────────┐
│  Agent Framework        │
│  FastAPI AG-UI Endpoint │
└─────────────────────────┘

La capa de middleware se encarga del descubrimiento de herramientas MCP, las solicitudes de recursos proxy mediante iframe y la resolución de ui/resourceUri. Tu punto de conexión de AG-UI en Python recibe solicitudes estándar de AG-UI y no tiene conocimiento de la capa de aplicaciones MCP.

No se requieren cambios en la parte de Python

La integración de aplicaciones MCP se controla completamente mediante el middleware de TypeScript. La configuración existente add_agent_framework_fastapi_endpoint() funciona tal como está.

from agent_framework import Agent
from agent_framework.ag_ui import add_agent_framework_fastapi_endpoint
from fastapi import FastAPI

app = FastAPI()
agent = Agent(name="my-agent", instructions="...", client=chat_client)

# This endpoint is MCP Apps-compatible with no additional configuration
add_agent_framework_fastapi_endpoint(app, agent, "/")

Este enfoque es coherente con el funcionamiento de las aplicaciones de MCP con todas las demás integraciones de AG-UI Python: la capa aplicaciones de MCP siempre está en el middleware de TypeScript, no en el back-end de Python.

Configuración del middleware

Para utilizar las aplicaciones MCP con tu backend de Agent Framework, configura un Integration Runtime de CopilotKit o un proxy de Node.js que incluya MCPAppsMiddleware y apunte a tu punto de conexión de Python:

// Example Node.js proxy configuration (TypeScript)
import { MCPAppsMiddleware } from "@ag-ui/mcp-apps-middleware";

const middleware = new MCPAppsMiddleware({
  agents: [
    {
      name: "my-agent",
      url: "http://localhost:8888/",  // Your MAF AG-UI endpoint
    },
  ],
  mcpApps: [
    // MCP app configurations
  ],
});

Para obtener instrucciones completas de configuración, consulte la documentación de CopilotKit MCP Apps y la documentación sobre los protocolos agénticos de AG-UI.

Lo que queda fuera del alcance

Lo siguiente no forma parte explícitamente de la integración de AG-UI con Python:

  • No Python MCPAppsMiddleware: el middleware de aplicaciones MCP solo se ejecuta en la capa de TypeScript.
  • No hay administración de FastAPI para las solicitudes de MCP con proxy de iframe: el proxy de recursos lo administra el middleware de Node.js.
  • No hay ui/resourceUridetección por parte de Python: la resolución de URI de recursos es responsabilidad del middleware.

Si su aplicación no necesita la capa de middleware de MCP Apps, su punto de conexión de AG-UI de Agent Framework funciona directamente con cualquier cliente compatible con AG-UI.

Pasos siguientes

Recursos adicionales

Nota:

La compatibilidad con go para esta característica estará disponible próximamente. Consulte el repositorio de Agent Framework Go para obtener el estado más reciente.