@genwave/svgmaker-mcp
Version:
MCP server for generating, editing, and converting SVG images using SVGMaker API
294 lines (223 loc) • 5.86 kB
Markdown
# SVGMaker MCP - Generations Tools
Tools for managing your SVG generations — list, view details, delete, share, and download.
## svgmaker_generations_list
Lists your SVG generations with optional filtering and pagination. Returns generation IDs that can be used with other generation tools.
**Tool name:** `svgmaker_generations_list`
### Parameters
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `page` | number | No | 1 | Page number (1-indexed) |
| `limit` | number | No | — | Items per page (1-100) |
| `type` | string | No | — | Filter by generation type (e.g., "generate", "edit", "convert") |
| `hashtags` | string[] | No | — | Filter by hashtags |
| `categories` | string[] | No | — | Filter by categories |
| `query` | string | No | — | Search query for prompt/description |
### Examples
#### List All Generations
```json
{}
```
#### Paginated with Filter
```json
{
"page": 2,
"limit": 10,
"type": "generate"
}
```
#### Search by Query
```json
{
"query": "mountain landscape"
}
```
### Response
On success:
```json
{
"content": [
{
"type": "text",
"text": "Generations (Page 1 of 5, Total: 47):\n- gen_abc123\n- gen_def456\n...\n\nHas Next Page: true"
}
]
}
```
## svgmaker_generations_get
Gets detailed information about a specific generation by ID.
**Tool name:** `svgmaker_generations_get`
### Parameters
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `generation_id` | string | Yes | — | Generation ID |
### Examples
```json
{
"generation_id": "gen_abc123"
}
```
### Response
On success:
```json
{
"content": [
{
"type": "text",
"text": "Generation Details:\n- ID: gen_abc123\n- Prompt: A mountain landscape\n- Type: generate\n- Quality: high\n- Public: false\n- Hashtags: nature, landscape\n- Categories: scenery"
}
]
}
```
## svgmaker_generations_delete
Deletes a generation and its associated files. This action is permanent and cannot be undone. Requires a paid account.
**Tool name:** `svgmaker_generations_delete`
### Parameters
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `generation_id` | string | Yes | — | Generation ID |
### Examples
```json
{
"generation_id": "gen_abc123"
}
```
### Response
On success:
```json
{
"content": [
{
"type": "text",
"text": "Generation gen_abc123 deleted successfully."
}
]
}
```
## svgmaker_generations_share
Shares a generation by making it publicly accessible. Returns the public share URL.
**Tool name:** `svgmaker_generations_share`
### Parameters
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `generation_id` | string | Yes | — | Generation ID |
### Examples
```json
{
"generation_id": "gen_abc123"
}
```
### Response
On success:
```json
{
"content": [
{
"type": "text",
"text": "Generation shared successfully.\n- Public: true\n- Share URL: https://svgmaker.io/share/gen_abc123"
}
]
}
```
## svgmaker_generations_download
Downloads a generation in the specified format and saves it to a local file. Requires a paid account.
**Tool name:** `svgmaker_generations_download`
### Parameters
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `generation_id` | string | Yes | — | Generation ID |
| `output_path` | string | Yes | — | Absolute file path where the downloaded file will be saved |
| `format` | `"svg"` \| `"webp"` \| `"png"` \| `"svg-optimized"` \| `"svgz"` | No | `"webp"` | Download format |
| `optimize` | boolean | No | — | Optimize before compressing (only for svgz format) |
### Examples
#### Download as SVG
```json
{
"generation_id": "gen_abc123",
"output_path": "/Users/username/Documents/my-generation.svg",
"format": "svg"
}
```
#### Download as PNG
```json
{
"generation_id": "gen_abc123",
"output_path": "/Users/username/Documents/my-generation.png",
"format": "png"
}
```
#### Download as Optimized SVGZ
```json
{
"generation_id": "gen_abc123",
"output_path": "/Users/username/Documents/my-generation.svgz",
"format": "svgz",
"optimize": true
}
```
### Response
On success:
```json
{
"content": [
{
"type": "text",
"text": "File downloaded successfully: /Users/username/Documents/my-generation.svg (format: svg)"
}
]
}
```
## svgmaker_generations_preview
Previews a generation by returning the image directly in the chat context as a PNG image. Use this to visually inspect a generation without saving it to disk. The image appears inline in the conversation, allowing the LLM to describe it and enabling follow-up edits.
**Tool name:** `svgmaker_generations_preview`
### Parameters
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `generation_id` | string | Yes | — | Generation ID |
### Examples
```json
{
"generation_id": "gen_abc123"
}
```
### Response
On success, returns an image content block:
```json
{
"content": [
{
"type": "image",
"data": "<base64-encoded PNG>",
"mimeType": "image/png"
}
]
}
```
## Error Handling
Common errors:
- Generation ID not found
- Invalid or empty generation ID
- Invalid output path (download tool)
- Permission denied for delete/download (free account)
- API rate limits
- Network issues
- Invalid or expired API key
Each error returns a descriptive message to help diagnose the issue.
On error:
```json
{
"isError": true,
"content": [
{
"type": "text",
"text": "Error [action]: [error message]"
}
]
}
```