Tapercraft — VHS Label Maker
by vhs.texs.org in Other
Compose printable VHS, DVD, cassette, CD and vinyl packaging from any movie, show, or album.
https://vhs.texs.org/mcp- Tools
- 16
- open to any client
- Uptime
- 100%
- last 30 days
- Response time
- 420 ms
- 4.8 s slowest 5%
- Last check
- Passed
- 10 h ago, next any minute now
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"tapercraft-vhs-label-maker": {
"type": "http",
"url": "https://vhs.texs.org/mcp"
}
}
}16 tools
- list_formats
List the packaging formats that can be composed, with their printed dimensions. Call this first if you are unsure which format the user wants.
- describe_format
One format in detail: the printed sheet in px and inches at export DPI, every panel (front, spine, back, flaps…) as a rectangle with its pixel size, and which intent sections the format accepts. Call this BEFORE generating artwork for a format so each image is made at the right…
- list_decals
The decal catalog: every sticker, graphic, shape and retro distributor mark the designer offers (a title's own posters / logos / stills come from get_content instead), grouped by category, each with its id (what decals[].id takes), natural pixel size and preview URLs — plus the…
- get_content
A movie or TV title's own artwork: every TMDB poster, logo (the wordmark / title art) and backdrop (stills) as a decal id with pixel size and preview URLs, plus title, year, tagline and overview. Place one with decals[].id in the same intent as the content (e.g. the real…
- search_content
Look up a movie, TV show, or music album by title and return candidate matches with years. Use when the user's title is ambiguous and you want to confirm which one they mean before composing.
- compose_design
Build a label design and return a URL the user opens to finish it. Designing and previewing are free; exporting a print-ready file requires a membership, so present the URL as a starting point the user completes in their browser. Fields listed in the response as "unsupported"…
- upload_image
Put an image into the user's Uploads library ("Your Uploads" in every picker) and get back a ref for the images.* fields of compose_design / save_design. Needs an API key with design:write. Send the file as base64 (JPEG/PNG/WebP, at the panel size describe_format reports). SIZE…
- list_uploads
The user's Uploads library, newest first: id, upload:<id> ref, name, pixel size, bytes and an hour-long preview url. Needs an API key with read. Use it to reuse an image already uploaded (identical bytes dedupe anyway) or to pick what to delete_upload when upload_image answers…
- delete_upload
Remove one image from the user's Uploads library by id (from upload_image or list_uploads). Needs an API key with design:write. Saved designs keep their own copies, so this never breaks a design; it only frees a library slot. Prefer deleting images this session uploaded over…
- save_design
Save a design straight to the user's dashboard and return its link. Takes the SAME fields as compose_design plus a name; needs an API key with design:write. Use it when the user wants the design kept on their account without opening a link first. Images are copied into the…
- list_designs
The user's saved designs, newest first, with their links. `total` is how many designs match (the user may have hundreds); page on with `offset` = `nextOffset` until it is null. Filter by `format` (a list_formats slug, e.g. 'slipcover', 'vhslabels') or `query` (matches the design…
- get_design
One saved design by id: name, format, link and its raw design params. Needs an API key with read.
- delete_design
Delete one of the user's saved designs (and the image copies it owns). Irreversible — confirm with the user first. Needs an API key with design:write.
- export_design
Render a saved design. Queues a job — a headless renderer produces the file in ~15–60 s — and returns a jobId; poll get_export. output 'preview' (every plan) is a downscaled image of the whole sheet that get_export returns INLINE so you can look at it: render one after every…
- get_export
Status of an export job from export_design. When status is done, `file.url` is a download link valid for an hour; a preview job also returns the image itself. Files are kept for a day, then the job reads `expired`.
- get_account
Who the API key belongs to: membership tier, today's remaining agent quotas, saved-design and upload-library counts. Needs an API key (Authorization: Bearer tc_live_…, created at https://vhs.texs.org/en/dashboard?tab=api-keys). Call it once to confirm the key works before…
Security scan
No findings
We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 10 h ago | Passed | 200 | 3.8 s |
| 19 h ago | Passed | 200 | 3.5 s |
| 28 h ago | Passed | 200 | 939 ms |
| 37 h ago | Passed | 200 | 1.5 s |
| 46 h ago | Passed | 200 | 3.6 s |
Show 10 older checks
| 2 days ago | Passed | 200 | 2.4 s |
| 3 days ago | Passed | 200 | 5.4 s |
| 3 days ago | Passed | 200 | 2.7 s |
| 3 days ago | Passed | 200 | 3.7 s |
| 4 days ago | Passed | 200 | 4.8 s |
| 4 days ago | Passed | 200 | 2.7 s |
| 5 days ago | Passed | 200 | 225 ms |
| 5 days ago | Passed | 200 | 486 ms |
| 6 days ago | Passed | 200 | 306 ms |
| 6 days ago | Passed | 200 | 403 ms |