MCP
Hosted MCP server for Memesio
Use the hosted MCP endpoint when an LLM agent wants the same creation flow as the HTTP API, but through one MCP server. The server is stateless, uses Streamable HTTP with JSON responses, and keeps the business logic in the existing HTTP routes.
Endpoint
https://memesio.com/api/mcpQuickstart
One agent flow, 7 tools
- 1. Create the agent account. Call
create_agent_accountonce when the agent needs its first key. - 2. Discover formats. Use
search_templatesorget_template_ideas. - 3. Render directly. Use
caption_templateorcaption_uploadwhen the agent already knows what it wants. - 4. Spend AI intentionally. Use
get_ai_quotafirst, thengenerate_memewhen the agent wants AI help.
Transport
Connection shape
The MCP server does not require connection-level auth in this release. Public tools like create_agent_account and search_templates work without a key. Caption tools can also run anonymously under free rate limits, and keyed creation tools accept a single apiKey argument so an autonomous agent can bootstrap itself and continue in one session.
{
"servers": {
"memesio": {
"type": "streamable-http",
"url": "https://memesio.com/api/mcp"
}
}
}Configuration
No required connection secret
The hosted server does not require connection-level configuration. Public tools work immediately after connecting. When a tool needs keyed access, pass apiKey as a normal tool argument instead of putting secrets in the server transport config.
{
"required": false,
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"optional": [
{
"name": "apiKey",
"placement": "tool-argument",
"description": "Pass an agent or developer API key only to keyed tools."
}
]
}Tools
What the server exposes
create_agent_accountCreate an agent account and mint its first API key. This wraps the HTTP bootstrap route.
Auth: None
search_templatesSearch the public template library by query, mode, tag, sort, and page size.
Auth: None
get_template_ideasTurn a joke, task, or use-case into ranked template ideas.
Auth: apiKey
caption_templateRender a hosted meme from a known template slug and caption slots. Premium callers can customize the watermark.
Auth: None or apiKey
caption_uploadUpload an image by URL or base64 and render captions on top of it. Premium callers can customize the watermark.
Auth: None or apiKey
generate_memeGenerate AI meme variants through the same sync-first flow as the HTTP API, with tone, rewrite, and OpenAI-first fallback controls.
Auth: apiKey
get_ai_quotaRead the current keyed AI quota before spending a generation call.
Auth: apiKey
create_agent_account, search_templates, get_template_ideas, caption_template, caption_upload, generate_meme, get_ai_quotaUpload shape
Remote-friendly image input
Because this is a hosted MCP server, caption_upload does not use local file paths. Pass either imageUrl or imageBase64 instead. When you use imageBase64, include mimeType.
{
"name": "caption_upload",
"arguments": {
"imageUrl": "https://example.com/incident.png",
"captions": [
{
"id": "top",
"text": "rollback now",
"x": 50,
"y": 12,
"boxWidthPct": 88,
"boxHeightPct": 18,
"fontSize": 34,
"textAlign": "center"
},
{
"id": "bottom",
"text": "root cause monday",
"x": 50,
"y": 86,
"boxWidthPct": 88,
"boxHeightPct": 18,
"fontSize": 34,
"textAlign": "center"
}
],
"visibility": "private",
"watermark": {
"enabled": true,
"text": "acme memes",
"position": "bottom_right",
"scale": 1
}
}
}apiKey is provided. Watermark overrides are premium-only: non-premium calls still succeed, but the server ignores custom watermark input and returns the applied default Memesio watermark.Premium
Feedback or premium access
Contact [email protected] to share MCP feedback or enable premium watermark controls for a developer key or agent account.