Plainrouter Sandbox

Prueba la cuenta publicitaria de Meta, la salud de las señales y las herramientas de rendimiento con datos sintéticos a través de un endpoint MCP público; no se requieren credenciales.

Servidor MCP alojado

npx add-mcp 'https://plainrouter.com/mcp/sandbox'

Se instala en Claude Code, Codex, Cursor y más

Documentación

Meta Ads MCP: conecta tu agente con Plainrouter

Conecta Claude Code al servidor MCP de Meta Ads de Plainrouter, lee la salud de las señales y envía propuestas creativas para aprobación en una cuenta de anuncios de Meta.

Conecta Claude Code a Plainrouter MCP, verifica una respuesta sintética y luego configura un token de ejecución de workspace para tu propia cuenta de anuncios de Meta. Una configuración de producción exitosa devuelve el workspace y la cuenta que seleccionaste al emitir el token.

Para tareas compatibles, requisitos del cliente y límites de aprobación, comienza con la introducción a MCP.

Verifica la conexión del cliente sin una cuenta o token de Plainrouter. Configura tu token de workspace y confirma la primera lectura de cuenta.

Elige tu endpoint de MCP

EndpointUsoCredencial
https://plainrouter.com/mcp/sandboxPrueba un cliente contra cuatro herramientas sintéticas.Ninguna
https://plainrouter.com/mcpLee una cuenta aprobada y envía propuestas gobernadas.Token de ejecución de workspace para llamadas a herramientas y datos de cuenta

Plainrouter MCP usa tokens de ejecución de workspace emitidos por un propietario o miembro actual. Las nuevas claves de workspace autorizan un workspace y un nivel de Lectura o Escritura. Las herramientas con ámbito de cuenta seleccionan una cuenta elegible dentro de ese workspace; las claves antiguas vinculadas a cuentas mantienen su restricción original.

Si estás decidiendo entre un secreto de workspace de Signals, un token de ejecución de workspace o una credencial de gestión OAuth, consulta Autenticación y clientes.

Advertencia

Las credenciales de gestión OAuth no pueden autenticarse en el servidor MCP. Solo pueden leer GET /api/v1/agent/context para el descubrimiento de cuentas. Usa un token de workspace para cada llamada a herramienta MCP.

Antes de comenzar

Para el sandbox, solo necesitas un cliente con soporte MCP HTTP remoto. Para producción, también necesitas:

  • Una cuenta de Plainrouter con acceso al workspace previsto.
  • Una conexión activa de cuenta de anuncios de Meta.
  • Un cliente compatible con MCP que pueda enviar un token bearer fijo a un servidor HTTP remoto.
  • Membresía actual del equipo con permiso para el nivel de clave que necesitas. Consulta los permisos de clave.
  • Una elección clara de la única cuenta publicitaria que el cliente debe usar.

Para lecturas de la biblioteca creativa, la conexión de Meta necesita ads_read o ads_management. La ejecución creativa gobernada necesita ads_management.

Comienza en modo de prueba

En una terminal con Claude Code instalado, agrega el servidor de prueba:

claude mcp add --transport http plainrouter-test https://plainrouter.com/mcp/sandbox

Abre Claude Code en el mismo directorio y ejecuta /mcp para verificar la conexión. No se requiere cuenta ni credencial de Plainrouter. Otros clientes MCP pueden usar la misma URL con transporte HTTP.

El endpoint expone:

  • get_account_state
  • get_signal_health
  • get_performance
  • validate_sandbox_event

Cada respuesta es sintética y lleva "sandbox": true. El modo de prueba no lee datos de tenant, no persiste nada y no contacta a ningún proveedor publicitario. No expone ninguna herramienta de propuesta, escritura, aprobación, Launcher o que afecte el gasto.

Pregunta al agente:

Use plainrouter-test to call get_account_state, then get_signal_health.
Summarize the synthetic account and signal health. Do not call other tools.

