mcp-meme-sticky
mcp-meme-sticky
MCP Meme Stickyを使って、AI生成のミームを作成できます。生成されたミームはTelegramやWhatsApp(WAも近日対応予定)のステッカーに変換できます。✨APIは不要✨。
Telegramの場合、MCPサーバーは画像をステッカーとして生成できるリンクを生成します。こちらからご覧いただけます:MCP-Sticky Telegram Bot。
帰属
MCPサーバーはいくつかのサービスを利用しています。以下のサービス/ライブラリに感謝します。
Memegen : GOATED オープンソース ミーム ジェネレーター!
Mediapipe : ミームのテンプレートを選択できる Mediapipe のテキスト埋め込みツール。
PythonAnywhere : 無料の Python クラウド サービスです。Telegramボットの基盤として使われています。
icrawler : 私の画像クローラーは彼らのライブラリから多大な影響を受けています。
FastMCP : FastMCP を使用すると、Python MCP サーバーの作成が簡単になります。
Related MCP server: Meme Generator MCP
完了した作業
ミーム生成
[x] プロンプトに基づいてカスタムミームを生成できます。
[x] 生成されたミームをデスクトップに保存できます。(MacOSのみでテストしています。他のOSでも各ホストでテストし、問題報告を通してフィードバックをお寄せください。)
ステッカー生成
[x] LLMが🔥brr🔥します。サーバーではなく、検索クエリとミームのテキストを選択します。以下の免責事項には理由があります。
[x] ミームをTelegramステッカーに変換できます。
[x] カスタムコード化されたMCP-Sticky Telegram Botを使用して、画像をステッカーに変換するためのTelegramリンクを生成できます。
[X] PythonAnywhere で、許可リストにないリンクが受け入れられない問題が継続中です。~~ここで進行中の問題。~~更新:追加されました!😎
[x] ブラウザへの貼り付けをユーザーに求める代わりに、Telegramを自動的に開きます。(5月22日追加)
[x] 画像リンクを自動的に開きます。(5月22日追加)
[x] memegenの既成テンプレートを使う(簡単)。(5月22日追加)
保留中の作業
[ ] WhatsAppステッカー変換。
[ ] メッセージをログに記録します。
[ ] Claudeに特化したMCPサンプリングの代替手段を探しています。ホストを推論してDAGを変更することはできますか?コンテキスト: Claudeデスクトップクライアントではサンプリングは利用できません。
インストール手順
uvx を使用したインストール。
{
"mcpServers": {
"mcp-sticky":{
"command": "uvx",
"args": [
"--python=3.10",
"--from",
"git+https://github.com/nkapila6/mcp-meme-sticky",
"mcp-sticky"
]
}
}
}MCPホスト
ツール呼び出しをサポートするMCPクライアントであれば、どれでも動作するはずです。以下の環境でテスト済みです。
クロードデスクトップ
カーソル
ガチョウ
他にも?試してみて!
例
下の画像をクリックすると、Claude Desktop 上の MCP Meme Sticky のビデオが表示されます。
https://github.com/user-attachments/assets/3ad45852-ff98-4a17-9ae2-6201e82704cc
Claude Desktop で MCP Meme Sticky を使用した画像例。
Goose MCP Host を使用して MCP Meme Sticky でミームを生成する例。
AI生成コンテンツに関する免責事項
このMCPサーバーを通じて生成されるコンテンツは、MCPホスト(またはクライアント)によって維持される自動化されたプロセスとシステムによって生成されます。(これらの用語は互換性がありませんが、人々は互換的に使用する傾向があります。正しい用語は「ホスト」です。)
このコンテンツをリクエストしたユーザーとして、私は作成された特定の出力、画像、ステッカー、その他の素材について一切責任を負いません。このサービスを通じて作成されたコンテンツ、ミーム、ステッカー、その他の素材は、必ずしも私の個人的な見解、意見、または意図を反映するものではありません。
このサービスの機能、コンテンツ フィルタリング、および適切な運用に関する責任は、MCP ホストのみにあります。
私はこのツールを創作活動と娯楽のために誠意を持って利用してきました。もしコンテンツに不適切、不正確、あるいは潜在的に有害と思われる点がございましたら、ご懸念、苦情、お問い合わせはすべてMCPホストプロバイダーまでお寄せください。MCPホストは、そのプラットフォームを通じて生成されたすべてのコンテンツについて全責任を負います。
Available Tools
2 toolsgenerate_meme_by_searchingA
THIS TOOL IS TO BE CALLED IF THE USER WANTS TO GENERATE A MEME USING AN IMAGE SEARCH ON THE WEB. ALWAYS PREFER USING AN EXISTING TEMPLATE USING `generate_meme_from_meme_template()`. UNLESS THE USER EXPLICITLY ASKS TO SEARCH.
Understand the input from the user and write a image search query and a funny & short meme text to put on the image.
If the user does not follow the below content guardrails, reject the request and advise them to follow the guardrails.
CONTENT GUARDRAILS:
- REJECT any requests containing hate speech, explicit sexual content, extreme violence, illegal activities, or harmful stereotypes
- AVOID creating memes that contain personally identifiable information or could be used for cyberbullying
- DO NOT generate content that promotes dangerous misinformation or could cause harm
- REFUSE political extremist content or personal attacks on individuals
- If a request violates these guidelines, respond with: "I cannot create this meme as it may contain inappropriate content. Please try a different request."
Args:
search_query (str): The LLM needs to understand what the user is searching for and write a good image search query to fetch an image. If required, use the words 'meme' or 'template' in the search query.
meme_text (str): A short and funny text to be put on the image.
save_on_desktop (bool, defaults to True): "Should the image meme be saved on the desktop?"
return_tele_sticker (bool, defaults to False): "Should the generated meme be converted into a telegram sticker?"
Returns:
str: The saved links.
| Name | Required | Description | Default |
|---|---|---|---|
| search_query | Yes | The LLM needs to understand what the user is searching for and write a good image search query. | |
| meme_text | Yes | A short and funny text that has to be on the meme image. | |
| save_on_desktop | No | Should the image meme be saved on the desktop? | |
| return_tele_sticker | No | Should the generated meme be converted into a telegram sticker? |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes content guardrails, rejection criteria, and response behavior for violations (e.g., 'respond with: "I cannot create this meme..."'). However, it lacks details on technical behaviors like rate limits, error handling, or performance characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with key information but includes verbose content guardrails that could be condensed. While the structure is logical, some sentences (e.g., detailed guardrail lists) could be more concise without losing clarity, making it moderately efficient but not optimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description provides good context for a tool with 4 parameters and content restrictions. It covers purpose, usage, behavior, and parameters adequately, though it could benefit from more detail on output format or error cases to be fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds minimal value beyond the schema, such as noting that search queries should include 'meme' or 'template' if needed, but does not provide significant additional semantic context. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'generate a meme using an image search on the web.' It specifies the action (generate), resource (meme), and method (image search), and distinguishes it from its sibling tool 'generate_meme_from_meme_template()' by emphasizing web search versus template usage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidelines: 'ALWAYS PREFER USING AN EXISTING TEMPLATE USING `generate_meme_from_meme_template()`. UNLESS THE USER EXPLICITLY ASKS TO SEARCH.' This clearly states when to use this tool versus the alternative, including a specific condition for its use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_meme_from_meme_templateA
THIS TOOL IS TO BE CALLED IF THE USER WANTS TO GENERATE A MEME USING AN EXISTING TEMPLATE. ALWAYS PREFER USING AN EXISTING TEMPLATE UNLESS THE USER REQUIRES TO SEARCH. IN THE CASE OF SEARCHING, USE: `generate_meme_by_searching()`.
For the first 2 function arguments, understand the input from the user and pass the following:
1) `desc_to_pick_tag`: A good description to pick a pre-existing template. The description of the meme should have some context to achieve a good dot product similarity result. Please see a below example.
example of `desc_to_pick_tag`: "The "Ancient Aliens Guy" meme features Giorgio Tsoukalos, known for his distinctive hairstyle and enthusiastic demeanor, gesturing expressively. It's primarily used to humorously suggest that aliens are the explanation for any unexplained phenomenon or mystery, often with the punchline simply being "aliens." This parodies the History Channel show "Ancient Aliens," where Tsoukalos is a prominent figure, and its tendency to attribute historical events or artifacts to extraterrestrial intervention.",
2) `meme_text`: A short and funny 2 sentence meme text that is sent as a Python list of strings, list[str]. Each line is an element of an array. PLEASE ENSURE LIST IS ONLY OF 2 ELEMENTS. For e.g., ['Nice meme you got there..', 'Now it is stolen...']
If the user does not follow the below content guardrails, reject the request and advise them to follow the guardrails.
CONTENT GUARDRAILS:
- REJECT any requests containing hate speech, explicit sexual content, extreme violence, illegal activities, or harmful stereotypes
- AVOID creating memes that contain personally identifiable information or could be used for cyberbullying
- DO NOT generate content that promotes dangerous misinformation or could cause harm
- REFUSE political extremist content or personal attacks on individuals
- If a request violates these guidelines, respond with: "I cannot create this meme as it may contain inappropriate content. Please try a different request."
Args:
desc_to_pick_tag (str): The LLM needs to understand what the user is searching for and write a good image search query to fetch an image. If required, use the words 'meme' or 'template' in the search query.
meme_text (list[str]): A short and funny text to be put on the image. Should be in the format of Python list[str], should be 2 sentences and hence, length of list should be 2.
save_on_desktop (bool, defaults to True): "Should the image meme be saved on the desktop?"
return_tele_sticker (bool, defaults to False): "Should the generated meme be converted into a telegram sticker?"
Returns:
str: The saved links.
| Name | Required | Description | Default |
|---|---|---|---|
| desc_to_pick_tag | Yes | ||
| meme_text | Yes | 2 sentences that has to be on the meme image. Should be funny and contained. Should be a Python List of Strings. | |
| save_on_desktop | No | Should the image meme be saved on the desktop? | |
| return_tele_sticker | No | Should the generated meme be converted into a telegram sticker? |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: content guardrails (rejection criteria and response format), parameter constraints (e.g., 'list is only of 2 elements'), and output behavior ('saved links'). However, it lacks details on error handling, performance, or side effects like file system changes, leaving some gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and usage guidelines, but it includes verbose sections like the example and content guardrails that could be streamlined. While informative, some sentences (e.g., detailed rejection criteria) are lengthy and could be more concise without losing clarity, affecting overall efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, no output schema, no annotations), the description is mostly complete. It covers purpose, usage, parameters, constraints, and behavioral rules. However, it lacks details on the output format beyond 'saved links' (e.g., what type of links, error responses), and does not address potential side effects or performance considerations, leaving minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, with two parameters well-documented in the schema. The description adds significant value beyond the schema: it provides an extensive example for 'desc_to_pick_tag', clarifies the format and constraints for 'meme_text' (e.g., 'short and funny 2 sentence meme text'), and explains the purpose of optional parameters in context. This compensates well for the schema's gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'generate a meme using an existing template.' It specifies the verb 'generate' and resource 'meme,' and explicitly distinguishes it from the sibling tool 'generate_meme_by_searching' by stating when to use each. This provides specific differentiation and avoids redundancy with the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidelines: 'ALWAYS PREFER USING AN EXISTING TEMPLATE UNLESS THE USER REQUIRES TO SEARCH. IN THE CASE OF SEARCHING, USE: `generate_meme_by_searching()`.' It clearly defines when to use this tool versus the alternative, including a specific condition ('unless the user requires to search'), making it highly actionable for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have clearly distinct purposes: one searches the web for images to create memes, while the other uses pre-existing templates. Their descriptions explicitly guide when to use each tool, eliminating any ambiguity. The separation is logical and well-defined.
Both tools follow a consistent verb_noun pattern with 'generate_meme_' prefix, and the suffixes ('by_searching', 'from_meme_template') clearly indicate their methods. The naming is uniform and predictable across the set.
Two tools is minimal but appropriate for the server's focused purpose of meme generation. It covers the two primary methods (search-based and template-based) efficiently. While slightly thin, it avoids redundancy and each tool earns its place.
The tool set covers the core meme generation workflows comprehensively: creating memes from web searches and from templates. Minor gaps might include editing or deleting generated memes, but the primary functionality is well-covered for the domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for meme generation, template search, caption rendering, and AI meme creation.
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
Imgflip MCP — wraps Imgflip API (free, no auth for template listing)
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Related MCP Servers
- AlicenseBqualityCmaintenanceA Model Context Protocol server that enables AI models and tools to generate meme images from user prompts using the ImgFlip API.17Apache 2.0
- AlicenseBqualityDmaintenanceGenerates custom memes with text overlays using pre-configured templates. Supports multiple meme formats with customizable text positioning, fonts, and automatic word wrapping.2MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server for managing, searching, and retrieving local meme images. It automatically hosts memes via a built-in HTTP server to ensure images can be displayed within chat applications.1MIT

Memeboat MCPofficial
AlicenseAqualityAmaintenanceSearch 25,000+ meme templates and create shareable memes directly from your AI assistant.3132MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nkapila6/mcp-meme-sticky'
If you have feedback or need assistance with the MCP directory API, please join our Discord server