CCM
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Claude Code Marketplaces

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Skill index
  • MCP index
  • Marketplace index
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by mertbuilds.com

Independent project, not affiliated with Anthropic
kirrrr-2423 avatar

ShapeWords MCP

kirrrr-2423/shapewords-mcp
authSTDIOregistry active
Summary

Wraps the ShapeWords rendering engine so Claude can generate word clouds as SVG, PNG, or JSON directly from conversation text or weighted word lists. Exposes three tools: render_word_cloud for one-shot generation with polling, create_word_cloud_job for async workflows, and get_word_cloud_job for status checks. You can pass raw text and let ShapeWords tokenize it, or send explicit word weights when you need control over sizing. Supports 40+ built-in shapes (cloud, heart, star, brand logos), custom SVG paths, and full control over dimensions, fonts, rotation presets, color palettes, and layout seeds for reproducible output. Runs against the hosted API by default or locally with engine: "skia" for offline rendering. Useful when you want to visualize meeting notes, research snippets, or any text Claude processes without leaving the protocol.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
ego lite browserego lite browser
ego lite browser
Fastest browser for AI agents to run web automation tasks, always free.
Download Free life-time →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
CodeHealth MCP ServerCodeHealth MCP Server
CodeHealth MCP Server
Protect your code quality, stop the AI slop.
Try For Free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
ego lite browserego lite browser
ego lite browser
Fastest browser for AI agents to run web automation tasks, always free.
Download Free life-time →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
CodeHealth MCP ServerCodeHealth MCP Server
CodeHealth MCP Server
Protect your code quality, stop the AI slop.
Try For Free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →

ShapeWords MCP

Universal MCP server for generating word clouds with ShapeWords.

It exposes ShapeWords rendering tools through the Model Context Protocol, so any MCP-capable client can create SVG, JSON, or PNG word clouds from text, workshop notes, prompts, research snippets, or agent output. By default it uses the hosted ShapeWords Render API; with engine: "skia" it renders locally inside the MCP server with the shared layout core and CanvasKit/Skia.

Tools

All tools use stdio MCP transport.

render_word_cloud

Creates a ShapeWords render job, polls until it is finished, and returns:

  • public artifact URL for hosted renders, or a local inline artifact for engine: "skia";
  • job metadata;
  • optional image content for MCP clients that support image results.

Use this tool for one-shot generation when the caller wants the final artifact.

create_word_cloud_job

Starts a render job and returns the job/status/artifact URLs without waiting.

Use this tool for asynchronous workflows where the client will poll later.

get_word_cloud_job

Checks a render job by ID.

Use this tool with the jobId returned by create_word_cloud_job or render_word_cloud.

Input Schema

render_word_cloud accepts all render options below. create_word_cloud_job accepts the hosted options only: engine: "skia" is local-only and is supported by render_word_cloud.