Una respuesta de cuenta exitosa incluye los siguientes campos. Este es un extracto de la respuesta sintética, no una cuenta publicitaria real:

{
  "sandbox": true,
  "workspace": { "id": 0, "name": "Sandbox Workspace" },
  "ad_account": {
    "id": 0,
    "external_id": "act_SANDBOX",
    "name": "Sandbox Ad Account"
  }
}

Ambas llamadas deberían devolverse sin error de herramienta. Esto demuestra que la conexión de prueba funciona; no verifica tu cuenta de producción ni la recopilación de eventos.

Cuando el cliente pueda descubrir o inicializar el servidor, listar herramientas y llamar a una herramienta sandbox, cambia su URL de servidor a https://plainrouter.com/mcp y configura un token de ejecución de workspace. Los tres nombres de herramientas de lectura y sus formas de argumentos coinciden con producción.

Nota

El endpoint de producción expone su handshake de protocolo, catálogos de herramientas y recursos, y shells de aplicación estáticos de ui:// sin credencial. Las llamadas a herramientas y las lecturas de datos de cuenta permanecen vinculadas a la cuenta y devuelven HTTP 401 sin un token de ejecución de workspace válido.

¿Qué protocolo MCP debería usar mi cliente?

Plainrouter admite 2026-07-28 hasta server/discover. Los clientes existentes que usan initialize pueden negociar 2025-11-25 o 2025-06-18. Deja que tu cliente MCP maneje el protocolo; la configuración de Claude Code a continuación no necesita campos de protocolo manuales.

Para un cliente HTTP personalizado, comienza con esta solicitud de descubrimiento sandbox sin credenciales:

curl https://plainrouter.com/mcp/sandbox \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json, text/event-stream' \
  --header 'MCP-Protocol-Version: 2026-07-28' \
  --header 'Mcp-Method: server/discover' \
  --data '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "server/discover",
    "params": {
      "_meta": {
        "io.modelcontextprotocol/protocolVersion": "2026-07-28",
        "io.modelcontextprotocol/clientCapabilities": {}
      }
    }
  }'

Verifica que result.supportedVersions incluya 2026-07-28 y que result._meta["io.modelcontextprotocol/serverInfo"].name sea Plainrouter Sandbox. El descubrimiento confirma la compatibilidad del protocolo; no lee tu cuenta ni verifica una llamada a herramienta.

Para solicitudes 2026-07-28 posteriores:

Campo o encabezadoRequisito
params._metaIncluye tanto la versión del protocolo como las capacidades del cliente en cada solicitud.
MCP-Protocol-VersionCoincide con la versión del protocolo en _meta.
Mcp-MethodCoincide con el method de JSON-RPC, como tools/list o tools/call.
Mcp-NamePara tools/call, coincide con params.name. Para resources/read, coincide con params.uri.
AuthorizationIncluye el token bearer del workspace en cada llamada a herramienta de producción o lectura de datos de cuenta.

Las solicitudes no tienen estado: no esperes ni requieras un encabezado de respuesta Mcp-Session-Id. Los clientes heredados sin metadatos de protocolo en _meta permanecen en la ruta de compatibilidad; no mezcles los dos formatos de solicitud. Enviar cualquiera de las claves de metadatos de protocolo selecciona la ruta de validación moderna.

La tarjeta de servidor publicada enumera el protocolo, las herramientas y los recursos actuales. La referencia de actualización de transporte explica los encabezados modernos y la compatibilidad heredada.

Conéctate con un token de workspace

En Plainrouter, cambia al workspace previsto y abre **Configuración → Claves de workspace**. Ingresa un nombre, elige Lectura o Escritura y una caducidad, luego selecciona **Crear clave**. Copia el token completo inmediatamente después de la emisión. Plainrouter no puede mostrarlo nuevamente. En tu cliente MCP, agrega `https://plainrouter.com/mcp` como servidor HTTP remoto y configura el token como su credencial bearer. Llama a `get_account_state` primero. Proporciona `account_id` cuando existan múltiples cuentas elegibles. Confirma el workspace y la cuenta devueltos antes de continuar.

