Token导航 LogoToken导航TokenDH.com
meme generator MCP server logo
音视频stdio官方级别未说明来源级核验

meme generator MCP server

MCP Server

一个基于MCP协议的服务,自动将网络梗图转化为短视频内容并发布到YouTube,适用于AI驱动的内容创作自动化。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
Python语音音频视频

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

janakmandavgade

提供方

janakmandavgade

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

Meme生成器MCP服务器

一种将互联网模因转换为短视频内容的MCP服务器。它通过FastMCP公开了一组工具,因此LLM或客户端应用程序可以获取模因,选择合适的配乐,渲染垂直视频,生成上传元数据,并将其发布到YouTube。

目标

构建一个可重用的基于MCP的后端,可以自动生成模因到视频的管道。该项目旨在让人工智能代理编排完整的内容工作流程,而不是将视频创建、元数据生成和上传视为单独的手动任务。

为什么这个项目

简式内容创作通常涉及大量重复性工作:

  • 寻找一个引人入胜的模因或视觉效果。
  • 搭配合适的配乐。
  • 以移动友好的纵横比渲染。
  • 写标题、描述和关键字。
  • 将其上传到平台。

本项目探讨了当工作流转换为MCP服务器后面的可调用工具时会发生什么。服务器的结构不是首先构建传统的UI,而是LLM可以推理可用的工具并以编程方式执行管道。

它所解决的需求

  • 减少将模因转化为可分享的短视频所需的人工操作。
  • 为AI驱动的内容自动化提供干净的后端。
  • 演示如何将MCP用于聊天之外的其他用途,特别是用于媒体工作流程。
  • 为构建可以端到端获取、生成、丰富和发布内容的代理系统奠定了基础。

这个项目做什么

服务器公开了以下工具:

  • 使用模因API从Reddit下载随机模因。
  • 将模因渲染成1080x1920的短片,并配以选定的背景音乐。
  • 致电Gemini,确定最佳音频风格并生成YouTube就绪元数据。
  • 将最终视频上传到已登录用户的YouTube频道。
  • 清理临时生成的资产。

还有一个简单的示例工具, add(a, b),主要用作MCP服务器的健全性检查。

核心功能

1.迷因抓取

download_random_meme 工具从以下位置获取模因 https://meme-api.com/gimme,跳过NSFW和剧透内容,在本地下载媒体,并返回元数据,如subreddit、作者、帖子URL和upvotes。

2.视频生成

createVideo 该工具将下载的meme转换为垂直视频:

  • 输出格式目标 1080 x 1920.
  • 静态图像被转换为短片。
  • GIF或MP4表情包作为动画剪辑处理。
  • 背景音乐是从精心策划的本地音频文件夹中选择的。
  • 最终视频以base64编码字节的形式返回,供下游使用。

3.人工智能辅助内容丰富

call_gemini_api 该工具将模因媒体上传到Gemini并要求其返回:

  • 最佳匹配的音频风格。
  • YouTube标题。
  • 描述。
  • 逗号分隔的关键字。

这使得媒体生成工作流更具上下文意识,而不是依赖于固定模板。

4.上传YouTube

upload_video_to_youtube 该工具使用基于OAuth的凭据和YouTube数据API将渲染的视频直接上载到频道。

探索的技术

这个项目是一个很好的平台,可以将多种技术结合到一个管道中:

  • FastMCP 用于通过模型上下文协议公开基于工具的操作。
  • Starlette 支持HTTP访问的CORS中间件。
  • MoviePy 用于图像/视频合成和配乐叠加。
  • Google Gemini 通过 google-genai 用于多模态推理和元数据生成。
  • YouTube Data API 用于程序化视频上传。
  • python-dotenv 用于本地配置管理。
  • requests 用于外部API访问和媒体下载。

为什么MCP在这里很有趣

MCP非常适合这个项目,因为工作流程自然会分解为可组合的工具:

  • 获取内容
  • 检查内容
  • 生成元数据
  • 创建资产
  • 发布资产

这使得服务器对代理自动化非常有用,而不仅仅是对单个硬编码脚本。LLM客户端可以根据前一个工具的输出决定下一个调用哪个工具。

系统设计

在较高层次上,服务器充当模因源、本地媒体处理、人工智能丰富和发布之间的编排层。

文本流程图

[Client / LLM Agent]
        |
        v
[FastMCP Server]
        |
        +--> download_random_meme()
        |         |
        |         v
        |   [Meme API / Reddit meme source]
        |         |
        |         v
        |   [Local meme storage]
        |
        +--> call_gemini_api()
        |         |
        |         v
        |   [Gemini multimodal analysis]
        |         |
        |         v
        |   [Audio style + title + description + keywords]
        |
        +--> createVideo()
        |         |
        |         v
        |   [MoviePy rendering engine]
        |         |
        |         +--> local audio library
        |         +--> local meme media
        |         |
        |         v
        |   [Generated vertical video]
        |
        +--> upload_video_to_youtube()
                  |
                  v
          [YouTube Data API]
                  |
                  v
          [Published short-form video]

