Skip to main content
Glama

poster-design-mcp

ビジネスポスターをデザインするMCPサーバーです。AIクライアントに平易な言葉でポスターを依頼すると、実際のPNGまたはJPGをディスクに書き出します。印刷解像度で、当てずっぽうではなくデザインシステムによってレイアウトされます。

このページのポスターはすべて、1回のツール呼び出しで生成されたものです。詳細は**ギャラリー**をご覧ください。


目次


Related MCP server: Canvora MCP

概要

多くのAI画像ツールはポスターを描くため、文字が溶けたようになり、電話番号もでたらめになります。このサーバーはポスターを組版します。見出しは実際のフォントによる実際のテキストであり、価格は指定した価格のまま、出力は正確なピクセル寸法—A4・300dpiなら2480×3508—で生成され、印刷にそのまま使えます。

次のものが得られます。

  • 4つのレイアウト—4枚の参考ポスター(イベント、ブランドステートメント、商品広告、マイルストーン数字)から導出。

  • 1つのhexコードから生成されるパレット。 ブランドカラーを渡すと、地色・インク色・アクセント色・パターンの階調がそこから導出されます。インク色はコントラスト比で選ばれるため、テキストは読みやすさを保てます。

  • 自動フィットの見出し書体。 最長の行がマージンに届くまで見出しは大きくなり、そこで止まります。改行位置はあなたが決め、サイズはサーバーが決めます。

  • 実際の写真の処理—フルブリードの切り抜き、フォーカルポイント、グラデーションのスクリムを備え、文字が画像の上に素のまま載ることがありません。

  • 印刷用・SNS用のサイズ、PNGまたはJPGをオンデマンドで。

仕組み

  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. デザインシステムは数値であり、雰囲気ではありません。 12のルールを4枚の参考ポスターから読み取り、テンプレートが実際に使用する値としてsrc/design-system.jsに書き込みました。マージンは幅の6.8%、ヒーロー書体は幅の0.055〜0.155、行送り0.90、トラッキング−0.03em。DESIGN-PRINCIPLES.mdの文章とレンダリングされたピクセルは同じ定数を参照しているため、ドキュメントが出力から乖離することはありません。

  2. テンプレートがコピーをドキュメントに変換します。 4つのテンプレート(src/templates/)はそれぞれ関数であり、コンテンツを入力するとHTMLとCSSを出力します。バンドの配置、タイプの役割の設定、シードからの装飾パターンの生成、ローカル画像のdata URIとしてのインライン化を行います。

  3. レイアウトはHeadless Chromeが行います。 ブラウザでのレンダリングによって、実際のテキストレイアウト—フォントフォールバック、ハイフネーション、object-fitによる切り抜き、mix-blend-mode: multiplyの文字形—が得られ、オートフィットループは実際に組まれた見出しを測定して、行長(メジャー)を満たすまで再スケーリングします。その後、deviceScaleFactorの働きにより、ページは正確な出力寸法でスクリーンショットされます。そのため、300dpiのA4はアップスケールではなく、本当の2480×3508ピクセルになります。

  4. ファイルはDocumentsに保存されます。 MCPサーバーはクライアントによって起動され、意味のある作業ディレクトリを持たないため、結果は見つけやすい場所に書き出され、ツールはそのパスを返します。

何もアップロードされません。APIキーもネットワーク呼び出しもなく、パイプライン全体があなたのマシン上で動作します。

インストール

Node 20+が必要で、Chrome/Chromiumのバイナリが必要です。

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

npm installを実行するとPuppeteerが取得され、通常はそれ自身のChromeがダウンロードされます。ダウンロードされなかった場合、またはダウンロードをスキップした場合:

npx puppeteer browsers install chrome

Chromeは次の順序で検出されます: $POSTER_CHROME_PATH → Puppeteerが管理するChrome → 通常のシステム上の場所にあるGoogle ChromeまたはChromium。特定のバイナリを指定するには:

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