Consulta Tokens de workspace para la selección de nivel, selección de cuenta, reemplazo y revocación.

Configura Claude Code para tu cuenta de anuncios de Meta

Agrega esta entrada de servidor al .mcp.json de tu proyecto, conservando cualquier servidor existente. Claude Code expande las variables de entorno en los encabezados MCP.

{
  "mcpServers": {
    "plainrouter": {
      "type": "http",
      "url": "https://plainrouter.com/mcp",
      "headers": {
        "Authorization": "Bearer ${PLAINROUTER_WORKSPACE_TOKEN}"
      }
    }
  }
}

Proporciona PLAINROUTER_WORKSPACE_TOKEN en el entorno de la terminal a través de tu gestor de secretos local antes de iniciar Claude Code. Mantén la referencia de variable en el archivo; no la reemplaces con el token ni pegues el token en un prompt del agente. Abre /mcp y permite la conexión del proyecto cuando se solicite.

Comienza con un token de Lectura para inspección de cuentas y bibliotecas. Usa Escritura solo cuando necesites herramientas que generen propuestas.

Confirma una conexión de producción de solo lectura

Pregunta al agente:

Use plainrouter to call get_account_state. Show the workspace name and
Meta ad account name and external ID, then stop. If account_id is required,
ask me to select the intended Plainrouter account ID. Do not propose changes.

Verifica que el workspace y la cuenta de anuncios de Meta devueltos coincidan con la tarea prevista. Para un workspace con múltiples cuentas activas, pasa el mismo account_id seleccionado a cada llamada con ámbito de cuenta; usa el ID de cuenta interno de Plainrouter, no el ID externo de Meta. Si coinciden, solicita get_signal_health para inspeccionar la entrega de conversiones y los diagnósticos de coincidencia. La falta de configuración de Signals o de historial de medición es un problema de configuración separado; una lectura de cuenta exitosa no establece un seguimiento saludable.

Para los campos devueltos y su significado, consulta la referencia de herramientas MCP.

Permisos

PermisoPermite
ad-account.readLeer la cuenta aprobada y su contexto de Signals de Plainrouter.
signals.verifyEscribir un diagnóstico de ingesta de Signals sin identidad y seguro para consentimiento. No completa la incorporación.
actions.proposeEnviar acciones a través de la política del workspace y el pipeline de aprobación.
creative.readLeer la biblioteca creativa de la cuenta de Meta aprobada.
creative.writePreparar activos creativos y proponer cambios creativos. No elude actions.propose.

El agente solo puede seleccionar cuentas autorizadas por la clave del workspace; un ID de cuenta no puede ampliar ese ámbito. Las herramientas creativas vuelven a verificar que los objetos del proveedor pertenezcan a la cuenta aprobada.

Advertencia

El permiso de escritura creativa no es autoridad directa de modificación. upload-asset y duplicate-ad-with-creative devuelven una propuesta gobernada. Una decisión de política posterior o la aprobación humana determinan si la ejecución se pone en cola.

Flujos de trabajo recomendados

Una vez que la lectura de cuenta tenga éxito, elige una tarea:

Pide al agente que distinga entre solo sugerencia, pendiente de aprobación, bloqueado, en espera de verificación y Aterrizado. La descripción general de acciones enumera los cambios compatibles.

Ejemplo: solicita una propuesta creativa

Después de seleccionar un anuncio de origen y un activo de la biblioteca creativa de la cuenta aprobada, pregunta:

Use the source ad and asset I selected to propose a paused ad copy.
Summarize the proposed change and show its approval link. Stop for my review.

