Primeros pasos
Conecta un agente
Da a un cliente MCP acceso a Hollware con un token personal o con OAuth, y elige qué puede hacer.
Conecta un agente
Cualquier cliente MCP puede escribir en Hollware. Se conecta a /mcp de tu Hollware, por HTTP, de una de dos formas.
Con un token personal
Un token personal es un bearer token que empieza con hw_pat_. hollware init crea el primero; crea más con la CLI o en el admin, en Tokens:
npx hollware token create --label claude-code --scopes content:read,content:writeUn token lleva scopes, y nunca más que el rol de la persona que lo creó:
| Scope | Le permite al agente |
|---|---|
content:read | leer entradas, borradores incluidos, y el sitio |
content:write | crear y actualizar borradores |
content:publish | publicar, despublicar y aprobar revisiones |
schema:admin | cambiar la estructura del sitio, y las rutas propias del admin |
Entrégale el token al cliente en el encabezado Authorization:
claude mcp add --transport http hollware https://cms.example.com/mcp --header "Authorization: Bearer hw_pat_..."npx hollware mcp-config --url https://cms.example.com imprime esa línea, y --client cursor, --client vscode o --client json el bloque de .mcp.json para cualquier otro cliente; ambos nombran una variable de entorno, HOLLWARE_TOKEN, en lugar del token.
content:publish igual puede llamar a publish: la entrada espera en la cola de revisión del admin hasta que un editor la aprueba.Con OAuth
Los clientes que hablan OAuth, como los conectores de claude.ai, no necesitan token. Entrégales la URL de /mcp; la primera vez, Hollware te pide iniciar sesión con tu passkey y te pregunta qué puede hacer el cliente. Tú eliges los scopes, y el sitio cuando eres miembro de varios.
Un cliente tiene un Client ID Metadata Document, que Hollware obtiene por internet pública, o se registra solo. El autorregistro está desactivado salvo que tu configuración lo active:
export default defineConfig({
auth: { dynamicClientRegistration: true },
sites: { ... },
})Lo que ve el agente
Cuarenta herramientas, las mismas para todos los clientes, sin importar lo que puedan hacer: una herramienta revisa los scopes al ejecutarse, y una llamada sin ellos recibe un 403 que dice cuáles faltan. La referencia de herramientas las lista con su entrada.
Un prompt, refresh_content, guía a un agente desde lo que leen los lectores hasta una entrada actualizada: content_stats, get_entry, search, update_draft y publish, en ese orden. Elígelo en el menú de prompts de tu cliente. Necesita la analítica del sitio conectada para saber qué leen los lectores.
Un agente con schema:admin también da forma al sitio: get_structure, update_site, set_collection, create_site y las demás de Configura tu contenido.
Un agente que nunca debe publicar, tenga lo que tenga su token, envía su trabajo a una persona con request_review en vez de publish, y comenta una revisión con comment_review: así funcionan los agentes del propio Hollware.
Sin un cliente MCP
/mcp es JSON-RPC simple sobre HTTP, así que curl también llega. No se necesita sesión: cada solicitud es independiente.
curl http://localhost:5199/mcp \
-H "Authorization: Bearer hw_pat_..." \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"describe_site","arguments":{}}}'La respuesta puede llegar como un server-sent event (event: message, luego data: {...}). La salida de la herramienta está en result.structuredContent, y de nuevo como texto en result.content.
Cada escritura sube la version de la entrada. update_draft y publish reciben la versión que leíste por última vez y responden con la nueva: después de que create_draft entrega la versión 1, publish con la versión 1 responde la versión 2.
La primera llamada de un buen agente es describe_site: entrega tus colecciones, sus esquemas como JSON Schema, sus rutas, sus componentes con ejemplos y tus guías de estilo.