MemeStack
REMOTE · MCP.MEMESTACK.AI
Visual search for memes, infographics and charts — by meaning, OCR text, or image similarity.
Available components
Last scanned (8 hours ago)
Scores higher than 76% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Search and Retrieval
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security77
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability78
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3123 tokens (~223/item across 14 items; 11 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management48
- Stability check failed: schema churn in the 30 days we've observed: 11 tool removals, 0 breaking changes, 0 auth/transport breaks, 1 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 28 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “get_image” rewrote its description, which is the text the model reads security
- Server version: 1.5.0 → 1.6.0 functional
- New tool “get_receipts” functional
- 26 Oct 26 −7
- Tool “browse_by_category” was removed ▼ security
- Tool “browse_by_tag” was removed ▼ security
- Tool “browse_images” was removed ▼ security
- Tool “find_related” was removed ▼ security
- Tool “get_leaderboard” was removed ▼ security
- Tool “get_meme_variants” was removed ▼ security
- Tool “get_tag_profile” was removed ▼ security
- Tool “get_user_profile” was removed ▼ security
- Tool “list_categories” was removed ▼ security
- Tool “popular_tags” was removed ▼ security
- Tool “tag_autocomplete” was removed ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- Tool “cite_image” rewrote its description, which is the text the model reads security
- Tool “find_meme_for_text” rewrote its description, which is the text the model reads security
- Tool “find_similar” rewrote its description, which is the text the model reads security
- Tool “get_image” rewrote its description, which is the text the model reads security
- Tool “reverse_image_search” rewrote its description, which is the text the model reads security
- Tool “search_charts” rewrote its description, which is the text the model reads security
- Tool “search_images” rewrote its description, which is the text the model reads security
- Tool “search_text_in_image” rewrote its description, which is the text the model reads security
- Schema quality: 135 → 222 ▼ functional
- Prompt “research_meme_evolution” was removed ▼ functional
- Prompt “top_zapped” was removed ▼ functional
- Prompt “trending_images” was removed ▼ functional
- Server version: 1.4.0 → 1.5.0 functional
- 14 Oct 26 −1
- Tool “search_charts” rewrote its description, which is the text the model reads security
- Tool “search_images” rewrote its description, which is the text the model reads security
- Server version: 1.3.0 → 1.4.0 functional
- “search_charts” added an optional parameter “publisher_only” cosmetic
- “search_images” added an optional parameter “publisher_only” cosmetic
- 13 Oct 26 0
- Tool “find_meme_for_text” rewrote its description, which is the text the model reads security
- 10 Oct 26 −1
- Stability: pass → fail ▼ security
- 7 Oct 26 0
- “find_meme_for_text” reworded the description of “vibe” cosmetic
- “search_images” reworded the description of “query” cosmetic
2 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Sept 26 0
- Tool “get_image” rewrote its description, which is the text the model reads security
- “search_charts” reworded the description of “chart_source” cosmetic
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://mcp.memestack.ai/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=memestack.ai | CN=WE1,O=Google Trust Services,C=US | 16 Sept 2026 | 15 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | 573861b7ff9977ab1366be5877c34b80 |
| SANs: memestack.ai, mcp.memestack.ai, *.mcp.memestack.ai | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of mcp.memestack.ai. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 1814, 3799 | 8, 8 | Verified |
| memestack.ai. | present | 2371 | 13 | Verified |
| mcp.memestack.ai. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.memestack.ai/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.memestack.ai/mcp | HTTPS enforced | 301 | https://mcp.memestack.ai/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
cite_image ~75
Get ready-to-paste citations for one or more MemeStack images (memes, charts, screenshots): markdown, HTML and plain text naming the source and licence, plus a combined block for citing several images at once. Up to 50 ids per call.
| Name | Type | Req | Description |
|---|---|---|---|
| image_ids | array | yes | Up to 50 image UUIDs |
| Name | Type | Req | Description |
|---|---|---|---|
| citations | array | yes | One citation per resolved image ID. |
| combined | object | yes | Combined attribution for all images in this response, in three formats. |
| missing_ids | array | yes | Requested IDs that could not be resolved. |
No examples provided.
find_meme_for_text ~240
Find a meme or reaction image for an idea, a mood or a sentence, ready to paste with its citation. Use it when writing a post, an article or a reply and you need a meme to make the point. Returns only images tagged as memes (the gallery's Memes filter), so it may come back empty when no meme fits. To search every kind of image, use search_images. When corrected_query is present, the results are for that corrected wording, not the words as typed - say so to the user. Results exclude images classified controversial unless include_controversial is true.
| Name | Type | Req | Description |
|---|---|---|---|
| include_controversial | boolean | – | Include images classified controversial (excluded by default). |
| limit | number | – | How many memes to return (1-20, default 5) |
| vibe | string | yes | The core idea in one to three words, e.g. "procrastination", "burnout" or "imposter syndrome". Every extra word narrows the match: a long descriptive phrase finds only weaker "closest" results, so le… |
| Name | Type | Req | Description |
|---|---|---|---|
| citations_combined | object | – | Combined attribution for all images in this response, in three formats. |
| corrected_query | string | – | Present when the search found no strong match for the words as typed and ran again with this corrected wording: the results are for it. Tell the user. |
| has_more | boolean | – | Present when the API labelled the results: true when more results follow this page. |
| images | array | yes | Memes that capture the requested vibe, best-first: only images tagged as memes (the gallery's Memes filter). May come back empty when no meme fits. |
| match_quality | string | – | Present when the API labelled the results: strong = the search has at least one strong match (they lead the first page); closest_only = no strong match anywhere, every result is the nearest guess - d… |
| note | string | – | Leads the answer when there is something to say: no image matched (an empty result - try different words), the search was auto-corrected, or the first page has no strong result and shows the closest… |
| query_language | string | – | Present with translated_query: the ISO 639-1 code of the query language, e.g. "fr". |
| translated_query | string | – | Present only when the query was not English: the English text it was also searched as (those results are merged in). |
No examples provided.
find_similar ~124
Find images that look like a MemeStack image, by its ID - the same meme, chart or screenshot, its crops and edits (perceptual-hash matching), each with a ready citation. For an image that is not on MemeStack, use reverse_image_search. Results exclude images classified controversial unless include_controversial is true.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Source image UUID |
| include_controversial | boolean | – | Include images classified controversial (excluded by default). |
| limit | number | – | Max results (1-20, default 10) |
| Name | Type | Req | Description |
|---|---|---|---|
| citations_combined | object | – | Combined attribution for all images in this response, in three formats. |
| count | number | yes | Total number of matching images. |
| images | array | yes | Visually similar images. |
| note | string | – | Present only when the answer is empty: says no image matched. |
No examples provided.
generate_meme ~238
Generate a new image from a text prompt using AI (Grok Imagine). Paid tool - billed per call via the agent payment rails (x402/L402); not covered by any free quota. Generation runs asynchronously on the server and this call polls until it completes, up to ~90 seconds. If you get a "still running" error, call the tool again with the SAME payment proof to resume polling - you will never be charged twice for one payment. Price: $0.08 standard or $0.20 quality, paid in sats over Lightning at the current BTC/USD rate or in USDC on Base. Note for x402 clients: "quality" mode exceeds the agents-SDK default per-call cap of $0.10 - raise maxPaymentValue in withX402Client to use it.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | string | – | Output image aspect ratio (default "1:1"). |
| mode | string | – | Generation quality tier - "standard" (default, cheaper) or "quality" (higher fidelity, costs more). |
| prompt | string | yes | Text description of the image to generate (max 2000 characters). |
| Name | Type | Req | Description |
|---|---|---|---|
| caption | string|null | – | AI-generated caption for the image. |
| image_id | string | yes | UUID of the generated image. |
| image_url | string | yes | Direct serve URL for the full generated image bytes. |
| tags | array | – | Scored tags assigned to the generated image. |
| thumbnail_url | string | yes | Thumbnail URL for the generated image (?w=384). |
| url | string | yes | MemeStack gallery page URL for the generated image. |
No examples provided.
get_image ~106
Get one image's full record by ID - a meme, chart, infographic or screenshot: caption, alt text, tags, the words printed in it (OCR text), its source and licence (rights), a ready citation and URLs. For a chart that is part of a series, chart.series lists every edition (other years) by id. When the image's receipts were already read, they ride along as receipts (see get_receipts).
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Image UUID |
| Name | Type | Req | Description |
|---|---|---|---|
| alt_text | string | – | Accessible alt text. |
| canonical_url | string | yes | Full-resolution image URL. |
| caption | string | – | AI-generated caption. |
| chart | object|null | – | Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a sign… |
| citation | object | yes | Ready-to-paste attribution for this image in three formats, plus source metadata. |
| controversial | boolean | – | True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always… |
| created_at | string | – | ISO 8601 creation timestamp. |
| free_tags | array | – | Free-form tag slugs. |
| height | number | – | Original height in pixels. |
| id | string | yes | Image UUID. |
| like_count | number | – | Number of likes. |
| match | string | – | Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result. |
| meme_template_name | string|null | – | Recognised meme template, if any. |
| mime_type | string | – | Image MIME type. |
| page_url | string | yes | MemeStack gallery page URL. |
| quality_score | number | – | AI quality score (1-10). |
| receipts | object | – | Present only when the receipts were already read (get_receipts reads them). |
| rights | object | – | What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. |
| save_count | number | – | Number of saves. |
| size | number | – | File size in bytes. |
| tags | array | – | Topic tag slugs. |
| text_in_image | string|null | – | OCR transcription of any text in the image. |
| thumb_height | number | – | Thumbnail height in pixels. |
| thumb_width | number | – | Thumbnail width in pixels. |
| thumbnail_url | string | yes | Thumbnail URL sized for display (?w=384: a lighter rendition about 384 px wide where one exists). |
| updated_at | string | – | ISO 8601 last-updated timestamp. |
| uploader_display_name | string|null | – | Uploader name, or null. |
| width | number | – | Original width in pixels. |
| zap_count | number | – | Number of Lightning zaps. |
| zap_total_sats | number | – | Total sats zapped. |
No examples provided.
get_receipts ~186
Get the receipts for one image by ID - where it came from (who added it and when, the credit printed on it, its publisher and versions), what it claims about the world (each checkable claim restated neutrally, with the source the image itself names), and what the data says (charts from the original publishers - Our World in Data, Eurostat, USDA ERS, EEA - that measure the same thing, with period, unit and a link). Use it when the user asks whether an image is true, where it comes from or what backs it. No verdict: the claims are the image's own, and an empty data list means MemeStack holds no publisher chart for that measure. The first ask for an image reads it and can take several seconds.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Image UUID (from search_images, get_image or any result) |
| Name | Type | Req | Description |
|---|---|---|---|
| claims | object | yes | The checkable claims the image makes about the world. |
| image_id | string | yes | Image UUID. |
| note | string | – | How to present the receipts: evidence for the user to weigh, never a verdict. |
| origin | object | yes | How the image reached MemeStack. |
| read_at | string|null | – | When the image was read, or null when it was not. |
No examples provided.
reverse_image_search ~197
Find a meme, chart or screenshot on MemeStack from a copy of the image - to name a meme or find where an image came from: give an HTTPS image URL, or a `data:image/...;base64,...` URL for bytes pasted into the conversation, and get the same or visually similar images with their source and citation. Matches by perceptual hash (dHash hamming distance), so it finds copies and edits, not images about the same topic. Heavily rate-limited (10/min/IP) since each call hashes the input. Results exclude images classified controversial unless include_controversial is true.
| Name | Type | Req | Description |
|---|---|---|---|
| include_controversial | boolean | – | Include images classified controversial (excluded by default). |
| limit | number | – | Max results (1-20, default 10) |
| url | string | yes | HTTPS image URL, or data:image/(jpeg|png|webp);base64,... URL |
| Name | Type | Req | Description |
|---|---|---|---|
| citations_combined | object | – | Combined attribution for all images in this response, in three formats. |
| input_meta | object | – | Computed metadata for the input image. |
| note | string | – | Present only when the answer is empty: says no image on MemeStack looks like the input. |
| similar | array | yes | Visually similar images. |
No examples provided.
search_charts ~598
Search charts, graphs, maps and infographics with their source data: the dataset and its citation, the unit, the regions plotted and the period the chart actually shows. Two kinds of stored metadata: charts from Our World in Data and three statistical publishers (provenance 'authoritative') carry the publishing dataset and its citation, the period the chart displays (never the dataset's wider history), and whether the source has published newer data since the image was captured; community-uploaded charts (provenance 'extracted') carry a title, source line, unit and period read from the image itself and not checked against the original data. This tool covers only images that HAVE stored metadata, so use search_images for the widest chart coverage; search_images, get_image and cite_image carry the same metadata whenever a row exists. Set publisher_only to keep only the publishers' own charts (licence-clean, citable). Every image carries rights (source publisher/creator/community, licence, attribution line, commercial_use yes/no/unknown - unknown is never a guess), and match_quality says whether the search found any strong match (strong / closest_only / none). When corrected_query is present, the results are for that corrected wording, not the words as typed - say so to the user. Results exclude images classified controversial unless include_controversial is true.
| Name | Type | Req | Description |
|---|---|---|---|
| chart_source | string | – | Restrict to one upstream source key: "owid" (Our World in Data), "usda_ers" (USDA Economic Research Service), "eurostat" or "eea" (European Environment Agency), or "extracted" (community charts whose… |
| data_from | number | – | Earliest year of interest. Matches charts whose DISPLAYED period overlaps [data_from, data_to]. Charts with no provable displayed period are excluded, and the underlying dataset's wider history is ne… |
| data_to | number | – | Latest year of interest. See data_from. |
| include_controversial | boolean | – | Include images classified controversial (excluded by default). |
| limit | number | – | Results per page (1-50, default 10) |
| offset | number | – | Pagination offset (default 0) |
| publisher_only | boolean | – | Only charts imported from a licence-clean publisher: Our World in Data (CC BY 4.0), the USDA Economic Research Service (US public domain), Eurostat or the European Environment Agency (both CC BY 4.0)… |
| query | string | yes | What the chart should show, in plain words - e.g. "global cereal yields" or "life expectancy by country". |
| region | string | – | Restrict to charts that plot this entity exactly as the chart names it, e.g. "World", "Germany". |
| Name | Type | Req | Description |
|---|---|---|---|
| citations_combined | object | – | Combined attribution for all images in this response, in three formats. |
| corrected_query | string | – | Present when the search found no strong match for the words as typed and ran again with this corrected wording: the results are for it. Tell the user. |
| has_more | boolean | – | Present when the API labelled the results: true when more results follow this page. |
| images | array | yes | Images that HAVE stored chart metadata, best-first. Every item carries a populated chart block (source, citation, unit, regions, displayed period). |
| match_quality | string | – | Present when the API labelled the results: strong = the search has at least one strong match (they lead the first page); closest_only = no strong match anywhere, every result is the nearest guess - d… |
| note | string | – | Leads the answer when there is something to say: no image matched (an empty result - try different words), the search was auto-corrected, or the first page has no strong result and shows the closest… |
| query_language | string | – | Present with translated_query: the ISO 639-1 code of the query language, e.g. "fr". |
| total | number | yes | Total number of matching images. |
| translated_query | string | – | Present only when the query was not English: the English text it was also searched as (those results are merged in). |
No examples provided.
search_images ~438
Search memes, reaction images, charts, graphs, infographics and screenshots by meaning or keywords - the general image search. Semantic and keyword matching run together and merge. Returns each image with its caption, tags, image and page URLs and a ready citation (source, licence). Use the key words only: a long descriptive phrase matches fewer images strongly. Every image carries rights (source publisher/creator/community, licence, attribution line, commercial_use yes/no/unknown - unknown is never a guess), and match_quality says whether the search found any strong match (strong / closest_only / none). When corrected_query is present, the results are for that corrected wording, not the words as typed - say so to the user. Results exclude images classified controversial unless include_controversial is true.
| Name | Type | Req | Description |
|---|---|---|---|
| include_controversial | boolean | – | Include images classified controversial (excluded by default). |
| limit | number | – | Results per page (1-50, default 10) |
| offset | number | – | Pagination offset (default 0) |
| publisher_only | boolean | – | Only charts imported from a licence-clean publisher: Our World in Data (CC BY 4.0), the USDA Economic Research Service (US public domain), Eurostat or the European Environment Agency (both CC BY 4.0)… |
| q | string | – | Alias for `query`. Provided so REST-API muscle memory (?q=...) works on the MCP tool too. If both are set, `query` wins. |
| query | string | yes | Search query - combines semantic AI and keyword matching automatically. Use the key words only (e.g. "bitcoin halving infographic"): a long descriptive phrase matches fewer images strongly. Alias: `q… |
| sort | string | – | Sort order (default: relevance) |
| tag | string | – | Filter results by a single tag slug (backward compat) |
| tags | string | – | Filter results by multiple tag slugs (comma-separated, AND logic - e.g. "bitcoin,meme") |
| Name | Type | Req | Description |
|---|---|---|---|
| citations_combined | object | – | Combined attribution for all images in this response, in three formats. |
| corrected_query | string | – | Present when the search found no strong match for the words as typed and ran again with this corrected wording: the results are for it. Tell the user. |
| has_more | boolean | – | Present when the API labelled the results: true when more results follow this page. |
| images | array | yes | Matching images, best-first. |
| match_quality | string | – | Present when the API labelled the results: strong = the search has at least one strong match (they lead the first page); closest_only = no strong match anywhere, every result is the nearest guess - d… |
| note | string | – | Leads the answer when there is something to say: no image matched (an empty result - try different words), the search was auto-corrected, or the first page has no strong result and shows the closest… |
| query_language | string | – | Present with translated_query: the ISO 639-1 code of the query language, e.g. "fr". |
| total | number | yes | Total number of matching images. |
| translated_query | string | – | Present only when the query was not English: the English text it was also searched as (those results are merged in). |
No examples provided.
search_text_in_image ~145
Find screenshots, memes and other images by the exact words printed in them (OCR text): a quote, a caption, a sign, a watermark. Matches only the text in the image (the text_in_image field), not captions or tags, and returns strong matches only, each with a ready citation. Results exclude images classified controversial unless include_controversial is true.
| Name | Type | Req | Description |
|---|---|---|---|
| include_controversial | boolean | – | Include images classified controversial (excluded by default). |
| limit | number | – | Results per page (1-50, default 10) |
| offset | number | – | Pagination offset |
| query | string | yes | Text to search for in image OCR |
| Name | Type | Req | Description |
|---|---|---|---|
| citations_combined | object | – | Combined attribution for all images in this response, in three formats. |
| corrected_query | string | – | Present when the search found no strong match for the words as typed and ran again with this corrected wording: the results are for it. Tell the user. |
| has_more | boolean | – | Present when the API labelled the results: true when more results follow this page. |
| images | array | yes | Images whose OCR text matched. |
| match_quality | string | – | Present when the API labelled the results: strong = the search has at least one strong match (they lead the first page); closest_only = no strong match anywhere, every result is the nearest guess - d… |
| note | string | – | Leads the answer when there is something to say: no image matched (an empty result - try different words), the search was auto-corrected, or the first page has no strong result and shows the closest… |
| total | number | yes | Total number of matching images. |
No examples provided.
submit_image ~296
Submit an image to the MemeStack review queue. Paid tool - $0.10 per submission, paid in sats over Lightning at the current BTC/USD rate or in USDC on Base via the agent payment rails (x402/L402); no account or API key. IMPORTANT: there is NO refund if moderation rejects the submission (duplicate, nsfw/spam, low quality) - the fee is the anti-spam mechanism. Accepted images await human review before publication. Accepts an HTTPS image URL or a data:image/...;base64 URL (JPEG/PNG/WebP, max 8MB). Optional caption/tags/attribution are hints shown to the AI tagger and moderators - never published verbatim. If the call fails or times out, retry with the SAME payment proof to resume - one payment delivers at most one submission and is never charged twice (up to 10 delivery attempts per payment; a corrected image_url is allowed while no submission has been created yet).
| Name | Type | Req | Description |
|---|---|---|---|
| attribution | string | – | Optional credit line for the original creator/source (shown to moderators, not published). |
| caption | string | – | Optional caption hint for the AI tagger (admin-visible, never published verbatim). |
| image_url | string | yes | HTTPS image URL, or data:image/(jpeg|png|webp);base64,... URL. Max 8MB. |
| tags | array | – | Optional tag hints (max 10). |
| Name | Type | Req | Description |
|---|---|---|---|
| image_id | string | yes | UUID of the submitted image. |
| page_url | string | – | Gallery URL where the image will be published if approved. |
| status | string | yes | Always 'pending_review' on success — accepted, awaiting human moderation. |
No examples provided.
How do I install the MemeStack MCP server?
MemeStack is a hosted endpoint at https://mcp.memestack.ai/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.memestack.ai
claude mcp add --transport http ai-memestack-mcp 'https://mcp.memestack.ai/mcp'
What is the MemeStack MCP server?
MemeStack is an MCP server listed in the public MCP registry as ai.memestack/mcp. Visual search for memes, infographics and charts, by meaning, OCR text, or image similarity. This page covers its hosted endpoint (https://mcp.memestack.ai/mcp).
Is the MemeStack MCP server safe to use?
MemeStack scores 78 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the MemeStack MCP server expose?
MemeStack exposes 11 tools: search_images, search_charts, get_image, get_receipts, find_similar, and 6 more. Their descriptions and schemas cost roughly 2,643 tokens of context every time the server is loaded.
Does the MemeStack MCP server require authentication?
No. We connected to MemeStack without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the MemeStack MCP server still maintained?
MemeStack is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.