Skip to content
MEMESKILL

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

macOS / Linux
mkdir -p ~/.claude/skills/memeskill && \
  curl -fsSL https://meme-skill.com/skill.md -o ~/.claude/skills/memeskill/SKILL.md
Windows (PowerShell)
mkdir -Force "$HOME\.claude\skills\memeskill" | Out-Null
curl.exe -fsSL https://meme-skill.com/skill.md -o "$HOME\.claude\skills\memeskill\SKILL.md"

Codex

macOS / Linux
mkdir -p ~/.codex/skills/memeskill && \
  curl -fsSL https://meme-skill.com/skill.md -o ~/.codex/skills/memeskill/SKILL.md
Windows (PowerShell)
mkdir -Force "$HOME\.codex\skills\memeskill" | Out-Null
curl.exe -fsSL https://meme-skill.com/skill.md -o "$HOME\.codex\skills\memeskill\SKILL.md"

Cursor

macOS / Linux
mkdir -p ~/.cursor/skills/memeskill && \
  curl -fsSL https://meme-skill.com/skill.md -o ~/.cursor/skills/memeskill/SKILL.md
Windows (PowerShell)
mkdir -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.
Server URL
https://api.meme-skill.com/mcp
Claude Code
claude mcp add --transport http memeskill https://api.meme-skill.com/mcp
Claude Code, with an API key
claude 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

AccessRequests per day
No key (per IP address)50
Free account key1,000
Pro account key10,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.

  1. Sign in and create a key on your account page. It’s shown once, so copy it right away.
  2. Save it as MEMESKILL_API_KEY; the skill picks it up from there.
macOS / Linux
echo 'export MEMESKILL_API_KEY=mskl_your_key' >> ~/.zshrc
source ~/.zshrc
Windows (new terminals)
setx MEMESKILL_API_KEY mskl_your_key

REST 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 /tagsFeelings and topics, with template counts.
GET /tags/{slug}/templates?limit=&commercial=Templates for one feeling or topic.
POST /editor-linksBody {"slug", "captions": {boxId: text}} → {"editorUrl"}: the template opened with your captions.
GET /accountYour tier, daily limit and usage. Free to call.
Search
curl "https://api.meme-skill.com/open/v1/search?q=awkward%20silence&limit=5" \
  -H "Authorization: Bearer $MEMESKILL_API_KEY"
Response (shortened)
{
  "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*…*"
  }]
}
Captioned link
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-Remaining and X-RateLimit-Reset (Unix seconds).
  • Errors look like {"error": {"code", "message"}}.
  • 429 quota_exceeded: the daily limit is used up; Retry-After says 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?”.