FieldTypeDefaultLimitsDescription
renderProfileenumcanvascanvas, apiDefault option profile. canvas matches the main ShapeWords canvas; api keeps the older compact Render API defaults.
textstringoptional1-100,000 charsSource text for the word cloud. Required unless words is provided.
wordsobject[]optional1-1000 itemsExplicit weighted words. Use when the caller already tokenized, lemmatized, or scored text.
localeenumenen, ru, ar, es, fr, zhRender/UI locale passed to ShapeWords.
formatenumsvgsvg, png, jsonArtifact format. SVG is the fastest default. JSON returns layout data. PNG is rasterized from the same shared layout.
widthinteger800240-4096Canvas width in pixels.
heightinteger600240-4096Canvas height in pixels.
backgroundenumwhitetransparent, white, darkOutput background.
qualityenumhqsq, hqStandard or high-quality render. hq matches the main canvas export scale and is slower.
engineenumautoauto, browser, browserless, skiaRenderer engine. skia uses the local MCP shared-core + CanvasKit renderer without server-side Chromium.
returnLayoutbooleanfalsetrue/falseInclude layout metadata when supported.
shapeTypestringcloud1-80 charsShape id. Use a built-in id or custom with customShapeDefinition.
customShapeDefinitionobjectomittedsee belowCustom SVG path shape. Required when shapeType is custom.
maxWordsinteger7001-1000Maximum number of words to place.
seedinteger00-4294967295Unsigned 32-bit layout seed for reproducible browserless renders. Same input, options, and seed produce the same SVG/layout.
fontFamilystringMontserrat1-80 charsShapeWords font family name, for example Inter, Roboto, Montserrat, Noto Sans.
minFontSizeinteger184-400Minimum word font size.
maxFontSizeinteger968-700Maximum word font size.
paddinginteger30-100Pixel padding used by collision detection.
rotationPresetenumorthogonalsee belowRotation preset matching the main ShapeWords canvas.
rotationsinteger[]omitted-90 to 90, max 64 valuesExplicit rotation angles. When provided, these override rotationPreset.
spiralTypeenumarchimedeanarchimedean, rectangularPlacement spiral algorithm.
fillModeenumfillfill, frequencyShape filling strategy.
palettestring[]service defaultup to 12 colorsHex colors: #rgb, #rrggbb, or #rrggbbaa.
colorModeenumservice defaultsequential, random, byFrequencyHow palette colors are assigned to words.
returnImagebooleanfalserender_word_cloud onlyDownload the finished SVG/PNG artifact and return it as MCP image content.
pollIntervalMsintegerenv/default250-10,000Polling interval for render_word_cloud.
pollTimeoutMsintegerenv/default1,000-180,000Maximum wait time for render_word_cloud.

get_word_cloud_job accepts:

FieldTypeLimitsDescription
jobIdstring6-64 charsShapeWords render job id.

words items use this shape:

FieldTypeDefaultLimitsDescription
textstringrequired1-120 charsDisplay word or emoji.
valueinteger11-100,000Weight/frequency used for sizing.
kindenumwordword, emojiWord type. Emoji are kept horizontal by the renderer.
sizeScalenumberomitted0.1-5Optional extra size multiplier used by the ShapeWords layout core when available.
repeatbooleantruetrue/falseWhether the layout may repeat this word to improve shape filling.

Rotation presets:

horizontal, vertical, orthogonal, crossing, crossingVoids, dancing,
positiveSlope, negativeSlope, random, custom, mixed, angled, free

renderProfile: "canvas" sends the same practical defaults as the main editor canvas: shapeType: "cloud", width: 800, height: 600, quality: "hq", maxWords: 700, seed: 0, fontFamily: "Montserrat", minFontSize: 18, maxFontSize: 96, padding: 3, rotationPreset: "orthogonal", spiralType: "archimedean", and fillMode: "fill".

Use renderProfile: "api" only when you need the older compact Render API defaults: circle shape, 1024x640, SQ quality, and 120 max words.

Text Input

The MCP server can send either raw text, explicit words, or both:

  • repeated words increase frequency, for example cloud cloud cloud render render API;
  • words[] preserves caller-provided weights and avoids differences in tokenization, stop words, or lemmatization;
  • when both text and words[] are present, ShapeWords renders from words[] and keeps text as source context;
  • paragraphs, meeting notes, workshop notes, prompts, research snippets, and keyword lists are valid;
  • files such as CSV, Excel, or Google Sheets are not uploaded through this MCP server; paste or generate the text content first.

Example weighted text:

{
  "text": "MCP MCP MCP ShapeWords ShapeWords word cloud word cloud render API agents tools",
  "shapeType": "cloud",
  "format": "svg",
  "seed": 12345
}

Example explicit weighted words:

{
  "words": [
    { "text": "ShapeWords", "value": 12 },
    { "text": "MCP", "value": 9 },
    { "text": "canvas", "value": 7 },
    { "text": "layout", "value": 6 },
    { "text": "render", "value": 5 }
  ],
  "shapeType": "cloud",
  "format": "svg"
}

Shapes

Use shapeType to choose the word-cloud mask.

Stable built-in shape ids accepted by the production renderer include:

