memeboat-mcp
Search 25,000+ meme templates and create shareable memes on memebo.at. Free, anonymous, no API key.
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": {
"memeboat-mcp": {
"command": "npx",
"args": [
"memeboat-mcp"
]
}
}
}Runnable packages
0.3.0stdioRemote endpoints
https://memebo.at/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟡search_meme_templates(query, limit)
Search memebo.at's catalog of 25,000+ meme templates by name, other names or topic (e.g. "drake", "distracted boyfriend", "cat"). Returns matching templates with their slug (use it with create_meme), image URL and a suggested caption count.
Input Schema
{
"type": "object",
"properties": {
"query": {
"description": "Search terms, e.g. \"surprised pikachu\"",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"limit": {
"description": "Max results (default 10)",
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_meme_template(slug)
Fetch one meme template by its slug (from search_meme_templates or a memebo.at/templates/<slug> URL): dimensions, image URL and suggested caption count.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"description": "Template slug, e.g. \"x-x-everywhere\"",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡create_meme(template, texts, font, layout, style)
Create a real, shareable meme on memebo.at by captioning a template. texts are placed top-to-bottom: 1 caption = bottom text, 2 captions = classic top/bottom, N captions fill the template's boxes in order (match suggestedCaptionCount when possible). Returns the meme page URL and a direct image URL. Rate-limited per IP — space out repeated calls.
Input Schema
{
"type": "object",
"properties": {
"template": {
"description": "Template slug, e.g. \"x-x-everywhere\"",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"texts": {
"description": "Captions, top-to-bottom. Each is a string or { text, color?, outline?, font? } for per-caption styling. At least one must be non-empty.",
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "object",
"properties": {
"text": {
"type": "string",
"maxLength": 200
},
"color": {
"description": "Caption fill color: hex or white/black/red/yellow/blue/green",
"type": "string"
},
"outline": {
"description": "Caption outline color; omit for an auto-picked readable outline",
"type": "string"
},
"font": {
"description": "Caption font, one of: impact, arial, helvetica, times, courier, titillium, thick, kalam, comic, notosans, notosanshebrew",
"type": "string"
}
},
"required": [
"text"
]
}
]
}
},
"font": {
"description": "Default font for all captions, one of: impact, arial, helvetica, times, courier, titillium, thick, kalam, comic, notosans, notosanshebrew",
"type": "string"
},
"layout": {
"description": "layout:'top' puts captions in a white bar above the image; 'default' overlays them on the image",
"type": "string",
"enum": [
"default",
"top"
]
},
"style": {
"description": "Alternate background style name from get_meme_template's availableStyles, e.g. 'maga'",
"type": "string",
"minLength": 1,
"maxLength": 60
}
},
"required": [
"template",
"texts"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence