Skip to navigation

Memegen tools

Memegen’s MCP server, https://www.taktoria.com/mcp/<workspace>/memegen (each workspace has its own), lets an assistant read the feed, make memes, show them as pictures, and look after the template library. Every tool acts as the person who connected it (see MCP servers): they make memes as themselves, delete only their own, and change the shared library only if they are an app admin of Memegen.

Roles

What a connection may do follows the person’s role in Memegen:

  • An app admin of Memegen (every workspace owner and admin is one) keeps the template library (adds, changes, orders, archives and restores templates, and sees archived ones and one-off backgrounds) and moderates: deletes anybody’s meme with moderate: true.
  • A member makes, votes on and deletes their own memes, and adds a background for the meme they are making.
  • A viewer reads the feed and the library as a member would. Their connection lists and accepts only the read tools, whatever it was granted: a write tool called anyway is refused (viewer_only), and the consent page offers them only Read only. See MCP servers.

Read tools are listed to every connection; write tools only to one granted memegen:write, and never to a Viewer of Memegen.

Memes

ToolAccessWhat it does
list_memesreadThe feed: sort: new (Recent) or top (Popular, with a window), by words, your own, an author or a template; paged by cursor
get_memereadOne meme: captions, layout, template, author, score, whether you upvoted it, its page’s url
get_meme_imagereadThe meme drawn as a PNG, returned as MCP image content (base64, at most 1MB; small is 512px, large up to 1024px), with its details and url
preview_memereadDraw a meme from a template and captions as a PNG, without posting it, by the same rules as create_meme
create_memewritePost a meme as the person: a template and its captions
vote_memewriteUpvote (vote: true) or take the upvote back; idempotent
delete_memewriteDelete the person’s own meme; an app admin deletes anybody’s with moderate: true

Captions go one per box, in the layout’s order. Each is one line of up to 140 characters, drawn in capitals, and at least one needs words. Layouts: CAPTION holds one caption, TOP_BOTTOM two (top, bottom), THREE_PANEL three, SPLIT two side by side. lines (1 to 3) or layout changes the count for one meme without touching the template. A template an app admin took out of the picker (archived) cannot start a new meme, even by its id; memes already made from it stay. A one-off background can be used by id.

Templates

ToolAccessWhoWhat it does
list_templatesreadanybodyThe library, in the picker’s order; archived templates and one-off backgrounds for an app admin only
get_templatereadanybodyOne template
search_template_imagesreadanybodySearch memegen.link’s catalogue of well-known formats; adds nothing
add_template_from_urlwriteanybodyA background from an http or https address; curate: true (into the library) is an app admin’s
import_templatewriteanybodyA search_template_images result as a template; curate: true is an app admin’s
upload_templatewriteanybodyA picture as plain base64 with its type (PNG, JPEG, WebP or GIF, up to 8MB); curate: true is an app admin’s
create_templatewriteapp adminsAdd to the library by name and address; a picture already in the workspace is promoted and renamed
update_templatewriteapp adminsChange a template’s name, slug, layout, credit, source link, place, or whether it is in the library
remove_templatewriteapp adminsTake a template out of the picker (archived, never deleted)
restore_templatewriteapp adminsPut it back
delete_templatewriteapp adminsDelete for good: refused for a built-in and for one memes were made from
reorder_templateswriteapp adminsSet the picker’s order

curate: false, the default, adds a background for the meme being made, which anybody may do; it stays out of the shared library. Adding the same address or format again returns the template already there; if an app admin took it out of the picker, only an app admin gets it back (it is restored), and anybody else is refused (“not allowed”: an admin removed this template). An upload is always a new picture. Picture addresses and source links are http or https only: data: and javascript: addresses are refused, and an upload is sent as base64 bytes, never as a data: URL.

Every server also has whoami, search, find_people and find_teams (see MCP servers): find_people gives the user id list_memes filters by author with (authorId).

Skills

The server also offers skills (see Skills): guides that tell an assistant how to do a whole job with these tools, read through the Skills extension, as skill://memegen/<name>/SKILL.md resources, or as prompts of the same name. A write skill is offered only to a connection with memegen:write.

SkillAccessArgumentWhat it is for
find-anythingreadrequestSearching Memegen well with search
whats-popularreadwindowSummarise the feed and Popular over a time window, showing the favourites as pictures
make-a-memewriteoccasionPick a template, write captions that fit, preview it with preview_meme, and post only once the person agrees, keeping it work-friendly
curate-the-librarywritegoalFor app admins: review the library, suggest additions and removals, and make the agreed changes, including the picker’s order
moderate-the-feedwritesince, concernFor app admins: review recent memes, propose what to take down and why, and delete only what the admin confirms, with a moderation guide (references/moderation-guide.md)

make-a-meme carries a caption guide beside its SKILL.md, at skill://memegen/make-a-meme/references/caption-guide.md: the layouts and what makes a caption land.

Refusals

A tool that cannot do what was asked returns a tool error in plain English: a meme or template that is not in the workspace is “not found”, somebody else’s meme or a library change by somebody who is not an app admin is “not allowed”, captions with no words, a template taken out of the picker, or an address that is not http or https are “not valid”, and deleting a template memes were made from “conflicts”.