rectangle, circle, heart, star, cloud, diamond, tree, triangle, arrow,
square, pentagon, hexagon, octagon, cross, plus, moon, sun, drop,
flame, leaf, flower, mountain, apple, house, book, camera, music,
chat, location, trophy, rocket, plane, car, shield, lightning, check,
infinity, tag

Built-in brand shape ids include:

brand-product-hunt, brand-y-combinator, brand-hacker-news,
brand-indie-hackers, brand-github, brand-figma, brand-notion,
brand-stripe, brand-vercel, brand-linear, brand-supabase,
brand-railway, brand-netlify, brand-firebase, brand-cloudflare,
brand-airtable, brand-replit, brand-anthropic

The production renderer may also accept additional generated ShapeWords ids. For portable automation, prefer the stable ids above or pass a custom SVG shape.

The local engine: "skia" path currently supports rectangle, square, circle, diamond, triangle, star, heart, cloud, custom SVG shapes, and vendored Font Awesome shape ids such as fa-cat. Unsupported local shape ids are rejected instead of silently changing the requested shape.

Custom Shapes

Set shapeType to custom and provide customShapeDefinition:

FieldTypeRequiredLimitsDescription
pathstringyes1-100,000 charsSVG path data used as the mask.
viewBoxstringyes1-120 charsSVG viewBox, for example 0 0 100 100.
fillRuleenumnononzero, evenoddSVG fill rule. Defaults to renderer behavior when omitted.
namestringno1-80 charsOptional human-readable name.
nameEnstringno1-80 charsOptional English name.

Custom heart example:

{
  "text": "love love design care product community team support",
  "shapeType": "custom",
  "customShapeDefinition": {
    "name": "Heart",
    "path": "M 50 90 C 25 70, 0 50, 0 30 A 25 25 0 0 1 50 30 A 25 25 0 0 1 100 30 C 100 50, 75 70, 50 90 Z",
    "viewBox": "0 0 100 100",
    "fillRule": "nonzero"
  },
  "format": "svg"
}

Output

render_word_cloud returns:

  • text content with the completed job id and artifact location;
  • structuredContent.job with normalized job metadata;
  • structuredContent.artifactUrl for hosted renders;
  • structuredContent.localArtifact for engine: "skia";
  • structuredContent.siteUrl;
  • optional MCP image content when returnImage is true and format is svg or png.

For engine: "skia", render_word_cloud always returns inline MCP image content for format: "png" or format: "svg" because there is no hosted artifact URL.

create_word_cloud_job returns the same metadata immediately after job creation, without waiting for completion.

get_word_cloud_job returns the latest job status and artifact URL.

Generated artifact URLs are short-lived because the ShapeWords Render API stores render jobs in memory.

Format and Engine Notes

  • svg is the recommended automation format: it is fast, compact, and works with the browserless shared-core renderer.
  • json returns layout data from the same shared-core placement.
  • png is rasterized from the same generated SVG/layout, so word placement matches SVG/JSON for the same input and options.
  • engine: "auto" is recommended unless you need to force a specific path.
  • engine: "browserless" supports svg, json, and png.
  • engine: "browser" supports svg and png, not json.
  • engine: "skia" is local-only and supported by render_word_cloud. It does not create pollable hosted jobs. Layout is generated by the vendored ShapeWords shared core; PNG is drawn directly with CanvasKit/Skia.
  • seed is honored by browserless/shared-core renders. Use engine: "auto" or engine: "browserless" for reproducible API/MCP output.
  • Non-zero seed with forced engine: "browser" is rejected by the Render API because the browser fallback does not use the deterministic shared-core seed path.

Quick Start

Run directly from GitHub:

npx -y github:kirrrr-2423/shapewords-mcp

Or clone locally:

git clone https://github.com/kirrrr-2423/shapewords-mcp.git
cd shapewords-mcp
npm install
npm start

Client Configuration

Use stdio transport in any MCP-compatible client.

