Skateboard Personalizado
Turn your artwork into a real custom skateboard deck, shown assembled in 3D, with a link to order.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"skateboard-deck": {
"url": "https://skateboardpersonalizado.com/api/mcp"
}
}
}Remote endpoints
https://skateboardpersonalizado.com/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (2)
🟢get_deck_spec
Get artwork dimensions, supported formats, upload alternative and current deck price before preparing a design.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_deck(image_base64, composition, fit, background, locale)
Saves finished artwork on a skateboard deck and returns a browser link for 3D preview, editing and ordering, plus a picture of the deck assembled with trucks and wheels. Takes exactly one of image_base64 or composition. Stores an unlisted design; it generates no AI artwork and places no order. Each successful call creates a new design.
Input Schema
{
"type": "object",
"properties": {
"image_base64": {
"type": "string",
"maxLength": 11250347,
"description": "PNG, JPEG or WebP file bytes as base64, optionally a data URL. Must be the bytes of an existing file; artwork made of shapes and text goes in composition."
},
"composition": {
"type": "object",
"properties": {
"background": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$",
"default": "#FFFFFF"
},
"elements": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "rect"
},
"x": {
"type": "number",
"minimum": 0,
"maximum": 1000
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 3734
},
"fill": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"width": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"height": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 3734
}
},
"required": [
"type",
"x",
"y",
"fill",
"width",
"height"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "ellipse"
},
"x": {
"type": "number",
"minimum": 0,
"maximum": 1000
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 3734
},
"fill": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"width": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"height": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 3734
}
},
"required": [
"type",
"x",
"y",
"fill",
"width",
"height"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "text"
},
"x": {
"type": "number",
"minimum": 0,
"maximum": 1000
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 3734
},
"fill": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"text": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[^\\u0000-\\u001f\\u007f<>]*$"
},
"font": {
"type": "string",
"enum": [
"Anton",
"Bangers",
"Righteous"
],
"default": "Anton"
},
"fontSize": {
"type": "number",
"minimum": 12,
"maximum": 500
},
"rotation": {
"type": "number",
"minimum": -180,
"maximum": 180,
"default": 0
}
},
"required": [
"type",
"x",
"y",
"fill",
"text",
"fontSize"
],
"additionalProperties": false
}
]
},
"minItems": 1,
"maxItems": 32
}
},
"required": [
"elements"
],
"additionalProperties": false,
"description": "Alternative to an image: flat artwork in 1000 × 3734 units. Shapes use top-left x/y; text x/y is its baseline centre. Text can rotate -90 degrees along the deck."
},
"fit": {
"type": "string",
"enum": [
"contain",
"cover"
],
"default": "contain",
"description": "contain preserves the whole image; cover crops to fill the deck. The deck silhouette always clips the corners."
},
"background": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$",
"default": "#FFFFFF",
"description": "Six-digit hex colour that fills the deck around an image placed with contain."
},
"locale": {
"type": "string",
"enum": [
"es",
"ca",
"en"
],
"default": "es"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence