Back to MCP directory
publicPublicdnsLocal runtime

YT-to-LinkedIn-MCP-Server

一个基于MCP协议的服务器,能够自动从YouTube视频提取字幕并生成专业的LinkedIn帖子草稿,支持自定义风格和格式。

article

README

🚀 YouTube 到 LinkedIn MCP 服务器

本项目是一个模型上下文协议 (MCP) 服务器,可自动化从 YouTube 视频生成 LinkedIn 帖子草稿。服务器会依据 YouTube 视频字幕,为用户提供高质量、可编辑的内容草稿。

🚀 快速开始

本服务器可自动化从 YouTube 视频生成 LinkedIn 帖子草稿,为用户提供便捷的内容创作体验。

✨ 主要特性

  • YouTube 字幕提取:通过视频链接提取 YouTube 视频的字幕
  • 字幕摘要生成:使用 OpenAI GPT 生成视频内容的简洁摘要
  • LinkedIn 帖子生成:创建语气和风格可自定义的职业 LinkedIn 帖子草稿
  • 模块化 API 设计:基于 FastAPI 的清晰实现,端点定义明确
  • 容器化部署:准备好在 Smithery 上部署

📦 安装指南

先决条件

  • Python 3.8+
  • Docker(用于容器化部署)
  • OpenAI API 密钥
  • YouTube 数据 API 密钥(可选,但推荐以获得更好的元数据)

本地开发

  1. 克隆仓库:
    git clone <repository-url>
    cd yt-to-linkedin
    
  2. 创建虚拟环境并安装依赖项:
    python -m venv venv
    source venv/bin/activate  # Windows 上:venv\Scripts\activate
    pip install -r requirements.txt
    
  3. 在项目根目录中创建一个 .env 文件,添加您的 API 密钥:
    OPENAI_API_KEY=your_openai_api_key
    YOUTUBE_API_KEY=your_youtube_api_key
    
  4. 运行应用程序:
    uvicorn app.main:app --reload
    
  5. 访问 API 文档:http://localhost:{PORT}/docs

输出格式

| 变量 | 描述 | 是否必需 | |------|------|--------| | OPENAI_API_KEY | OpenAI API 密钥,用于摘要和帖子生成 | 否(可以在请求中提供) | | YOUTUBE_API_KEY | YouTube 数据 API 密钥,用于获取视频元数据 | 否(可以在请求中提供) | | PORT | 服务器运行的端口(默认:8000) | 否 |

⚠️ 重要提示

虽然环境变量中的 API 密钥是可选的(因为它们可以在每次请求中提供),但在本地开发和测试时,建议设置它们。当部署到 Smithery 时,用户需要在请求中提供自己的 API 密钥。

📄 许可证

MIT

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client