Memes for AI agents
Let Claude Code, Codex, Cursor or your own app search MemeSkill’s meme templates by feeling, pick the one that fits and write the captions. Install the skill in one command, connect the MCP server, or call the REST API. No key needed to start.
Illustrate an article
Your agent reads the draft, finds the moments with a clear emotion and places a fitting meme after each one, with credit.
Find the meme for a moment
“Which meme fits shipping on a Friday?” It searches by meaning, explains the pick and writes the captions.
Stay commercial-safe
Filter to templates cleared for commercial use when the meme goes into ads, products or client work.
Install the skill
The skill is one file, SKILL.md, that teaches your agent how to search templates, choose by meaning, write captions and credit them. Run the command for your tool, then restart it.
Claude CodeRecommended
mkdir -p ~/.claude/skills/memeskill && \
curl -fsSL https://meme-skill.com/skill.md -o ~/.claude/skills/memeskill/SKILL.mdmkdir -Force "$HOME\.claude\skills\memeskill" | Out-Null
curl.exe -fsSL https://meme-skill.com/skill.md -o "$HOME\.claude\skills\memeskill\SKILL.md"Codex
mkdir -p ~/.codex/skills/memeskill && \
curl -fsSL https://meme-skill.com/skill.md -o ~/.codex/skills/memeskill/SKILL.mdmkdir -Force "$HOME\.codex\skills\memeskill" | Out-Null
curl.exe -fsSL https://meme-skill.com/skill.md -o "$HOME\.codex\skills\memeskill\SKILL.md"Cursor
mkdir -p ~/.cursor/skills/memeskill && \
curl -fsSL https://meme-skill.com/skill.md -o ~/.cursor/skills/memeskill/SKILL.mdmkdir -Force "$HOME\.cursor\skills\memeskill" | Out-Null
curl.exe -fsSL https://meme-skill.com/skill.md -o "$HOME\.cursor\skills\memeskill\SKILL.md"Check it works
Ask your agent: “Find me a meme for when a test passes on the first try and write the captions.” It should search MemeSkill, explain its pick and give you a link to the finished meme.
MCP server
For tools that use MCP instead of skills. The server speaks Streamable HTTP and has five read-only tools:
search_meme_templates— Search by feeling, situation or name.get_meme_template— Full details of one template.list_meme_tags— All feelings and topics.meme_templates_for_tag— Templates for one feeling or topic.make_meme_link— A link that opens a template with captions filled in.
https://api.meme-skill.com/mcpclaude mcp add --transport http memeskill https://api.meme-skill.com/mcpclaude mcp add --transport http memeskill https://api.meme-skill.com/mcp \
--header "Authorization: Bearer mskl_your_key"Claude.ai, Claude Desktop and ChatGPT: add a custom connector with the server URL. Their servers share IP addresses with many users, so add your key to the URL to get your own limit: https://api.meme-skill.com/mcp?key=mskl_your_key
API keys & limits
| Access | Requests per day |
|---|---|
| No key (per IP address) | 50 |
| Free account key | 1,000 |
| Pro account key | 10,000 |
Limits reset at midnight UTC and are counted per account, across all your keys. Each request counts once; listing MCP tools and checking /account are free. There is also a short-term cap of 120 requests a minute. You can have up to 5 keys.
- Sign in and create a key on your account page. It’s shown once, so copy it right away.
- Save it as
MEMESKILL_API_KEY; the skill picks it up from there.
echo 'export MEMESKILL_API_KEY=mskl_your_key' >> ~/.zshrc
source ~/.zshrcsetx MEMESKILL_API_KEY mskl_your_keyREST API
Base URL https://api.meme-skill.com/open/v1. Send your key as Authorization: Bearer mskl_… (or X-API-Key). Responses are JSON and work from any website (CORS is open).
GET /search?q=&limit=&commercial= | Templates for a feeling, situation or name, best first. limit up to 50; commercial=true keeps only commercial-safe ones. |
GET /templates/{slug} | One template in full. |
GET /tags | Feelings and topics, with template counts. |
GET /tags/{slug}/templates?limit=&commercial= | Templates for one feeling or topic. |
POST /editor-links | Body {"slug", "captions": {boxId: text}} → {"editorUrl"}: the template opened with your captions. |
GET /account | Your tier, daily limit and usage. Free to call. |
curl "https://api.meme-skill.com/open/v1/search?q=awkward%20silence&limit=5" \
-H "Authorization: Bearer $MEMESKILL_API_KEY"{
"results": [{
"slug": "drake-hotline-bling",
"name": "Drake Hotline Bling",
"meaning": "The Drake meme is built from two frames of the October 2015 music video for Hotline Bling…",
"tags": ["choices"],
"textBoxes": [
{ "id": "top", "placeholder": "What you reject", "x": 0.53, "y": 0.17, "w": 0.45, "h": 0.16 },
{ "id": "bottom", "placeholder": "What you actually choose", … }
],
"image": { "previewUrl": "https://img.meme-skill.com/t/drake-hotline-bling-800.webp", … },
"pageUrl": "https://meme-skill.com/templates/drake-hotline-bling",
"license": { "type": "unknown", "label": "Collected from the web", "commercialUse": false },
"attribution": "“Drake Hotline Bling” meme template via MemeSkill (…)",
"markdown": "\n*…*"
}]
}curl -X POST "https://api.meme-skill.com/open/v1/editor-links" \
-H "Content-Type: application/json" \
-d '{"slug": "drake-hotline-bling", "captions": {"top": "Reading the docs", "bottom": "Asking the AI"}}'Headers and errors
- Every counted request returns
X-RateLimit-Limit,X-RateLimit-RemainingandX-RateLimit-Reset(Unix seconds). - Errors look like
{"error": {"code", "message"}}. 429 quota_exceeded: the daily limit is used up;Retry-Aftersays how long until it resets.429 rate_limited: more than 120 requests in a minute; wait and retry.401 unauthorized: the key is wrong or was revoked.
Frequently asked questions
Is the meme API free?
Yes. Without a key you get 50 requests a day per IP address. A free account key gives 1000 a day, and Pro raises it to 10,000. There are no credits to buy.
Do I need an API key?
Not to try it. Add a key when you use it regularly, when several people share one network, or when you connect from Claude.ai or ChatGPT, whose servers share IP addresses with many other users.
Does the API put captions on the image?
It gives you a link that opens the template in our editor with your captions filled in; you download or copy the finished meme there. The API also returns the blank template image and the position of each text box if you want to draw the text yourself.
Can I use the memes commercially?
Only templates with license.commercialUse set to true are cleared for commercial use. Most meme templates come from films, TV and the web and are fine for personal use and sharing, but not for ads or products. Use commercial=true to filter.
Do I have to credit MemeSkill?
When you publish a meme in an article or on a page, please include the attribution line from the result. The markdown field already contains it.
The skill isn’t picked up. What now?
Check the file is at the path shown for your tool, named SKILL.md, then restart the tool. In Claude Code you can also ask “what skills do you have?”.