Ir al contenido principal

Model Context Protocol

MCP server público para agentes IA.

Un punto de entrada estable para que agentes IA consulten contenido público de esta web mediante Model Context Protocol, sin darles acceso a la administración ni a datos privados.

Endpoint

Una puerta controlada, no una API abierta sin criterio.

El servidor MCP vive en el API Symfony y exige token bearer. Está pensado para clientes como Claude Desktop, VS Code, Cursor o MCP Inspector cuando soportan servidores remotos con headers HTTP, con herramientas pequeñas y explícitas.

https://api.luismibriz.dev/api/v1/mcp

Solo lectura: no crea, edita ni borra datos.

Contenido público: no expone drafts, Cholo, tokens ni datos privados.

Bearer token por cliente: los tokens se emiten y rotan desde Cholo.

Auditoría: cada llamada queda atribuida al prefijo del token MCP.

Tools disponibles

Pocas herramientas, bien acotadas.

La idea no es volcar la base de datos a un agente: es darle capacidades públicas con salida estable, auditable y fácil de razonar.

list_public_posts

Devuelve los últimos posts publicados con título, extracto, slug y URL.

search_public_posts

Busca posts publicados por texto libre, priorizando coincidencias en el título.

get_services_summary

Resume los servicios técnicos activos sin exponer datos privados ni contenido de administración.

Solicitud de acceso

El token se pide, se revisa y se emite manualmente.

Mientras no haya área privada, las solicitudes entran por el formulario de contacto. Quedan guardadas como mensaje de contacto, me llega el aviso por email y después emito el token desde Cholo si encaja con el uso previsto.

  1. Paso 1Solicitas acceso indicando cliente MCP y uso previsto.
  2. Paso 2Reviso la solicitud y emito el token desde Cholo.
  3. Paso 3Se envía un enlace one-shot; el usuario pulsa "Revelar token" cuando esté listo para copiarlo.
  4. Paso 4Para regenerar o revocar, usa contacto o email con el prefijo del token.

Archivos de configuración

Copia el bloque de tu cliente y pega tu token fuera de git.

El endpoint acepta llamadas MCP por HTTP con Authorization: Bearer .... No hay OAuth público todavía: el token se emite desde Cholo, se guarda hasheado en el API y solo se muestra en claro al crearlo o regenerarlo.

VS Code

.vscode/mcp.json

VS Code usa servers y permite inputs para pedir el token como password la primera vez que arranca el servidor. Así compartes la configuración sin commitear secretos.

json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "luismibriz-mcp-token",
      "description": "Token MCP de solo lectura",
      "password": true
    }
  ],
  "servers": {
    "luismibriz": {
      "type": "http",
      "url": "https://api.luismibriz.dev/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${input:luismibriz-mcp-token}"
      }
    }
  }
}

Cursor y compatibles

Formato mcpServers

Algunos clientes usan mcpServers en lugar de servers. Si tu cliente soporta servidores remotos con headers, usa este bloque y deja el valor real de la variable en tu entorno local o en su configuración privada.

json
{
  "mcpServers": {
    "luismibriz": {
      "url": "https://api.luismibriz.dev/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${LUISMIBRIZ_MCP_TOKEN}"
      }
    }
  }
}

Variable local

Si tu cliente expande variables de entorno, guarda el token fuera del repositorio. Si no las expande, pega el bearer solo en la configuración privada del cliente, nunca en un archivo versionado.

shell
LUISMIBRIZ_MCP_TOKEN=mcp_tu_token_privado_aqui

Para regenerar, revocar o cambiar el email asociado a un token, usa el formulario de contacto o escribe a [email protected].

Demo en vivo

Conéctate a mi servidor MCP

Este blog no es solo teoría: el endpoint que describo más arriba está corriendo en producción. Añade este bloque al mcpServers de un cliente compatible con servidores remotos y headers bearer. Tu agente podrá hablar con la API de este portfolio en lectura, sin acceso al admin ni a datos sensibles.

json
{
  "mcpServers": {
    "luismibriz": {
      "url": "https://api.luismibriz.dev/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${LUISMIBRIZ_MCP_TOKEN}"
      }
    }
  }
}

Token: pídelo desde la página MCP. Lo emito manualmente desde Cholo y el plaintext se muestra una sola vez. No publico tokens embebidos en el JSON precisamente porque son auditables y eso me obliga a hacerlo bien.

Tools disponibles

  • list_public_posts

    Devuelve los últimos artículos publicados con título, slug, fecha, categoría y URL canónica.

    Prueba: “¿Qué has publicado últimamente en el blog?

  • search_public_posts

    Busca artículos por texto sobre título, excerpt y keywords. Los matches en título puntúan más alto.

    Prueba: “¿Tienes algo escrito sobre Symfony y MCP?

  • get_services_summary

    Lista los servicios profesionales activos con su resumen y URL pública.

    Prueba: “¿En qué servicios trabajas ahora mismo?