Skip to main content
Glama

mcp-밈-스티키

MCP Meme Sticky를 사용하여 AI가 생성하는 밈을 만들어 보세요. 생성된 밈을 Telegram이나 WhatsApp(WA는 곧 출시 예정)용 스티커로 변환할 수 있습니다. ✨ API가 필요하지 않습니다 ✨.

텔레그램의 경우, MCP 서버는 이미지를 스티커로 생성할 수 있는 링크를 생성합니다. 여기에서 확인할 수 있습니다: MCP-Sticky Telegram Bot.

속성

MCP 서버는 여러 서비스를 사용합니다. 다음 서비스/라이브러리에 감사드립니다.

  • Memegen : GOATED 오픈소스 밈 생성기!

  • 미디어파이프 : 미디어파이프의 텍스트 임베더로, 밈 템플릿을 선택할 수 있습니다.

  • PythonAnywhere : 무료 Python 클라우드 서비스입니다! Telegram 봇을 지원합니다.

  • icrawler : 제 이미지 크롤러는 해당 라이브러리에서 많은 영감을 받았습니다.

  • FastMCP : FastMCP를 사용하면 Python MCP 서버를 더 쉽게 만들 수 있습니다!

Related MCP server: Meme Generator MCP

완료된 작업

  • 밈 생성

    • [x] 프롬프트에 따라 사용자 정의 밈을 생성할 수 있습니다.

    • [x] 생성된 밈을 데스크톱에 저장할 수 있습니다. (MacOS에서만 테스트합니다. 다른 OS에서도 해당 호스트에서 테스트해 보시고 이슈를 통해 피드백을 주시면 감사하겠습니다.)

  • 스티커 생성

    • [x] LLM이 🔥으악🔥 소리를 지릅니다. 서버가 아니라 검색어와 밈 텍스트를 선택합니다. 아래 면책 조항이 있는 데에는 이유가 있습니다.

    • [x] 밈을 텔레그램 스티커로 변환할 수 있습니다.

    • [x] 사용자 정의 코딩된 MCP-Sticky Telegram Bot을 사용하여 이미지를 스티커로 변환하는 Telegram 링크를 생성할 수 있습니다.

      • [X] PythonAnywhere에서는 허용 목록에 없는 링크를 허용하지 않는 문제가 계속 발생합니다. 여기에서는 지속적인 문제가 발생합니다. 업데이트: 추가되었어요! 😎

    • [x] 브라우저에 붙여넣기 대신 Telegram을 자동으로 엽니다. (추가, 5월 22일)

    • [x] 이미지 링크를 자동으로 엽니다. (추가, 5월 22일)

    • [x] 미리 만들어진 밈젠 템플릿 사용하기(쉬움). (추가, 5월 22일)

  • 보류 중인 작업

설치 지침

uvx를 사용하여 설치.

지엑스피1

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 tools
generate_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.
ParametersJSON Schema
NameRequiredDescriptionDefault
search_queryYesThe LLM needs to understand what the user is searching for and write a good image search query.
meme_textYesA short and funny text that has to be on the meme image.
save_on_desktopNoShould the image meme be saved on the desktop?
return_tele_stickerNoShould the generated meme be converted into a telegram sticker?

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.
ParametersJSON Schema
NameRequiredDescriptionDefault
desc_to_pick_tagYes
meme_textYes2 sentences that has to be on the meme image. Should be funny and contained. Should be a Python List of Strings.
save_on_desktopNoShould the image meme be saved on the desktop?
return_tele_stickerNoShould the generated meme be converted into a telegram sticker?

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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

A4.4/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    A Model Context Protocol server that enables AI models and tools to generate meme images from user prompts using the ImgFlip API.
    17
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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.
    1
    MIT

Latest Blog Posts

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