Skip to main content
Glama

poster-design-mcp

Un servidor MCP que diseña carteles empresariales. Pide a tu clente de IA un cartel en lenguaje natural y escrie un PNG o JPG real en el disco — con resolución de impresión, maquetado por un sistema de diseño y no a ojo.

Cada cartel de esta página se ha producido con una sola llamada a una herramienta. Más en Galería.


Contenido


Related MCP server: Canvora MCP

Qué hace

La mayoría de las herramientas de imagen con IA pintan un cartel, así que la tipografía sale derretida y el número de teléfono es inventado. Esta compone un cartel. El titular es texto real en una fuente real, el precio es el precio que le diste, y el resultado aterriza en dimensiones exactas de píxeles: 2480×3508 para A4 a 300 dpi, listo para la imprenta.

Obtienes:

  • Cuatro diseños derivados de cuatro carteles de referencia: eventos, mensajes de marca, anuncios de producto e hitos numéricos.

  • Una paleta a partir de un código hex. Dale tu color de marca; de él se derivan el fondo, la tinta, el acento y la escala de patrones, con la tinta elegida según la relación de contraste para que el texto siga siendo legible.

  • Tipografía display con autoajuste. El titular crece hasta que la línea más larga toca el margen y entonces se detiene. Tú eliges los saltos de línea; el servidor elige el tamaño.

  • Tratamiento real de fotografías — recortes a sangre, puntos focales, velos de degradado para que el texto nunca quede crudo sobre una imagen.

  • Tamaños de impresión o para redes sociales, PNG o JPG, bajo demanda.

