Balzac
Servidor MCP de Balzac: investiga palabras clave, redacta y publica artículos de blog SEO, gestiona espacios de trabajo, sugerencias, informes y datos de Search Console desde Claude, ChatGPT o Cursor.
Servidor MCP alojado
npx add-mcp 'https://mcp.hirebalzac.ai'Se instala en Claude Code, Codex, Cursor y más
Documentación
Servidor MCP de Balzac
Servidor MCP para la plataforma de contenido de IA Balzac — brinda a los agentes de IA acceso nativo a la investigación de palabras clave, la redacción de artículos y la publicación en CMS.
El servidor MCP de Balzac implementa el Protocolo de Contexto de Modelo para que agentes de IA como Claude Desktop, OpenClaw, Claude Code y cualquier cliente compatible con MCP puedan gestionar todo tu flujo de contenido mediante llamadas a herramientas estructuradas.
¿No estás seguro de si tu sitio permite la entrada de rastreadores de IA? El verificador de rastreadores de IA gratuito y las demás herramientas SEO gratuitas no requieren registro.
Servidor remoto (Claude, ChatGPT y otros conectores)
Balzac también está disponible como servidor MCP alojado, sin necesidad de instalar nada:
https://mcp.hirebalzac.ai
- Claude (claude.ai, Desktop, móvil): Configuración > Conectores > Añadir conector personalizado, pega la URL y luego inicia sesión en Balzac y permite el acceso.
- ChatGPT: activa el modo desarrollador en Configuración > Aplicaciones y conectores > Configuración avanzada, crea un conector con la URL y autenticación OAuth, y luego inicia sesión en Balzac.
- Claude Code:
claude mcp add --transport http balzac https://mcp.hirebalzac.ai, luego ejecuta/mcppara iniciar sesión.
Los clientes que no pueden usar OAuth pueden enviar una clave de API en su lugar, como encabezado Authorization: Bearer bz_.... Puedes desconectar aplicaciones en cualquier momento desde tu página de perfil de Balzac.
Una aplicación conectada actúa con el rol de la persona que la aprobó. Los miembros no obtienen las herramientas exclusivas de administrador (consulta Roles).
El contenido creado a través del conector remoto nunca recibe imágenes generadas por IA. Los espacios de trabajo que crea comienzan con ai_images: false, de modo que la configuración que sigue a create_workspace elige fotos de archivo o portadas de título sobre un degradado del color de la marca. Los artículos que escribe (create_briefing, accept_suggestion), reescribe o a los que da una nueva portada mantienen la IA fuera de todas sus portadas, incluso en un espacio de trabajo que permite imágenes de IA. Sin imágenes de IA, una portada de título es el título del artículo sobre un degradado del color de la marca, cualquier otra portada es una foto de archivo, y una primera portada sin foto de archivo coincidente recibe el degradado del título en su lugar.
Las herramientas siguen la misma regla: no ofrecen estilo de imagen de IA ni modo ai, y title_based_featured_image y ai_images solo se pueden desactivar. update_settings con ai_images: false mantiene todas las portadas de un espacio de trabajo libres de imágenes de IA, incluidos los artículos escritos en la aplicación Balzac o por piloto automático; volver a activar ai_images se hace en la aplicación Balzac (Configuración > Imágenes), y la API responde 403 forbidden a un conector que lo intente. Activar auto_accept_suggestions en un espacio de trabajo cuyo ai_images es true también devuelve 403, a menos que la misma llamada envíe ai_images: false. regenerate_article_picture tiene dos modos: title o stock (una foto de archivo, que nunca recurre a la IA: cuando ninguna foto coincide, la herramienta devuelve 422 no_stock_photo y no se cuenta nada, así que intenta de nuevo con palabras de búsqueda en additional_instructions, o usa title).
La garantía cubre los inicios de sesión OAuth, que es como se conectan Claude y ChatGPT. Con una clave de API bz_, las herramientas del servidor remoto tampoco solicitan imágenes de IA, pero las portadas de los artículos nuevos siguen la configuración de ai_images del espacio de trabajo.
El servidor local que aparece a continuación ofrece las mismas herramientas, además de estilos de imagen de IA y el modo de portada ai, usando una clave de API.
Listado en el registro
Este repositorio incluye un server.json (y mcpName en package.json: io.github.hirebalzac/mcp) preparado para el Registro MCP oficial. El listado en el registro no está activo hasta que se publique; consulta el registro para conocer el estado actual.
Balzac es un agente SEO de IA que investiga palabras clave y luego escribe y publica artículos de blog. El plan gratuito incluye 3 artículos; los planes de pago comienzan en $79/mes.
El servidor local (npm, stdio) lee BALZAC_API_KEY (obligatorio) y BALZAC_API_URL (opcional). Nunca comprometas tu clave.
Inicio rápido
1. Obtén tu clave de API
Inicia sesión en Balzac, ve a Configuración > Claves de API y genera una clave.
2. Configura tu cliente MCP
Añade a tu configuración MCP (Claude Desktop, OpenClaw o cualquier host compatible con MCP):
{
"mcpServers": {
"balzac": {
"command": "npx",
"args": ["-y", "balzac-mcp"],
"env": {
"BALZAC_API_KEY": "bz_your_api_key_here"
}
}
}
}
Para Claude Desktop, este archivo se encuentra en ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %APPDATA%\Claude\claude_desktop_config.json (Windows).
3. Empieza a usarlo
Una vez configurado, tu agente de IA puede llamar directamente a las herramientas de Balzac:
"Investiga palabras clave para mi sitio y escribe un artículo SEO sobre la mejor oportunidad"
"Escribe 3 artículos sobre nuestras palabras clave principales y publícalos como borradores en WordPress"
"Reescribe mi último artículo con un tono más profesional"
Variables de entorno
| Variable | Obligatoria | Descripción |
|---|---|---|
BALZAC_API_KEY | Sí | Tu clave de API de Balzac (empieza con bz_) |
BALZAC_API_URL | No | URL base de la API (predeterminada: https://api.hirebalzac.ai/v1) |
El servidor remoto (npm run start:http, implementado desde el Dockerfile) toma sus credenciales de cada solicitud en lugar de BALZAC_API_KEY, y lee:
| Variable | Descripción |
|---|---|
MCP_PUBLIC_URL | URL pública del servidor (https://mcp.hirebalzac.ai en producción) |
BALZAC_AUTH_URL | Servidor de autorización OAuth (predeterminado: https://app.hirebalzac.ai) |
BALZAC_API_URL | URL base de la API (predeterminada: https://api.hirebalzac.ai/v1) |
PORT | Puerto de escucha (predeterminado: 3001) |
Herramientas disponibles
Cuenta
| Herramienta | Descripción |
|---|---|
get_account | Cuenta, créditos disponibles y si las credenciales actúan como administrador |
Espacios de trabajo
| Herramienta | Descripción |
|---|---|
list_workspaces | Lista todos los espacios de trabajo (filtra por estado: nuevo, en ejecución, listo, importado, no_importado) |
get_workspace | Obtiene detalles del espacio de trabajo |
create_workspace | Crea un espacio de trabajo a partir de un dominio |
update_workspace | Actualiza la configuración del espacio de trabajo |
delete_workspace | Elimina un espacio de trabajo (solo administradores) |
Palabras clave
| Herramienta | Descripción |
|---|---|
list_keywords | Lista palabras clave (filtra por estado) |
get_keyword | Obtiene detalles de la palabra clave (volumen, competencia, intención, dificultad, métricas de GSC) |
create_keyword | Añade una palabra clave |
enable_keyword | Activa una palabra clave |
disable_keyword | Desactiva una palabra clave |
delete_keyword | Elimina una palabra clave |
generate_keywords | Genera nuevas palabras clave con IA (asíncrono) |
Sugerencias
| Herramienta | Descripción |
|---|---|
list_suggestions | Lista sugerencias de contenido |
get_suggestion | Obtiene detalles de la sugerencia |
generate_suggestions | Genera 10 sugerencias nuevas (1 crédito) |
accept_suggestion | Acepta y comienza a escribir (5 créditos) |
reject_suggestion | Rechaza una sugerencia |
Briefings
| Herramienta | Descripción |
|---|---|
list_briefings | Lista briefings |
get_briefing | Obtiene detalles del briefing |
create_briefing | Crea un briefing y comienza a escribir (5 créditos) |
Artículos
| Herramienta | Descripción |
|---|---|
list_articles | Lista artículos (filtra por estado, publicado), con el live_url, rewrites_left y new_covers_left de cada uno |
get_article | Obtiene detalles y contenido del artículo, live_url, publicaciones y el rewrites_left y new_covers_left gratuitos |
update_article | Actualiza metadatos del artículo |
delete_article | Elimina un artículo |
rewrite_article | Reescribe el contenido del artículo (gratis, 2 por artículo) |
regenerate_article_picture | Genera una nueva portada (gratis, 2 por artículo): título, foto de archivo o, en el servidor local, un estilo de IA |
publish_article | Publica en una integración (la URL en vivo aparece más tarde en get_article) |
schedule_article | Programa una publicación futura |
export_article | Exporta como HTML, Markdown o XML |
rewrite_article, publish_article y schedule_article devuelven el artículo sin html_content, published_html y schema_json_ld: get_article los tiene. Cuando el artículo ya está en esa integración, publish_article no crea una publicación nueva y transmite el mensaje de la API, que indica cuándo no se envió nada porque la integración no puede aceptar actualizaciones (GoHighLevel, o un webhook con webhook_updates desactivado).
Competidores
| Herramienta | Descripción |
|---|---|
list_competitors | Lista dominios de competidores |
create_competitor | Añade un competidor |
delete_competitor | Elimina un competidor |
Enlaces
| Herramienta | Descripción |
|---|---|
list_links | Lista enlaces de referencia |
create_link | Añade un enlace de referencia |
delete_link | Elimina un enlace |
Configuración
| Herramienta | Descripción |
|---|---|
get_settings | Obtiene la configuración del espacio de trabajo, incluidos ai_images y cover_mode |
update_settings | Actualiza la configuración del espacio de trabajo, incluido ai_images (en el servidor remoto, solo false) |
Tonos de voz
| Herramienta | Descripción |
|---|---|
list_tones | Lista los tonos disponibles |
get_tone | Obtiene detalles del tono |
Integraciones
| Herramienta | Descripción |
|---|---|
list_integrations | Lista integraciones de publicación |
get_integration | Obtiene detalles de la integración (las credenciales nunca se devuelven) |
create_integration | Crea una integración (WordPress, Webflow, Wix, GoHighLevel, Webhook), solo administradores |
update_integration | Actualiza la configuración de la integración, solo administradores |
delete_integration | Elimina una integración, solo administradores |
reconnect_integration | Vuelve a probar la conexión de la integración, solo administradores |
Cuando update_integration mueve wordpress_url a otro sitio, envía wordpress_application_password en la misma llamada; cuando cambia webhook_url en una integración con token de portador, envía webhook_bearer_token. De lo contrario, la actualización falla con 422 validation_failed.
Para webhooks, webhook_updates (en create_integration y update_integration) indica si el endpoint recibe una llamada article.updated cuando cambia un artículo ya publicado allí. Los webhooks nuevos lo tienen activado; envía false para un endpoint que crea una publicación en cada llamada. Los webhooks conectados antes de que existieran las actualizaciones lo tienen desactivado: actívalo una vez que el endpoint actualice la publicación que creó. Mientras esté desactivado, publish_article en un artículo ya existente no envía nada y lo indica.
Costos de créditos
| Acción | Créditos |
|---|---|
| Escribir un artículo (aceptar sugerencia o crear briefing) | 5 |
| Generar 10 sugerencias nuevas | 1 |
Si tu cuenta no tiene suficientes créditos, la herramienta devuelve un error con los créditos requeridos y disponibles. get_account muestra los créditos restantes.
Reescribir un artículo y generar una nueva portada son gratuitos. Cada artículo incluye 2 reescrituras y 2 portadas nuevas; una cuenta cuando termina, y get_article muestra lo que queda (rewrites_left, new_covers_left). Iniciar otra mientras una está en ejecución devuelve 409 conflict, y una vez que un artículo ha usado sus 2, la herramienta devuelve 422 free_limit_reached.
Roles
Solo los administradores pueden gestionar integraciones (create_integration, update_integration, delete_integration, reconnect_integration) y eliminar espacios de trabajo (delete_workspace). Los miembros reciben 403 forbidden allí, y aún pueden listar integraciones y publicar en ellas.
Las claves de API cuentan como administrador, por lo que el servidor local mantiene todas las herramientas. En el servidor remoto, una aplicación conectada por un miembro no lista las herramientas exclusivas de administrador. Las aplicaciones almacenan en caché la lista de herramientas, por lo que después de un cambio de rol (o para una conexión realizada antes de esta actualización), vuelve a conectar la aplicación para actualizarla: hasta entonces, un miembro que llame a una herramienta exclusiva de administrador recibirá un error "Herramienta ... no encontrada" en lugar del mensaje 403, y un administrador recién ascendido no verá esas herramientas todavía.
Errores
Los errores de las herramientas comienzan con el estado HTTP y el tipo de error de la API, seguidos del mensaje, por ejemplo:
[422 free_limit_reached] You've used the 2 free rewrites for this article.
[422 plan_limit_reached] Your Columnist plan includes 1 website. Upgrade your plan to add another one.
[403 forbidden] Only company admins can do this. Ask an admin of your Balzac account.
[422 no_stock_photo] No stock photo matches this article. Send a few search words in additional_instructions (for example "laptop on a desk"), or use picture_mode: title.
Consulta la documentación de la API para conocer todos los tipos de error.
Ver también
- CLI de Balzac — Interfaz de línea de comandos
- Documentación de la API — Referencia completa de la API REST
Licencia
MIT