Saltar al contenido
Consumo

MCP

Ocho herramientas de solo lectura que sirven el canon a un asistente: tokens, documentos, guías de componente, plantillas, assets y el lint de marca.

Este servidor MCP le da el canon de marca a un asistente de IA para que no tenga que adivinarlo. Son ocho herramientas de solo lectura —contexto, tokens, documentos del canon, guías de componente, plantillas, assets, el lint de marca y el estándar de stack— por streamable HTTP en https://brand.arcasiles.com/mcp. Conecta tu cliente con el fragmento de abajo. El asistente carga brand_context al abrir la sesión y comprueba lo que escribe con brand_check contra el canon v5.0.1.

Un servidor de marca para asistentes IA

El asistente pregunta por HTTP y recibe el canon estructurado: hex exactos, plantillas y un veredicto de marca, en vez de una descripción que tenga que interpretar.

El endpoint
https://brand.arcasiles.com/mcp
  • Streamable HTTP
  • Solo lectura
  • 8 herramientas
  • Canon v5.0.1

Herramientas disponibles

Nombres y firmas reales del servidor brand-mcp. Las ocho leen el canon; ninguna lo escribe.

  • brand_context ()

    Carga el brief de marca: identidad, tono, colores y las reglas que un agente debe respetar.

    Brief on-brand en Markdown

  • brand_tokens (format?)

    Design tokens estructurados: colores, los siete de énfasis (amber, lila, blue, ink, orange, pink, green), tipografía y movimiento. Con format="css", la capa --arc-* tal cual la declara el kit.

    JSON de tokens y colores de énfasis

  • brand_doc (name)

    Un documento del canon por nombre: sistema de diseño, movimiento, accesibilidad, identidad y los registros de voz. Aquí está el porqué de cada regla.

    El documento del canon en Markdown

  • brand_component (name, lang?)

    La ficha de un componente del kit: variantes y cuándo usar cada una, estados, sí/no, accesibilidad, props y código copiable.

    Ficha del componente con su código

  • brand_template (name)

    Devuelve por nombre una plantilla gobernada de emails, documentos, decks, piezas o fichas.

    Plantilla lista para rellenar

  • brand_asset (name, encode?)

    Busca por nombre un logo, una fuente o una variante del personaje de marca, y lo devuelve como data URI embebible.

    Data URI embebible

  • brand_check (content)

    El lint de marca: tono y contraste WCAG AA. Sale PASS o FAIL, con el hallazgo y su arreglo.

    PASS / FAIL + hallazgos

  • brand_stack ()

    El estándar de stack: qué se usa en cada capa y qué hace falta para salirse.

    Carriles de stack por capa

La IA pregunta, el brand responde

Cinco preguntas reales con la respuesta que devuelve el servidor, tal cual. La respuesta es JSON y también texto: la lee el asistente y la lee un lector de pantalla.

Asistente IA

¿Cuál es el color de énfasis del Grupo y qué contraste da con su texto?

brand_tokens()
Brand MCP respuesta · JSON
                        {
  "accent": "amber",
  "role": "Group",
  "fill": "#f9be4a",
  "onFill": "#272727",
  "contrast": "8.9:1",
  "wcag": "AAA"
}
                      

Configuración por cliente

.mcp.json
# CLI (recomendado; las comillas simples preservan la variable):
claude mcp add --transport http arcasiles-brand https://brand.arcasiles.com/mcp \
  --header 'Authorization: Bearer ${BRAND_MCP_TOKEN}'

# o en .mcp.json del proyecto:
{
  "mcpServers": {
    "arcasiles-brand": {
      "type": "http",
      "url": "https://brand.arcasiles.com/mcp",
      "headers": {
        "Authorization": "Bearer ${BRAND_MCP_TOKEN}"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "arcasiles-brand": {
      "url": "https://brand.arcasiles.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:BRAND_MCP_TOKEN}"
      }
    }
  }
}
.vscode/mcp.json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "brand-mcp-token",
      "description": "Brand MCP bearer",
      "password": true
    }
  ],
  "servers": {
    "arcasiles-brand": {
      "type": "http",
      "url": "https://brand.arcasiles.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:brand-mcp-token}"
      }
    }
  }
}
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "arcasiles-brand": {
      "serverUrl": "https://brand.arcasiles.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:BRAND_MCP_TOKEN}"
      }
    }
  }
}
opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "arcasiles-brand": {
        "type": "remote",
        "url": "https://brand.arcasiles.com/mcp",
        "oauth": false,
        "headers": {
          "Authorization": "Bearer {env:BRAND_MCP_TOKEN}"
        }
      }
    }
  }
}
~/.copilot/mcp-config.json
{
  "mcpServers": {
    "arcasiles-brand": {
      "type": "http",
      "url": "https://brand.arcasiles.com/mcp",
      "headers": {
        "Authorization": "Bearer ${BRAND_MCP_TOKEN}"
      },
      "tools": ["*"]
    }
  }
}

~/.gemini/config/mcp_config.json

No soportado para este remoto: Antigravity admite headers, pero su documentación oficial no demuestra una interpolación segura de variables dentro de ellos. No pegues ni guardes un bearer literal.