動作を確認するには:

npm test

これによりサーバーがstdio経由で起動し、すべてのツールを実行してトークン予算を検証します。次に、目で確認できる何かを作るには:

npm run demo

各テンプレートにつき1枚のポスターを./examplesに生成します。

AIクライアントに接続する

Claude Code

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

Claude Desktop、または任意のMCP設定ファイル

mcpServersに追加します(macOSでは、Claude Desktopの設定は~/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"
      }
    }
  }
}

絶対パスを使用してください。クライアントは予測不能なディレクトリからサーバーを起動するためです。

環境変数

意味

POSTER_BASE_DIR

相対パスの画像・出力パスが解決される基準

POSTER_OUTPUT_DIR

デフォルトの出力フォルダを~/Documents/Poster Designsから変更する

POSTER_CHROME_PATH

明示的なChrome/Chromiumバイナリ

クライアントを再起動すると、4つのツールが表示されます。

使い方

接続が完了したら、依頼するだけです:

Golden Crust BakeryのA4ポスターを作ってください。ハンドメイドのパンとペストリー、123 Maple Street、営業時間は火曜〜日曜の午前6時〜午後6時。暖かいオレンジ色で、このパンの写真を使ってください。

クライアントはテンプレートを選び、create_posterを呼び出します。内部では、これは1つの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%"
  }
}

1行の簡潔な出力—path | 2480x3508 png | 191KB | ...—を返し、ファイルがディスクに保存されます。

コピーを書くときに知っておくとよいことが2つあります:

  • 見出しに\nを使うと改行位置を指定できます。ジェネレーターは、あなたが書いたラグ(行端の不揃い)を埋めるように書体サイズを調整するため、改行位置はデザイン上の決定であり、それはあなたのものです。

  • 短くまとめる。 見出しは2〜5語、サブ見出しは45文字以内、本文は2行まで。タイプスケールは極端なコントラストに基づいて構築されており、長いコピーはポスターをチラシのように見せてしまいます。

ギャラリー

実際の出力であり、それぞれ1回のツール呼び出しで生成されたものです。

banded-editorial — パターンバンド、写真、タイプブロック。A4、2480×3508。

写真なしの同じポスター。 imageフィールドを省略すると、中央のバンドがブランドイニシャルのモノグラムになります。

photo-overlay — フルブリードの写真、デュオトーンのスクリム、左下の見出し、ピル型CTA、リーガルレール。

stat-hero — 単色フラットなフィールドに、アートワークとしての巨大な数字、コンパクトに積まれたコピー。

chromatic-type — マージンを超えて突き出た1語、重なり合って新しい色を生み出す文字。

**banded-editorial**をイベント告知として使用。バッジとスポンサーレール付き。

サンプル写真はデモ用に含まれたプレースホルダー画像です。ご自身の画像に差し替えてください。

ツール

ツール

機能

list_poster_templates

4つのレイアウトとそれぞれの使用場面、さらにパレット・サイズ・フォントを返します。template IDを渡すと、そのレイアウトの完全なフィールドガイドを返します

get_design_principles

12のルール、タイプスケール、レイアウト比率を返します。detail: trueで根拠を、brandColorで導出されたパレットを取得できます

create_poster

1枚のポスターをPNG/JPGでレンダリングし、パスを返します。preview: trueでインラインのサムネイルを返します

create_poster_variants

同じコピーを最大4つのテンプレートまたはパレットで比較用に生成します

テンプレート

id

原型

使用場面

banded-editorial

ジャズフェスティバルのビラ

イベント、ローンチ、ラインナップ。パターンバンド+写真+タイプブロック+スポンサーレール

chromatic-type

タイポグラフィ主体のブランドポスター

ブランドステートメントやキャンペーンのキーワード。印刷する価値のある写真がない場合

photo-overlay

保険キャンペーン広告

コールトゥアクションと小さな注記を伴う商品・サービス広告

stat-hero