{
  "mcpServers": {
    "shapewords": {
      "command": "npx",
      "args": ["-y", "github:kirrrr-2423/shapewords-mcp"],
      "env": {
        "SHAPEWORDS_API_BASE_URL": "https://shapewords.fun"
      }
    }
  }
}

For a local clone:

{
  "mcpServers": {
    "shapewords": {
      "command": "node",
      "args": ["/absolute/path/to/shapewords-mcp/src/index.js"],
      "env": {
        "SHAPEWORDS_API_BASE_URL": "https://shapewords.fun"
      }
    }
  }
}

Environment

VariableDefaultDescription
SHAPEWORDS_API_BASE_URLhttps://shapewords.funShapeWords app URL.
SHAPEWORDS_RENDER_API_KEYemptyOptional bearer token if your Render API requires one.
SHAPEWORDS_API_KEYemptyBackward-compatible alias for SHAPEWORDS_RENDER_API_KEY.
SHAPEWORDS_POLL_INTERVAL_MS1500Polling interval for completed renders.
SHAPEWORDS_POLL_TIMEOUT_MS90000Render wait timeout.
SHAPEWORDS_REQUEST_TIMEOUT_MS30000Per-request timeout for hosted API and artifact requests.
SHAPEWORDS_MAX_IMAGE_BYTES8388608Max downloaded artifact size when returnImage is true.

Example Prompt

Create a fast SVG word cloud about MCP, universal tools, word cloud generation, AI agents, and ShapeWords. Use the default ShapeWords canvas profile and return the artifact URL.

Example tool input:

{
  "text": "MCP MCP MCP Model Context Protocol word cloud word cloud ShapeWords tools resources prompts stdio server client universal integration connector API render PNG SVG artifact agents automation context protocol schema",
  "locale": "en",
  "format": "svg",
  "width": 800,
  "height": 600,
  "background": "white",
  "quality": "hq",
  "engine": "auto",
  "returnLayout": false,
  "shapeType": "cloud",
  "seed": 12345,
  "palette": ["#7c3aed", "#ddd6fe", "#14b8a6", "#111827"],
  "returnImage": false
}

More Examples

Transparent PNG

{
  "text": "launch launch startup product customers retention growth metrics roadmap",
  "format": "png",
  "engine": "auto",
  "shapeType": "rocket",
  "width": 1200,
  "height": 900,
  "background": "transparent",
  "quality": "hq",
  "returnImage": true
}

Local Skia PNG

{
  "words": [
    { "text": "MCP", "value": 12 },
    { "text": "ShapeWords", "value": 10 },
    { "text": "Skia", "value": 8 },
    { "text": "CanvasKit", "value": 7 },
    { "text": "local", "value": 6 },
    { "text": "renderer", "value": 5 }
  ],
  "format": "png",
  "engine": "skia",
  "shapeType": "cloud",
  "width": 800,
  "height": 600,
  "quality": "sq",
  "seed": 12345
}

JSON Layout

{
  "text": "design system tokens components variants accessibility contrast typography layout",
  "format": "json",
  "engine": "browserless",
  "shapeType": "diamond",
  "returnLayout": true,
  "seed": 7,
  "maxWords": 80
}

Reproducible SVG

{
  "text": "MCP shared core browserless renderer reproducible seed deterministic layout",
  "format": "svg",
  "engine": "browserless",
  "shapeType": "cloud",
  "returnLayout": true,
  "seed": 12345
}

Custom Palette and Font

{
  "text": "research synthesis interview persona journey insight opportunity experiment",
  "format": "svg",
  "shapeType": "book",
  "fontFamily": "Roboto",
  "palette": ["#111827", "#2563eb", "#14b8a6", "#f59e0b"],
  "colorMode": "byFrequency",
  "maxWords": 160
}

Development

npm install
npm run smoke
npm run smoke:skia
npm run inspect

The server uses stdio and writes protocol messages to stdout. Diagnostics are written to stderr.