La herramienta creativa envía una propuesta a Plainrouter; no cambia Meta durante esa llamada MCP. En Solo sugerencia, la aprobación registra el acuerdo sin ejecución. En un modo ejecutable, el trabajo creativo compatible aún requiere verificaciones de política y aprobación humana. Una nueva copia de anuncio permanece PAUSED.

Sigue el flujo de trabajo creativo y la guía de revisión de propuestas para los siguientes pasos. Usa la descripción general de acciones para verificar los cambios compatibles antes de solicitar una operación diferente.

Duración de la autorización y revocación

Los tokens de workspace caducan después de 30, 90 o 365 días. Desde Configuración → Claves de workspace, el miembro emisor puede crear un reemplazo dentro de su rol actual y Eliminar la clave antigua para revocarla. La interfaz actual no tiene botón de Rotación de token.

Plainrouter también limita un token según el rol actual del emisor en el workspace en cada solicitud. Si el rol de esa persona ya no cubre el nivel del token, el token deja de autenticarse en ese nivel. Emite un token nuevo en lugar de intentar reutilizar una credencial cuya autoridad cambió.

Solución de problemas

Un cliente personalizado obtiene HTTP 400 o un error de protocolo

Para el error JSON-RPC -32020, compara MCP-Protocol-Version, Mcp-Method y, cuando sea necesario, Mcp-Name con el cuerpo de la solicitud. Un encabezado obligatorio faltante o un valor no coincidente falla antes de que la herramienta se ejecute. Asegúrate de que tu proxy inverso conserve estos encabezados.

Para -32022, verifica la versión del protocolo contra el descubrimiento y usa una versión compatible. Sigue el formato de solicitud moderna completo; cambiar solo el encabezado de versión no es suficiente. Un 401 de autenticación es un fallo de credenciales separado.

El cliente espera un ID de sesión

Plainrouter procesa las solicitudes de forma independiente y no devuelve Mcp-Session-Id. Actualiza un cliente o transporte personalizado que requiera ese encabezado. Sigue enviando la credencial de portador del espacio de trabajo en cada solicitud de herramienta de producción; una respuesta de descubrimiento exitosa no autoriza llamadas posteriores.

Claude Code no puede cargar la variable de token

Confirma que PLAINROUTER_WORKSPACE_TOKEN esté configurada en el entorno que inicia Claude Code. Reinicia el cliente después de proporcionarla. Mantén el nombre de la variable coherente con .mcp.json; no imprimas el token para depurar la conexión.

El cliente recibe 401 Unauthorized

Confirma que el cliente envía el token completo del espacio de trabajo como credencial de portador y que no ha expirado ni sido revocado. También confirma que la persona emisora aún tiene un rol de espacio de trabajo que cubra el nivel del token.

Si el cliente envía un token de acceso OAuth, el rechazo es esperado. Reemplázalo con un token de ejecución del espacio de trabajo.

Una herramienta creativa informa un permiso faltante

Emite un token con el nivel requerido. Usa Lectura para acceso a la biblioteca y Escritura para herramientas creativas que producen propuestas y lotes de borradores de Launcher donde estén habilitados.

Plainrouter te pide reconectar Meta

La cuenta seleccionada puede carecer de una conexión Meta activa o del acceso requerido a ads_read o ads_management. Reconecta Meta, confirma la misma cuenta publicitaria y reintenta la misma solicitud idempotente.

Aparece la cuenta incorrecta

Verifica account_id y el espacio de trabajo de la clave. Las nuevas claves de espacio de trabajo pueden seleccionar una cuenta activa propiedad de ese espacio de trabajo; una clave antigua vinculada a una cuenta rechaza una cuenta diferente. Sigue la selección de cuenta.

Las herramientas de señales muestran configuración requerida

La cuenta puede estar autorizada correctamente mientras su espacio de trabajo no tiene una Señal o destino activo. Completa la configuración de Signals y llama a las herramientas nuevamente.