MCP
MajorDTF runs a Model Context Protocol server so agents can prep, vectorize, and recolor artwork as tool calls. Get an API key from your account → API keys. Each call costs 1 credit from that account. AI Redraw is 2 credits Standard / 4 Pro; vectorize adds its 1-credit trace.
Install
One remote server, every client. Pick yours below and drop in your key. Everywhere you see mdtf_live_..., paste your real key from your account.
The buttons install with a placeholder key — open the server's settings afterward and replace mdtf_live_... with your real key.
Claude Code
Easiest — install the plugin (bundles the tools and the MajorDTF skill):
/plugin marketplace add pablodelmoral/Majordtf-MCP /plugin install majordtf
Then set MAJORDTF_API_KEY in your environment. Or skip the plugin and add the server directly:
claude mcp add --transport http majordtf https://worker.majordtf.com/mcp/ \ --header "Authorization: Bearer mdtf_live_..."
Claude Desktop
Use the Download for Claude Desktop button above, then drag the .mcpb into Settings → Extensions and paste your key when prompted. Prefer manual config? Settings → Developer → Edit Config:
{
"mcpServers": {
"majordtf": {
"url": "https://worker.majordtf.com/mcp/",
"headers": { "Authorization": "Bearer mdtf_live_..." }
}
}
}Cursor · Windsurf · Cline · most clients
Same config (Cursor: ~/.cursor/mcp.json; Windsurf: ~/.codeium/windsurf/mcp_config.json) — or use the Add-to-Cursor button above.
{
"mcpServers": {
"majordtf": {
"url": "https://worker.majordtf.com/mcp/",
"headers": { "Authorization": "Bearer mdtf_live_..." }
}
}
}VS Code
Use the button above, the CLI, or add to .vscode/mcp.json (note: servers + type):
code --add-mcp '{"name":"majordtf","type":"http","url":"https://worker.majordtf.com/mcp/","headers":{"Authorization":"Bearer mdtf_live_..."}}'{
"servers": {
"majordtf": {
"type": "http",
"url": "https://worker.majordtf.com/mcp/",
"headers": { "Authorization": "Bearer mdtf_live_..." }
}
}
}Any other MCP client
Point it at the streamable-HTTP endpoint with your key as an Authorization header. It never enters the chat. If a client can't set headers, pass it as the tool's api_key argument instead.
https://worker.majordtf.com/mcp/
Local (stdio)
Prefer a local command? Run services/mcp/server.py; it reads the key from MAJORDTF_API_KEY.
{
"mcpServers": {
"majordtf": {
"command": "python",
"args": ["services/mcp/server.py"],
"env": { "MAJORDTF_API_KEY": "mdtf_live_..." }
}
}
}Tool: prep_artwork
prep_artwork(
image_url="https://example.com/logo.png",
width_in=11,
garment_color="#1a1a1a", # optional; one colour = knockout, omit = keep all
thickness_protection=false,
ai_redraw="standard" # "off" (default) | "standard" (2cr) | "pro" (4cr)
)
# auth comes from the Authorization header you configured — not a tool argument
# -> { "file_url": "https://…/clean.png", "width": 3300, ... }Returns the clean, full-resolution PNG file URL.
Tool: vectorize_artwork
Trace artwork into a clean vector SVG (deterministic Image-Trace replica).
vectorize_artwork(
image_url="https://example.com/logo.png",
width_in=11,
n_colors=0, # 0 = auto-detect palette (default); >16 keep all; 2-16 = exactly N
clean_first=true, # remove the background before tracing
salvage="off", # backward-compatible; exact trace by default
redraw_tier="standard" # optional 2-credit redraw add-on; "pro" is 4
)
# -> { "file_url": "https://…/trace.svg", "format": "svg", ... }Tool: recolor_artwork
Swap a colour (e.g. white→black) or tint the whole design. Works on a PNG or SVG.
recolor_artwork(
image_url="https://example.com/logo.png",
swap_from="#ffffff", swap_to="#000000" # white -> black
# ...or tint="#000000" to repaint every opaque pixel one colour
)
# -> { "file_url": "https://…/recolor.png", "format": "png", ... }Tool: gangsheet_artwork
Prep several logos and lay them onto one 21" DTF gang sheet (each at its own width × quantity). Charges 1 credit per logo; quantities are free.
gangsheet_artwork(
items=[
{ "image_url": "https://example.com/a.png", "width_in": 8, "qty": 3 },
{ "image_url": "https://example.com/b.png", "width_in": 4, "qty": 2, "bg_method": "key" }
],
gap_in=0.25,
sheet_width_in=21
)
# each logo prepped, then placed width × qty on one 21" sheet
# -> { "file_url": "https://…/gangsheet.png", "logos": 2, "total_pieces": 5,
# "credits_charged": 2, ... } # 1 credit per logo, quantities freeTool: roster_artwork — coming soon
Number a whole team from one call. In development — not callable yet. Today the same job runs in the browser at majordtf.com/roster, free.
Each tool costs 1 credit (the gang sheet, 1 per logo). See the API docs for the full field reference.