Notes

  • Set returnImage: true in render_word_cloud when the MCP client supports image content and needs hosted-render bytes inline. Local Skia image renders are inline automatically.
  • For automation-heavy use, prefer SVG or JSON layout artifacts; request PNG only when the caller needs raster pixels.
  • Set seed when the caller needs repeatable SVG/JSON/PNG placement across MCP runs. engine: "skia" is deterministic by default.
  • Local Skia PNG output is capped at 40,000,000 pixels after quality scaling to avoid excessive local memory use.
  • Local Skia font rendering currently supports bundled Montserrat and OpenDyslexic only. Hosted renders may support more font families.
  • The MCP schema currently exposes rendering and style options only. It does not expose ShapeWords UI-only workflows such as the advanced word editor, 2D/3D view switching, CSV/Excel upload, Google Sheets import, or live room controls.
  • padding, rotationPreset, rotations, spiralType, and fillMode are exposed so MCP callers can match the main ShapeWords canvas more closely.

See THIRD_PARTY_NOTICES.txt for bundled Font Awesome and font asset notices.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
ego lite browserego lite browser
ego lite browser
Fastest browser for AI agents to run web automation tasks, always free.
Download Free life-time →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
CodeHealth MCP ServerCodeHealth MCP Server
CodeHealth MCP Server
Protect your code quality, stop the AI slop.
Try For Free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →

Configuration

SHAPEWORDS_API_BASE_URLdefault: https://shapewords.fun

ShapeWords Render API base URL. Defaults to the public ShapeWords service.

SHAPEWORDS_RENDER_API_KEYsecret

Optional bearer token for protected ShapeWords Render API deployments.

SHAPEWORDS_POLL_TIMEOUT_MSdefault: 90000

Maximum time to wait for hosted render jobs, in milliseconds.

SHAPEWORDS_REQUEST_TIMEOUT_MSdefault: 30000

Per-request timeout for ShapeWords API calls, in milliseconds.

Categories
Design & CreativeData & AnalyticsProductivity & Office
Registryactive
Packageshapewords-mcp
TransportSTDIO
AuthRequired
UpdatedJun 5, 2026
View on GitHub

Related Design & Creative MCP Servers

View all →
koneisto avatar
Homeassistant Light Mcp

koneisto/homeassistant-light-mcp

Control Home Assistant lights and scenes. Lights only by design for safety.
koneisto avatar
No As A Service

koneisto/no-as-a-service

1000+ creative ways to say no. Polite, humorous, professional rejection responses.
kylecassie avatar
cakesmash-mcp

kylecassie/cakesmash-mcp

Reel scripts, hooks, and the **P.U.L.S.E.™** practice diagnostic for cosmetic dental, medical spa, and plastic surgery practices. ## Tools - **`get_reel_script_sample(niche, angle?)`** — Returns one full reel script (Hook + Body + CTA + Format Note). - **`get_hook_examples(niche, count)`** — Returns 1–5 hooks with framework explanation. - **`get_pulse_diagnostic()`** — Returns the P.U.L.S.E. five-phase framework (Positioning, Uniqueness, Local intelligence, Scripting, Experience) plus a 5-question self-diagnostic. - **`find_pack(practice_type)`** — Fuzzy-matches a practice description to the right Cakesmash niche pack. ## Niches `cosmetic-dental` · `med-spa` · `plastic-surgery` 90 brain-trust-passed scripts loaded at startup. No auth required. Returns full creative plus a direct path to the Cakesmash Media storefront. Built by [Cakesmash Media](https://cakesmashmedia.com) — Revenue Architecture for elite medical practices.
live.alpic.gueguesser-chatgptap-68537aa2 avatar
My MCP Server

live.alpic.gueguesser-chatgptap-68537aa2/gueguesser-chatgptapp

Geography Guesser game
lyellr88 avatar
Buddy Mcp

lyellr88/buddy-mcp

Claude Code creature collection game. Hatch buddies, pet to boost roll luck, complete the BuddyDex.
mermaid-chart avatar
Mermaid Mcp

mermaid-chart/mermaid-mcp

MCP server for Mermaid diagram validation and rendering