Getting Started
MCP Runtime (self-hosted)

MCP Runtime self-hosted

AgentPlat no opera un MCP central ni una plataforma compartida. @agentplat/mcp-runtime es un adaptador opcional que cada organización despliega junto a su propia instancia de AgentPlat para permitir que Claude Code, Codex, Cursor u otro cliente MCP opere sus Rooms y tareas con sus propias credenciales y políticas.

MCP client
   │ stdio or an application-owned transport
   ▼
@agentplat/mcp-runtime
   │ injected services and authorization
   ▼
Your AgentPlat RoomService + PostgreSQL/Redis + audit sink

Qué aporta

El adaptador expone tools para:

  • listar y consultar Rooms;
  • listar agentes/participantes;
  • crear tareas y enviar mensajes;
  • leer y crear artifacts;
  • solicitar approvals;
  • consultar eventos de auditoría del Room.

No proporciona identidad, almacenamiento, autorización ni un endpoint hospedado. El host debe inyectar:

  • el RoomService de su despliegue;
  • el principal autenticado (tenantId y actorId);
  • un McpRuntimeAuthorizer que limite acciones y Rooms;
  • un AuditSink;
  • un IdempotencyStore durable.

Instalación

pnpm add @agentplat/mcp-runtime

El servidor se crea dentro de la aplicación que ya compone AgentPlat:

import {
  createRuntimeMcpServer,
  InMemoryIdempotencyStore,
} from '@agentplat/mcp-runtime';
 
const mcpServer = createRuntimeMcpServer({
  service: roomService,
  principal: {
    tenantId: authenticatedTenantId,
    actorId: authenticatedActorId,
    actorType: 'human',
  },
  authorizer,
  audit: auditSink,
  // Use a PostgreSQL/Redis-backed implementation in production.
  idempotency: durableIdempotencyStore,
});

El transporte y el ciclo de vida del proceso pertenecen a la aplicación anfitriona. Para un cliente local puede conectarse mediante el transporte stdio del SDK MCP; para un entorno remoto, el host debe exponer el transporte MCP y su autenticación según su propia infraestructura.

Límites de seguridad

Las mutaciones (create_room, send_message, create_task, submit_artifact y request_approval) requieren confirm: true y una clave de idempotencia. El adaptador separa autorización de ejecución: crear el servidor no otorga permisos adicionales al actor.

No uses el InMemoryIdempotencyStore en producción ni el autenticador basado solamente en headers de desarrollo sobre una red no confiable. La organización que despliega AgentPlat sigue siendo responsable de identidad, autorización, secretos, persistencia, rate limiting y exposición de red.

Cuándo usarlo

Usa este adaptador cuando quieras que un agente opere una instancia AgentPlat que ya corre en tu infraestructura. Si solo necesitas que un agente lea la especificación y ejemplos, usa la documentación y el MCP read-only opcional @agentplat/mcp-docs.

Fuente: @agentplat/mcp-runtime (opens in a new tab).