Cómo funciona

  your prompt
      │
      ▼
  AI client  ──MCP/stdio──▶  poster-design-mcp
                                  │
                                  │ 1. pick a template  (src/templates/*.js)
                                  │ 2. derive the palette from brandColor
                                  │ 3. build an HTML + CSS document
                                  ▼
                            headless Chrome  ── screenshot ──▶  poster.png
                                                                     │
                                                                     ▼
                                                        ~/Documents/Poster Designs/
  1. El sistema de diseño son números, no sensaciones. Se extrajeron doce reglas de cuatro carteles de referencia y se escribieron en src/design-system.js como valores que las plantillas consumen de verdad: margen del 6.8% de la anchura, tipo principal entre 0.055 y 0.155 de la anchura, interlineado 0.90, interletraje −0.03em. El texto de DESIGN-PRINCIPLES.md y los píxeles renderizados se leen de las mismas constantes, así que la documentación no puede desviarse de la salida.

  2. Una plantilla convierte tu texto en un documento. Cada una de las cuatro plantillas (src/templates/) es una función: contenido de entrada, HTML y CSS de salida. Coloca las bandas, define los roles tipográficos, genera el patrón decorativo a partir de una semilla e incrusta cada imagen local como URI de datos.

  3. Headless Chrome hace la maquetación. Renderizar en un navegador aporta maquetación de texto real — fuentes de respaldo, guionado, recorte con object-fit, formas de letra con mix-blend-mode: multiply — y el bucle de autoajuste mide el titular realmente maquetado y lo reescala hasta que llena la medida. A continuación se hace una captura de la página en las dimensiones exactas de salida, con deviceScaleFactor haciendo el trabajo, de modo que un A4 a 300 dpi es realmente 2480×3508 píxeles y no un reescalado.

  4. El archivo va a Documentos. Un servidor MCP lo lanza su cliente y no tiene un directorio de trabajo significativo, así que los resultados se escriben en un lugar localizable y la herramienta devuelve la ruta.

No se sube nada. Sin clave de API, sin llamadas de red: todo el proceso se ejecuta en tu máquina.

Instalación

Requiere Node 20+ y un binario de Chrome/Chromium.

git clone https://github.com/suprisedr/poster-design-mcp.git
cd poster-design-mcp
npm install

npm install instala Puppeteer, que normalmente descarga su propio Chrome. Si no lo hizo, o si omitiste la descarga:

npx puppeteer browsers install chrome

Chrome se busca en este orden: $POSTER_CHROME_PATH → el Chrome gestionado por Puppeteer → Google Chrome o Chromium en las ubicaciones habituales del sistema. Para apuntar a un binario concreto:

export POSTER_CHROME_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

Comprueba que funciona:

npm test

Eso arranca el servidor por stdio, ejercita todas las herramientas y verifica los presupuestos de tokens. Después, para tener algo que ver:

npm run demo

Un cartel por plantilla en ./examples.

Conéctalo a tu cliente de IA

Claude Code

claude mcp add poster-design -- node /absolute/path/to/poster-design-mcp/src/server.js

Claude Desktop o cualquier archivo de configuración de MCP

Añade a mcpServers (en macOS, la configuración de Claude Desktop está en ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "poster-design": {
      "command": "node",
      "args": ["/absolute/path/to/poster-design-mcp/src/server.js"],
      "env": {
        "POSTER_BASE_DIR": "/absolute/path/to/poster-design-mcp"
      }
    }
  }
}

Usa rutas absolutas: el cliente lanza el servidor desde un directorio impredecible.

Variable de entorno

Significado

POSTER_BASE_DIR

Contra qué se resuelven las rutas relativas de imagen y de salida

POSTER_OUTPUT_DIR

Mueve la carpeta de salida predeterminada fuera de ~/Documents/Poster Designs

POSTER_CHROME_PATH

Binario explícito de Chrome/Chromium

Reinicia el cliente y aparecen las cuatro herramientas.

Cómo usarlo

Una vez conectado, solo tienes que pedir:

Hazme un cartel A4 para Golden Crust Bakery — panes y pasteles artesanales, 123 Maple Street, abierto de 6am a 6pm de martes a domingo. Naranja cálido, usa esta foto de pan.

El cliente elige una plantilla y llama a create_poster. Por debajo, eso es una única carga útil JSON:

{
  "template": "photo-overlay",
  "brandColor": "#0F918F",
  "size": "instagram-portrait",
  "format": "jpg",
  "content": {
    "brandName": "Guski",
    "logoBadge": true,
    "headline": "You love it,\nwe cover it",
    "subhead": "Cover that changes everything",
    "cta": { "label": "Get a quote", "phone": "061 306 081" },
    "legal": "Guski Short Term Insurance Ltd. Reg. No. 89/524.",
    "image": "examples/sample-photo.jpg",
    "imageFocus": "50% 45%"
  }
}

Devuelve una línea escueta — path | 2480x3508 png | 191KB | ... — y el archivo está en el disco.

Dos cosas que conviene saber al escribir el texto:

  • Usa \n en un titular para elegir dónde salta de línea. El generador ajusta el tamaño del tipo para llenar el bloque que escribas, así que el salto es una decisión de diseño y es tuya.

  • Mantenlo corto. Titular de 2 a 5 palabras, subtítulo de menos de 45 caracteres, cuerpo de dos líneas. La escala tipográfica está construida sobre un contraste extremo; un texto largo es lo que hace que un cartel parezca un folleto.

Galería

Resultados reales, una llamada a herramienta cada uno.

banded-editorial — banda de patrón, fotografía, bloque de texto. A4, 2480×3508.

El mismo cartel sin foto. Elimina el campo image y la banda central se convierte en un monograma de la inicial de la marca.

photo-overlay — fotografía a sangre, velo duotono, titular abajo a la izquierda, botón píldora de llamada a la acción y franja legal.

stat-hero — un campo plano, un número gigante como elemento gráfico, bloque de texto compacto.

chromatic-type — una palabra que se sale de los márgenes, letras superpuestas y multiplicadas en nuevos colores.

banded-editorial como cartel de evento, con una insignia y una franja de patrocinadores.

Las fotografías de muestra son imágenes de relleno incluidas para demostración; cambia por las tuyas.

Herramientas

Herramienta

Qué hace

list_poster_templates

Las cuatro plantillas y cuándo usar cada una, además de paletas, tamaños y fuentes. Pasa un id de template para ver la guía completa de campos de esa plantilla

get_design_principles

Las doce reglas, la escala tipográfica y las proporciones de maquetación. Pasa detail: true para ver el razonamiento y brandColor para la paleta derivada

create_poster

Renderiza un cartel a PNG/JPG y devuelve la ruta. Pasa preview: true para obtener una miniatura incrustada

create_poster_variants

El mismo texto en hasta 4 plantillas o paletas, para comparar

Plantillas

id

Basada en

Úsala para

banded-editorial

Un cartel de festival de jazz

Eventos, lanzamientos, programaciones. Banda de patrón + fotografía + bloque de texto + franja de patrocinadores

chromatic-type

Un cartel tipográfico de marca

Mensajes de marca y palabras de campaña, cuando no hay ninguna fotografía que merezca la pena imprimir

photo-overlay

Un anuncio de campaña de seguros

Publicidad de productos y servicios con llamada a la acción y letra pequeña

stat-hero

Un anuncio de aniversario

Hitos, resultados y ofertas que incluyen un número

Las reglas que hay detrás están en DESIGN-PRINCIPLES.md — un mensaje por cartel, bandas en lugar de cajas, contraste de escala de 6 a 12×, un único valor de margen, termina en una píldora.

Tamaños, paletas e imágenes

Tamaños. a4-print (2480×3508 @300dpi), a3-print, a5-flyer, poster-hd, instagram-post, instagram-portrait, story, web-banner — o pasa width y height en píxeles. La salida se ajusta exactamente a esas dimensiones.

Color. Pasa brandColor como hex y la paleta completa se deriva de él. O pasa palette para uno de los conjuntos con nombre (festival-block, prism-glass, night-drive, signal-teal, mono-ink), que prevalece sobre brandColor.

Imágenes. image, logo, badge.logo y partners[].logo aceptan una ruta local (absoluta, ~ o relativa a POSTER_BASE_DIR) o una URL http(s). Los archivos locales se incrustan como URI de datos antes de renderizar. Para stat-hero, un sujeto recortado sobre un PNG transparente te da el efecto de que el sujeto cruza el número.

Dónde se guardan los carteles

Los carteles terminados van a ~/Documents/Poster Designs.

outputDir

Se resuelve a

omitido

~/Documents/Poster Designs

"Q3 campaign"

~/Documents/Poster Designs/Q3 campaign

"./build", "~/Desktop" o una ruta absoluta

exactamente eso: las formas relativas se resuelven contra POSTER_BASE_DIR

Define POSTER_OUTPUT_DIR para mover el destino predeterminado a otro lugar, o outputPath para un archivo exacto.

Coste de tokens

La lista de herramientas de un servidor MCP se vuelve a enviar en cada petición de cada sesión, por lo que este está escrito para que sea barato mantenerlo en el contexto:

  • La lista de herramientas es de ~990 tokens, frente a los ~2.600 anteriores. Incluye nombres, opciones y nombres de campos; los significados de los campos se movieron detrás de list_poster_templates, que los llamadores que lo necesitan invocan una sola vez.

  • list_poster_templates devuelve ~390 tokens en lugar de ~1.700; pasa un id de template para una sola maquetación en lugar de las cuatro.

  • get_design_principles devuelve ~280 tokens en lugar de ~1.700; usa detail: true para obtener el razonamiento completo.

  • Los resultados son una línea escueta en lugar de un JSON formateado.

  • La imagen de vista previa integrada (200–500 tokens por póster) es opt-in mediante preview: true. El archivo está en Documents, que es un mejor lugar para verlo.

npm test comprueba el presupuesto de la lista de herramientas, así que una regresión en la parte más cara hace fallar la compilación.

Desarrollo

npm run demo    # one poster per template into ./examples
npm test        # boots the server over stdio, exercises every tool, checks the token budgets
src/
  server.js          MCP wiring: tool list, dispatch, terse results
  poster.js          orchestration — template → HTML → render → write
  design-system.js   the twelve rules as numbers: palettes, type scale, layout ratios
  templates/         one file per layout, each content → { body, css }
  lib/
    html.js          document assembly and escaping
    pattern.js       seeded decorative pattern generation
    media.js         image resolution and data-URI inlining
    render.js        headless Chrome lifecycle and screenshotting
    paths.js         output directory resolution

saveHtml: true escribe el código fuente HTML junto a la imagen, que es la forma más rápida de ver por qué algo se maquetó de esa manera. seed hace que el patrón y el jitter sean reproducibles.

Solución de problemas

Síntoma

Solución

Could not find Chrome

npx puppeteer browsers install chrome, o establece POSTER_CHROME_PATH

Las herramientas no aparecen en el cliente

Usa una ruta absoluta a src/server.js y reinicia el cliente

Las imágenes no se renderizan

Las rutas locales se resuelven con respecto a POSTER_BASE_DIR; establécelo o pasa una ruta absoluta

El póster se guarda en un lugar inesperado

El valor predeterminado es ~/Documents/Poster Designs; sobrescríbelo con outputDir o POSTER_OUTPUT_DIR

El titular se desborda

Pon tus propios saltos \n o acórtalo — el objetivo de diseño es de 2 a 5 palabras

Creador

Creado por Suprise Nkosi.

Las issues y las pull requests son bienvenidas.

Licencia

MIT — consulta LICENSE.

Available Tools

4 tools
create_posterB

Render a business poster to a PNG/JPG in ~/Poster Designs. Auto-fitted display type, band structure, one accent colour, protected legibility. Returns the file path.

NameRequiredDescriptionDefault
seedNoSame seed = same pattern/jitter.
sizeNoDefault a4-print.
fontsNoRoles display/text. grotesque|humanist|black|geometric|serif|mono or a CSS font-family.
widthNoCustom px width (with height).
formatNoDefault png.
heightNo
contentYesCopy and imagery. Fields (* = required): banded-editorial(headline*, subhead, details, eyebrow, badge, partners, image, imageFocus, patternDensity); chromatic-type(word*, tagline, brandLine, overlap, jitter, shards, bleed, fill); photo-overlay(headline*, subhead, cta, brandName, logo, logoBadge, legal, image*, imageFocus, scrim, treatment); stat-hero(headline*, subhead, figure*, labelTop, labelBottom, body, tag, image, cutout, logo, figureStyle). Field meanings: list_poster_templates. Use \n in a headline to set the rag.
paletteNofestival-block|prism-glass|night-drive|signal-teal|mono-ink or a hex. Beats brandColor.
previewNoReturn an inline thumbnail to look at. Costs tokens; default false.
qualityNoJPEG quality 1-100, default 92.
filenameNoName without extension.
saveHtmlNoAlso write the HTML source.
templateYes
outputDirNoAbsolute path, or a subfolder of ~/Poster Designs (the default).
brandColorNoBrand hex; a full palette is derived from it.
outputPathNoExact output path.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral disclosure burden. It does transparently mention file output formats, the output directory, and the return value, and it adds design automation traits such as auto-fitted display type and protected legibility. However, it does not mention overwrite behavior, permissions, or other side effects beyond writing the poster file.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: purpose, key output behavior, and return value appear in three short sentences. The design-behavior clause is useful but uses some jargon (e.g., 'band structure', 'protected legibility') that is not explained; still, there is minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (16 parameters, nested content objects, four templates), the description is brief but the schema compensates with rich parameter documentation. It covers the output path and basic design behavior, but it lacks guidance on when to choose this tool over create_poster_variants and does not summarize template requirements in the main description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is high (88%), and the schema already documents parameter meanings, defaults, enums, and nested template-specific fields. The description adds no parameter-level detail beyond general design intent, so the baseline 3 applies because the schema carries most of the semantic weight.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Render a business poster to a PNG/JPG'), a target location ('~/Poster Designs'), and the return value ('Returns the file path'). It clearly identifies this as a poster-generation tool, though it does not explicitly distinguish it from the sibling create_poster_variants.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus create_poster_variants, or how it relates to list_poster_templates and get_design_principles. Usage context is only implied by the phrase 'Render a business poster' and the parameter schema; there are no exclusions or alternative-selection hints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_poster_variantsA

Same message across several templates/palettes in one call, to compare directions.

NameRequiredDescriptionDefault
contentYesShared copy; fields as in create_poster.
templateNoFallback when a variant names none.
variantsYesUp to 4 override objects: template, palette, brandColor, seed, fonts, filename or extra content fields. Any create_poster option may also be set at the top level as a shared default.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral disclosure burden. It accurately communicates the key batch behavior (several variants in one call) and the comparison intent, but it does not mention return format, failure modes, or any side effects. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One concise sentence that delivers the core value proposition without wasted words. It is front-loaded with the batch concept and ends with the purpose, making it easy to scan. Slightly more explicit structure would improve it, but it is appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter tool with nested objects and no output schema, the description gives enough context to select the tool and understand its general purpose. However, an agent would still need to rely on the schema for override semantics and would not know what the response contains. Functional for selection, incomplete for full invocation confidence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the structured schema already documents content, template fallback behavior, and variant overrides. The description adds the conceptual 'same message across templates' framing but no additional parameter-level detail beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly conveys that the tool generates the same message across multiple templates/palettes in a single call, which differentiates it from the singular create_poster sibling. It lacks an explicit verb but the resource and batch scope are unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'to compare directions' provides a clear context for when this tool is appropriate: when the user wants to explore multiple visual directions at once. It does not explicitly name alternatives or exclusions, but the batch comparison purpose is evident from the description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_design_principlesA

The design rules, type scale and layout ratios the generator applies. For writing copy that fits, or critiquing output.

NameRequiredDescriptionDefault
detailNoFull rationale per rule instead of one line each.
brandColorNoAlso return the palette derived from this hex.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of explaining behavior. It communicates that this is a read-oriented informational tool returning rules, type scale, and ratios, but it does not explicitly state the return format, side effects, or any constraints such as whether brandColor changes the returned rules.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler. The first sentence establishes what the tool returns and the second gives actionable usage guidance, so every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple getter with two optional parameters and no output schema, the description names the key return content and intended use. It would be more complete with a sentence about what the response contains, but for this complexity the coverage is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description adds no parameter-level meaning, but the baseline of 3 applies because the schema handles the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource as the generator's design rules, type scale, and layout ratios, and states its intended use in writing or critiquing copy. It does not explicitly contrast with sibling tools, but the subject matter is obviously distinct from template listing and poster creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence gives explicit use cases: 'For writing copy that fits, or critiquing output.' It does not state exclusions or point to alternatives, so it stops short of a 5, but the situational context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_poster_templatesA

Field guide for the poster layouts, plus palettes, sizes and fonts. Pass a template id for that one layout only. Call once before create_poster if unsure.

NameRequiredDescriptionDefault
templateNoJust this layout, in full.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It implies read-only behavior through 'field guide' and describes the optional filter behavior ('Pass a template id for that one layout only'), which adds useful context. However, it never explicitly states that the operation is read-only, nor does it describe the default return behavior when no template is passed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with no fluff. The purpose is front-loaded, the optional parameter behavior is stated in the second sentence, and the workflow guidance is in the third. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one optional parameter and no output schema, the description adequately covers what the tool returns, the filtering behavior, and when to call it. The main gap is the absence of any distinction from the sibling get_design_principles, which could leave an agent uncertain which reference tool to select.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the template parameter. The description adds only 'for that one layout only,' which reinforces the schema's 'Just this layout, in full' but does not materially extend it. This is the appropriate baseline when the schema handles parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a reference for poster layouts, palettes, sizes, and fonts, which is a specific resource and content scope. It does not explicitly use the verb 'list' but the name and 'field guide' make the informational purpose clear. It distinguishes itself from create_poster by placement in workflow, though it does not differentiate from sibling get_design_principles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit contextual guidance: 'Call once before create_poster if unsure.' This tells the agent when to use the tool and provides a workflow cue. It does not state when not to use it or explicitly compare to get_design_principles, so it stops short of full alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.1.0
    • First observedcreate_poster
    • First observedcreate_poster_variants
    • First observedget_design_principles
    • First observedlist_poster_templates

TDQS

A3.8/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: discovering templates, learning design principles, creating a single poster, and creating variants. Even the two create tools are distinguishable by single vs. batch behavior.

Naming Consistency5/5

All tool names follow the same verb_noun snake_case pattern: list_, get_, create_, create_. The naming is predictable and indicates the action and resource clearly.

Tool Count5/5

Four tools is well-scoped for a poster design server, covering discovery, guidance, creation, and variation. The set feels intentionally minimal rather than bloated or incomplete.

Completeness4/5

The core workflow is covered: browse templates, learn design rules, create a poster, and generate variants. Minor gaps exist around modifying or deleting generated posters, but these are not clearly required for the server's stated purpose.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to convert natural-language briefs into structured visual specs, deterministically render typography and layouts, and run constraint-aware visual QA and targeted repair for image generation.
    30 npm
    Apache 2.0
  • F
    license
    B
    quality
    C
    maintenance
    Enables brand-guided design generation by creating social media graphics, quote posts, and one-page layouts from a fictional sample identity, with asset validation and auditing.
    13
    -