Search 400+ meme templates, see what's trending, and render memes with your captions.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional: Bearer <Memegician API key> for watermark-free renders (https://memegician.ai/api-access)
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get one template's text slots (what each caption should say, in order), description, when to use it and example captions. Call this before render_meme.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http memegician https://memegician.ai/mcp
Headers
Authorization (optional, not in the config above): Optional: Bearer <Memegician API key> for watermark-free renders (https://memegician.ai/api-access)Get one template's text slots (what each caption should say, in order), description, when to use it and example captions. Call this before render_meme.
| Argument | Type | Description |
|---|---|---|
| template_id* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"template_id"
],
"properties": {
"template_id": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}The meme templates people search for most this month (US Google search volume) and the biggest risers. Useful for picking a timely format.
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1
}
},
"additionalProperties": false
}Draw your captions onto a template and return the finished meme image plus a permanent URL. Pass one caption per text slot, in slot order (use "" to leave a slot empty).
| Argument | Type | Description |
|---|---|---|
| captions* | array | |
| template_id* | integer | |
| aspect_ratio | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"template_id",
"captions"
],
"properties": {
"captions": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 12,
"minItems": 1
},
"template_id": {
"type": "integer",
"exclusiveMinimum": 0
},
"aspect_ratio": {
"enum": [
"1:1",
"3:4",
"4:3",
"9:16",
"16:9"
],
"type": "string"
}
},
"additionalProperties": false
}Find meme templates that fit an emotion, situation or name (e.g. "panic", "choosing between two options", "drake"). Returns template ids, names, slot counts and blank image URLs.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 3, 2026.