周年記念広告

数字を含むマイルストーン、実績、オファー

これらの背景にあるルールは**DESIGN-PRINCIPLES.md**にあります—ポスターごとに1つのメッセージ、ボックスではなくバンド、6〜12倍のスケールコントラスト、マージンは1つの値、最後はピル型で締める。

サイズ、パレット、画像

サイズ。 a4-print(2480×3508 @300dpi)、a3-print、a5-flyer、poster-hd、instagram-post、instagram-portrait、story、web-banner—またはwidthとheightをピクセルで指定します。出力は指定した寸法に正確に一致します。

色。 brandColorをhexで渡すと、そこからパレット全体が導出されます。または、名前付きセット(festival-block、prism-glass、night-drive、signal-teal、mono-ink)のいずれかをpaletteで渡すこともでき、こちらはbrandColorより優先されます。

画像。 image、logo、badge.logo、partners[].logoには、ローカルパス(絶対パス、~、またはPOSTER_BASE_DIRからの相対パス)またはhttp(s) URLを指定できます。ローカルファイルはレンダリング前にdata URIとしてインライン化されます。stat-heroでは、透明なPNG上の切り抜き済みの被写体を使うと、被写体が数字を横切る効果が得られます。

ポスターの保存先

完成したポスターは**~/Documents/Poster Designs**に保存されます。

outputDir

解決先

省略

~/Documents/Poster Designs

"Q3 campaign"

~/Documents/Poster Designs/Q3 campaign

"./build"、"~/Desktop"、または絶対パス

そのままのパス—相対形式はPOSTER_BASE_DIRを基準に解決

デフォルトの保存先を変更するにはPOSTER_OUTPUT_DIRを、1つの正確なファイルを指定するにはoutputPathを設定します。

トークンコスト

MCPサーバーのツールリストは、各セッションのすべてのリクエストで再送信されるため、このサーバーはコンテキストに保持しても安価で済むように設計されています:

  • ツールリストは 約990トークン(従来は約2,600) になりました。名前・オプション・フィールドの名前を含み、フィールドの意味は list_poster_templates の背後に移動しました。list_poster_templates はそれを必要とする呼び出し元によって一度だけ呼び出されます。

  • list_poster_templates は約1,700トークンの代わりに約390トークンを返します。4つすべてではなく1つのレイアウトに対して template IDを渡してください。

  • get_design_principles は約1,700トークンの代わりに約280トークンを返します。完全な推論を得るには detail: true を指定します。

  • 結果は整形されたJSONではなく、簡潔な1行です。

  • インラインのプレビュー画像(ポスターあたり200〜500トークン)は preview: true によるオプトインです。ファイルは Documents にあり、そこが画像を確認するのに適した場所です。

npm test はツールリストのトークン予算を検証するため、最もコストのかかる部分で回帰が発生するとビルドが失敗します。

開発

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 を指定すると、HTMLソースが画像の隣に書き出されます。これは、何かがそのようにレイアウトされた理由を確認する最も速い方法です。seed を指定すると、パターンとジッターを再現可能にできます。

トラブルシューティング

症状

対処法

Could not find Chrome が表示される

npx puppeteer browsers install chrome を実行するか、POSTER_CHROME_PATH を設定してください

ツールがクライアントに表示されない

src/server.js への絶対パスを使用し、クライアントを再起動してください

画像がレンダリングされない

ローカルパスは POSTER_BASE_DIR を基準に解決されます。それを設定するか、絶対パスを渡してください

ポスターが想定外の場所に書き出される

デフォルトは ~/Documents/Poster Designs です。outputDir または POSTER_OUTPUT_DIR で上書きしてください

見出しがはみ出す

独自の \n 改行を入れるか、短くしてください。2〜5語がデザイン上の目標です

作成者

Suprise Nkosi によって制作されました。

Issue とプルリクエストを歓迎します。

ライセンス

MIT — 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 recent community 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.
    45 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
    -