blob-svg-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@blob-svg-mcpgenerate a gradient blob with purple and pink for a hero section"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
blob-svg-mcp
MCP server for generating organic blob shapes as SVG.
Uses sinusoidal harmonics to produce smooth, rounded curves — no sharp corners. Every blob is reproducible via a seed parameter.
Tools
generate_blob
Generate a single blob shape as a complete SVG.
Parameter | Type | Default | Description |
| number | 200 | Width and height in px |
| number | 6 | Number of harmonics (2-12). More = more detailed |
| string |
| Fill color (any CSS color) |
| number | 1 | Fill opacity (0-1) |
| number | 0.5 | Radius irregularity (0 = circle, 1 = very blobby) |
| number | random | Seed for reproducible shapes |
| string | — | Optional stroke color |
| number | 2 | Stroke width in px |
generate_gradient_blob
Generate a blob filled with a linear gradient.
Parameter | Type | Default | Description |
| number | 200 | Width and height in px |
| number | 6 | Number of harmonics (2-12) |
| string[] |
| Gradient stop colors |
| number | 0 | Gradient angle in degrees |
| number | 1 | Fill opacity (0-1) |
| number | 0.5 | Radius irregularity (0-1) |
| number | random | Seed for reproducible shapes |
generate_blob_set
Generate multiple blobs scattered on a canvas. Useful for backgrounds and hero sections.
Parameter | Type | Default | Description |
| number | 12 | Number of blobs |
| number | 800 | Canvas width in px |
| number | 600 | Canvas height in px |
| string[] |
| Color palette |
| number | 80 | Minimum blob size in px |
| number | 250 | Maximum blob size in px |
| number | 6 | Harmonics per blob (2-12) |
| number | 0.6 | Fill opacity (0-1) |
| number | 0.5 | Radius irregularity (0-1) |
| number | random | Seed for reproducible compositions |
generate_blob_path
Generate only the SVG path data (the d attribute). Useful for embedding in your own SVG.
Parameter | Type | Default | Description |
| number | 200 | Coordinate space size |
| number | 6 | Number of harmonics (2-12) |
| number | 0.5 | Radius irregularity (0-1) |
| number | random | Seed for reproducible paths |
Related MCP server: icogenie-mcp
Setup
With Claude Code
claude mcp add blob-svg -- npx blob-svg-mcpManual (settings.json)
{
"mcpServers": {
"blob-svg": {
"command": "npx",
"args": ["blob-svg-mcp"]
}
}
}From source
git clone https://github.com/Rixmerz/blob-svg-mcp.git
cd blob-svg-mcp
npm install
npm run buildThen point your MCP config to the built file:
{
"mcpServers": {
"blob-svg": {
"command": "node",
"args": ["/path/to/blob-svg-mcp/build/index.js"]
}
}
}How it works
Each blob is generated by:
Placing 36 sample points around a circle
Deforming the radius at each point using summed sinusoidal harmonics (amplitude decays with frequency, so high-frequency harmonics add detail without spikes)
Converting the points to a smooth closed path using Catmull-Rom to cubic Bezier conversion with tension factor 1/4
The result is always an organic, rounded shape — never angular.
License
MIT
Available Tools
4 toolsgenerate_blobA
Generate a single blob shape as a complete SVG. Returns an organic, rounded shape with customizable size, color, complexity, and randomness.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Integer seed for reproducible shapes. Same seed = same shape (default: random) | |
| size | No | Width and height of the SVG in pixels (default: 200) | |
| color | No | Fill color, any CSS color value (default: "#6366f1") | |
| stroke | No | Optional stroke color | |
| opacity | No | Fill opacity from 0 to 1 (default: 1) | |
| complexity | No | Number of control points (3-20). More points = more detailed shape (default: 6) | |
| randomness | No | How much the radius varies (0 = circle, 1 = very irregular). Default: 0.5 | |
| stroke_width | No | Stroke width in pixels (default: 2) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. It does say the tool returns a complete SVG and an organic rounded shape, which is useful. However, it does not explicitly state whether generation is side-effect-free, how output is returned, or any edge behavior beyond what the schema already documents. Adequate but not deeply transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It names the deliverable first, then the output characteristics and customization dimensions. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter generator with no annotations and no output schema, the description supplies the essential return concept ('complete SVG'), the output quality ('organic, rounded shape'), and the customizable dimensions. It could additionally state that the result is an SVG string and that no state is modified, but schema defaults and parameter descriptions cover most operational detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description mentions customizable size, color, complexity, and randomness, but does not add meaning beyond the schema's own parameter descriptions. No penalty needed because the schema fully documents all eight optional parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action and deliverable: 'Generate a single blob shape as a complete SVG.' The 'single' and 'complete SVG' qualifiers distinguish it from siblings generate_blob_set (multiple) and generate_blob_path (path only), while 'organic, rounded shape' sets expectations for output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'single' and 'complete SVG' imply when to choose this tool, and the sibling names suggest alternatives, but the description never names them or states conditions such as 'for multiple blobs use generate_blob_set' or 'for gradients use generate_gradient_blob.' Usage guidance is therefore only implied, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_blob_pathA
Generate only the SVG path data string (the d attribute). Useful when you want to embed the blob in your own SVG or use it programmatically.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Seed for reproducible paths (default: random) | |
| size | No | Coordinate space size (default: 200) | |
| complexity | No | Number of control points 3-20 (default: 6) | |
| randomness | No | Radius variation 0-1 (default: 0.5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries behavioral disclosure itself. It clearly states the output is only the d attribute rather than a full SVG element, which prevents an agent from expecting a complete blob. It does not discuss randomness or determinism, but that behavior is already covered by the seed parameter description in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The core behavior is front-loaded in the first sentence, and the use case in the second earns its place by helping an agent decide when to select the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description plus the 100%-covered schema gives an agent enough to call the tool correctly: output format is specified, params are documented, and the d-attribute-only behavior is explicit. It could strengthen this by explicitly contrasting with generate_blob, but nothing critical is missing for making a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains all four parameters and their defaults. The description adds practical context about embedding the path but does not add parameter-specific semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific deliverable — the SVG path data string (the d attribute) — and narrows the scope with 'only', which distinguishes it from sibling tools that generate complete blobs or sets. It also signals the intended use (embedding in a custom SVG or using programmatically), so an agent can understand what this tool produces at a glance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear use case: use this when you need the d path alone for embedding or programmatic use. It does not explicitly name alternatives or state when not to use it, but the 'only' qualifier and sibling names make the intended selection reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_blob_setA
Generate multiple blobs scattered on a canvas. Useful for backgrounds, hero sections, and decorative compositions.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Seed for reproducible compositions (default: random) | |
| count | No | Number of blobs to generate (default: 12) | |
| colors | No | Array of CSS colors to pick from (default: ["#6366f1", "#8b5cf6", "#a78bfa", "#c4b5fd"]) | |
| opacity | No | Fill opacity 0-1 (default: 0.6) | |
| max_size | No | Maximum blob size in pixels (default: 250) | |
| min_size | No | Minimum blob size in pixels (default: 80) | |
| complexity | No | Number of control points per blob (default: 6) | |
| randomness | No | Radius variation 0-1 (default: 0.5) | |
| canvas_width | No | Canvas width in pixels (default: 800) | |
| canvas_height | No | Canvas height in pixels (default: 600) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the full burden of behavioral disclosure. It only states that multiple blobs are generated and scattered, but it does not disclose the output format, whether the result is deterministic via seed, how randomness works, or any side effects. This is a significant gap for a generative tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no filler. The main action is front-loaded, followed by practical use cases, which makes it easy to scan and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters), lack of annotations, and lack of an output schema, the description is too sparse. It does not mention the return format, how to choose this over sibling tools, or important behavioral details like determinism and randomness, leaving an agent to make assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the structured schema already documents all 10 parameters. The description adds no extra parameter-level meaning, which is acceptable because the baseline is 3 when the schema handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Generate multiple blobs scattered on a canvas.' It clearly differentiates from siblings like generate_blob by emphasizing multiple blobs and from generate_blob_path by focusing on a composed set rather than a single path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: 'Useful for backgrounds, hero sections, and decorative compositions.' However, it does not explicitly mention when not to use this tool or directly compare it with sibling tools, so it stops short of a full when/when-not guide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_gradient_blobA
Generate a blob filled with a linear gradient. Great for modern UI elements and hero illustrations.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Seed for reproducible shapes (default: random) | |
| size | No | Width and height of the SVG in pixels (default: 200) | |
| opacity | No | Fill opacity 0-1 (default: 1) | |
| complexity | No | Number of control points 3-20 (default: 6) | |
| randomness | No | Radius variation 0-1 (default: 0.5) | |
| gradient_angle | No | Gradient angle in degrees (default: 0 = left to right) | |
| gradient_colors | No | Gradient stop colors (default: ["#6366f1", "#ec4899"]) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of disclosing behavior. It does not mention the output format (e.g., SVG string), whether it returns a file or URL, or how seed/randomness affect the result. The description adds little beyond the basic action; the only concrete hint (SVG) lives in the parameter schema, not the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a two-sentence, front-loaded statement that gets straight to the point: what it generates and a typical use case. There is no filler or redundant phrasing, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema fully documents 7 parameters with defaults, which covers the input side well. However, with no output schema and no annotation, the description is incomplete about the tool's return value and output behavior. An agent can infer SVG from 'Width and height of the SVG' in the schema, but the description itself does not confirm this, leaving a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional parameter meaning beyond what the schema already provides for fields like gradient_angle and gradient_colors. It references gradients generally but does not clarify usage beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and object: 'Generate a blob filled with a linear gradient.' This clearly distinguishes it from sibling tools like generate_blob (plain blob), generate_blob_path (path only), and generate_blob_set (multiple blobs) via the 'linear gradient' qualifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear use context: 'Great for modern UI elements and hero illustrations.' However, there is no explicit guidance on when to prefer this tool over the siblings, such as 'use generate_blob_path when only a path is needed.' Thus it offers clear context but no exclusions.
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.
4 tool updates
v0.1.0- First observed
generate_blob - First observed
generate_blob_path - First observed
generate_blob_set - First observed
generate_gradient_blob
TDQS
Scored across 4 tools
Each tool targets a distinct output format or use case: single blob, multiple blobs, gradient-filled blob, and raw path data. However, generate_blob and generate_gradient_blob overlap somewhat since both produce a single blob SVG, with the only differentiator being the fill style.
All tool names follow a clear generate_blob base with modifier suffixes, and snake_case is used consistently. There is minor inconsistency in modifier placement: generate_blob_set vs generate_gradient_blob vs generate_blob_path, but the pattern remains predictable.
Four tools is an appropriate, focused scope for a blob-SVG generation server. It avoids bloat while covering the primary variations one would expect, though it is on the smaller side.
The server covers the main use cases: individual blobs, background sets, gradient styling, and raw path extraction for custom embedding. Missing niche features like animated blobs or advanced shape controls are minor gaps, not critical failures.
Maintenance
Related MCP Connectors
MCP server for Flux AI image generation
MCP server for progressive tool usage at any scale (see https://klavis.ai)
MCP registry & directory: search, find & install 31k+ MCP servers & tools. Catalog and marketplace.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that enables AI models to generate precise geometric images by providing Asymptote code, supporting both SVG and PNG output formats.117 npm6ISC
- AlicenseNot gradedqualityCmaintenanceAI-powered SVG icon generation MCP server. Generate production-ready SVG icons from text descriptions with customizable styles, sizes, and themes.41 npm6MIT
- AlicenseAqualityAmaintenanceMCP server that turns AI into an SVG artist. One rendering engine with a rich JSON schema, AI controls all design parameters. Renders animated SVGs with CSS @keyframes and SMIL animations. Supports 16+ element types, parametric curves, pattern groups, gradient/filter/clip/mask definitions, and PNG preview. No external dependencies, runs locally via npx.3187 npm22MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for creating and manipulating generative art with p5.js, Three.js, GLSL, Canvas2D, and SVG, featuring workspace management, parameter control, and screenshot capture.45 npmMIT