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 密钥(可选,但推荐以获得更好的元数据)
本地开发
- 克隆仓库:
git clone <repository-url>
cd yt-to-linkedin
- 创建虚拟环境并安装依赖项:
python -m venv venv
source venv/bin/activate # Windows 上:venv\Scripts\activate
pip install -r requirements.txt
- 在项目根目录中创建一个
.env文件,添加你的 API 密钥:
OPENAI_API_KEY=your_openai_api_key
YOUTUBE_API_KEY=your_youtube_api_key
- 运行应用程序:
uvicorn app.main:app --reload
- 访问 API 文档:http://localhost:8000/docs
Docker 部署
- 构建镜像:
docker build -t yt-to-linkedin .
- 运行容器:
docker run -p 8000:8000 --env OPENAI_API_KEY=your_key --env YOUTUBE_API_KEY=your_key yt-to-linkedin
💻 使用示例
基础用法
本服务器提供了多个 API 端点,以下是一些使用示例。
YouTube 字幕提取
// 请求体
{
"video_id": "string"
}
// 响应
{
"subtitles": {
"content": "string",
"language": "string"
}
}
LinkedIn 帖子生成
// 请求体
{
"title": "string",
"content": "string",
"format": "markdown" | "plain"
}
// 响应
{
"post": {
"id": "string",
"content": "string",
"character_count": integer
}
}
输出格式化
// 请求体
{
"post_content": "string",
"format": "json"
}
// 响应
{
"content": {
"post_content": "string",
"character_count": integer
},
"format": "json"
}
📚 详细文档
API 端点
1. YouTube 字幕提取
- 端点:
/api/v1/subtitles - 方法:POST
- 请求体:
{
"video_id": "string"
}
- 响应:
{
"subtitles": {
"content": "string",
"language": "string"
}
}
2. LinkedIn 帖子生成
- 端点:
/api/v1/post - 方法:POST
- 请求体:
{
"title": "string",
"content": "string",
"format": "markdown" | "plain"
}
- 响应:
{
"post": {
"id": "string",
"content": "string",
"character_count": integer
}
}
3. 输出格式化
- 端点:
/api/v1/output - 方法:POST
- 请求体:
{
"post_content": "string",
"format": "json"
}
- 响应:
{
"content": {
"post_content": "string",
"character_count": integer
},
"format": "json"
}
环境变量
| 属性 | 详情 | |------|------| | OPENAI_API_KEY | OpenAI API 密钥,用于摘要和帖子生成,可在请求中提供 | | YOUTUBE_API_KEY | YouTube 数据 API 密钥,用于获取视频元数据,可在请求中提供 | | PORT | 服务器运行的端口(默认:8000) |
⚠️ 重要提示
虽然环境变量中的 API 密钥是可选的(因为它们可以在每次请求中提供),但在本地开发和测试时,建议设置它们。当部署到 Smithery 时,用户需要在请求中提供自己的 API 密钥。
📄 许可证
本项目采用 MIT 许可证。
微信扫一扫