请求和处理流程

  1. 客户端或LLM调用MCP工具。
  2. 服务器获取模因内容并将其存储在本地。
  3. Gemini分析模因,并建议最佳配乐类别和上传元数据。
  4. MoviePy将模因媒体和配乐组装成垂直视频。
  5. 服务器使用OAuth凭据将输出上传到YouTube。
  6. 可以使用清除临时介质 /clear 路线。

项目结构

.
├── app.py
├── meme_fetch_and_download.py
├── youtube_video_upload/
│   └── upload_video.py
├── data/
│   └── audio/
│       ├── ambient/
│       ├── club_beat/
│       ├── comedy_hiphop/
│       ├── funny/
│       ├── hyperpop/
│       ├── lofi/
│       ├── meme_music/
│       ├── phonk/
│       ├── rpg_fantasy_medieval/
│       └── sad/
└── requirements.txt

重要工具和路线

MCP工具

  • add(a, b) -基本测试工具。
  • download_random_meme(...) -在本地下载meme媒体。
  • createVideo(...) -创建短视频。
  • call_gemini_api() -生成音频类别和YouTube元数据。
  • upload_video_to_youtube(...) -上传生成的视频。

HTTP路由

  • GET /health -健康检查终点。
  • GET /clear -删除临时下载的表情包和生成的视频。

环境变量

该项目依赖于环境变量进行运行时配置:

BASE_DIR=/absolute/path/to/project
THREADS=4
GEMINI_API_KEY=your_gemini_api_key

YOUTUBE_CLIENT_ID=your_client_id
YOUTUBE_PROJECT_ID=your_project_id
YOUTUBE_AUTH_URI=https://accounts.google.com/o/oauth2/auth
YOUTUBE_TOKEN_URI=https://oauth2.googleapis.com/token
YOUTUBE_AUTH_PROVIDER_X509_CERT_URL=https://www.googleapis.com/oauth2/v1/certs
YOUTUBE_CLIENT_SECRET=your_client_secret

设置和运行

先决条件

  • python 3.12.x
  • ffmpeg 已安装并在系统路径中可用
  • 双子星API密钥
  • YouTube API OAuth凭据

安装

git clone https://github.com/janakmandavgade/meme_generator_mcp_server.git
cd meme_generator_mcp_server
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

运行服务器

python app.py

服务器运行超时 streamable-http 日期:

http://0.0.0.0:8000/mcp

端到端流程示例

理想的编排流程如下:

  1. 呼叫 download_random_meme().
  2. 呼叫 call_gemini_api() 以获得最佳的音频风格和元数据。
  3. 呼叫 createVideo(audio_type=).
  4. 呼叫 upload_video_to_youtube(...) 使用返回的元数据和用户OAuth令牌。

面临的挑战

该项目涉及几个容易被低估的问题领域:

  • 在一个可靠的工作流程中协调多个外部服务。
  • 处理不同的模因格式,如静态图像、GIF和MP4剪辑。
  • 确保生成的视频符合短格式垂直内容要求。
  • 安全地管理临时文件和清理。
  • 处理第三方发布API的身份验证。
  • 将多模式AI输出转换为下游工具可以信任的确定性JSON。

工程权衡

  • 目前的系统更倾向于实验速度,而不是严格的生产硬化。
  • 媒体在本地磁盘上处理,这使实现保持简单,但限制了水平可扩展性。
  • 服务器返回base64视频内容,这便于工具链接,但对于较大的输出可能很昂贵。
  • 音频选择是基于文件夹和策划的,这使得行为可预测,但不如推荐引擎动态。

我探索和学到了什么

  • MCP如何作为非平凡媒体工作流的控制平面。
  • 多模式人工智能如何帮助做出创造性决策,如配乐和元数据选择。
  • 如何在单一后端将本地媒体处理与云AI服务相结合。
  • 面向工具的设计如何使项目更容易通过代理实现自动化。

当前限制

  • 没有数据库或持久作业跟踪。
  • 围绕工具执行的最小验证和可观察性。
  • 某些故障模式的重试和恢复逻辑有限。
  • 没有用于大规模或并发渲染作业的排队层。
  • 临时资产生命周期是在本地管理的,而不是通过对象存储。

未来改进

  • 为生成的资产和作业历史添加持久存储。
  • 添加具有队列和工作者分离的异步作业处理。
  • 支持单个API之外的多个模因源。
  • 改进上传前的审核和过滤。
  • 添加更丰富的元数据生成和缩略图选择。
  • 将工作流打包成一个更适合生产的服务,具有更好的日志记录和监控功能。

为什么这个项目值得展示

这不仅仅是一个模因生成器。这是一个代理就绪媒体自动化系统的紧凑示例:

  • MCP为自主编排提供了有意义的工具。
  • 人工智能有助于做出创造性决策,而不仅仅是文本决策。
  • 本地渲染弥合了内容选择和可发布输出之间的差距。
  • 该项目演示了LLM工具如何从聊天转变为行动。

目录标签

目录标签

Python语音音频视频短视频生成本地部署内容自动化AI辅助创作YouTube集成媒体处理

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP