返回市场
麦普-吉特霍伯助手

麦普-吉特霍伯助手

作者:0GiS016 星标更新:2025-11-18

项目介绍

YouTube MCP Server

<div align="center">

YouTube 频道订阅者 GitHub 关注者 LinkedIn 关注 X 关注

</div>

你好,开发者 👋🏻!在这个仓库中,你可以找到如何创建MCP(模型上下文协议)服务器以及如何使用它们与GitHub Copilot Chat集成的实际示例。你将学习如何实现stdio传输和远程传输(SSE),以将外部服务与语言模型集成。

<a href="https://youtu.be/khz4nWR9l20"> <img src="https://img.youtube.com/vi/khz4nWR9l20/maxresdefault.jpg" alt="如何创建MCP服务器并使用它们与GitHub Copilot Chat 🚀💻🤖" width="100%" /> </a>

📑 目录

什么是模型上下文协议?

模型上下文协议(MCP)是一种允许语言模型通过一组标准化API与其他系统和服务进行交互的协议。这使得语言模型能够访问外部信息并在其他系统上执行操作,从而扩展其功能和实用性。在官方文档中,它被比作USB-C,可以连接不同的设备和系统。

MCP组件

  • MCP服务器:这是实现协议并允许语言模型与其他系统和服务进行交互的服务器。MCP服务器充当语言模型和外部系统之间的中介。
  • MCP客户端:这是连接到MCP服务器并发送请求以与其他系统和服务进行交互的客户端。MCP客户端可以是语言模型或任何需要与MCP服务器交互的其他系统。它可以是Claude的桌面应用程序或如Visual Studio Code和GitHub Copilot Chat这样的IDE 😃。

✨ 特性

  • 🎥 与YouTube API集成:搜索YouTube频道并获取详细信息
  • 🔄 两种传输实现:stdio用于本地使用,SSE用于远程使用
  • 🛠️ 完整的MCP服务器:实现了模型上下文协议的功能
  • 🎯 实用示例:可立即使用的代码,可根据需求调整
  • 🤖 与GitHub Copilot Chat兼容:直接集成到你最喜欢的IDE中
  • 📝 TypeScript代码:静态类型化,提高安全性和开发体验

🛠️ 使用的技术

  • Node.js - JavaScript运行时
  • TypeScript - JavaScript的类型超集
  • @modelcontextprotocol/sdk - MCP协议的官方SDK
  • Google APIs - YouTube API v3的官方客户端
  • Express - 用于远程服务器(mcp-remote)的Web框架
  • dotenv - 环境变量管理
  • Zod - 模式验证

📋 前置条件

  • Node.js v18.0.0或更高版本
  • 安装了npmyarn
  • YouTube API密钥 - 可从Google Cloud Console获取
  • GitHub Copilot Chat(可选) - 用于测试与VS Code的集成

🚀 安装

方案1:使用stdio传输的MCP服务器(mcp-stdio)

此服务器实现了stdio传输,并允许通过标准输入输出与语言模型进行交互。

步骤1:克隆仓库

git clone https://github.com/0GiS0/youtube-mcp-server.git
cd youtube-mcp-server/mcp-stdio

步骤2:安装依赖

npm install

步骤3:配置环境变量

cp .env-sample .env

编辑.env文件并添加你的YouTube API密钥:

YOUTUBE_API_KEY=你的api密钥

步骤4:构建项目

npm run build

方案2:使用SSE传输的远程MCP服务器(mcp-remote)

此服务器实现了SSE(服务器发送事件)传输,并允许通过服务器事件与语言模型进行交互。

步骤1:克隆仓库

git clone https://github.com/0GiS0/youtube-mcp-server.git
cd youtube-mcp-server/mcp-remote

步骤2:安装依赖

npm install

步骤3:配置环境变量

cp .env-sample .env

编辑.env文件并添加你的YouTube API密钥:

YOUTUBE_API_KEY=你的api密钥

步骤4:构建并运行项目

npm run build
npm start

服务器将在http://localhost:3000可用。

💻 使用

与GitHub Copilot Chat配置

要使用这些MCP服务器与GitHub Copilot Chat,你需要在MCP配置文件中设置它们。

对于mcp-stdio:

  1. 打开GitHub Copilot Chat的配置
  2. 在配置文件中添加MCP stdio服务器的配置

对于mcp-remote:

  1. 确保服务器正在运行(npm start
  2. 配置GitHub Copilot Chat以连接到服务器端点
  3. 服务器通过HTTP暴露MCP工具

示例工具

MCP服务器包括get_youtube_channel工具,该工具允许:

  • 按名称搜索YouTube频道
  • 获取频道的详细信息
  • 访问统计数据和元数据

聊天中的使用示例:

"搜索YouTube频道 @0GiS0"

MCP服务器将处理请求并通过YouTube API返回频道信息。

📁 项目结构

youtube-mcp-server/
├── mcp-stdio/              # 使用stdio传输的MCP服务器
│   ├── src/
│   │   └── index.ts        # stdio服务器的实现
│   ├── .env-sample         # 环境变量示例
│   ├── package.json        # 项目依赖
│   └── tsconfig.json       # TypeScript配置
├── mcp-remote/             # 使用SSE传输的MCP服务器
│   ├── src/
│   │   └── index.js        # 远程服务器的实现
│   ├── .env-sample         # 环境变量示例
│   ├── Dockerfile          # Docker配置
│   ├── package.json        # 项目依赖
│   └── tsconfig.json       # TypeScript配置
├── images/                 # 图形资源
└── README.md              # 本文件

🔍 MCP Inspector

要测试一个MCP服务器,可以直接使用GitHub Copilot Chat,但有时使用MCP Inspector更简单。此工具允许你以交互方式检查和测试服务器工具。

要启动它,请使用以下命令:

npx @modelcontextprotocol/inspector

注意:MCP Inspector允许你测试服务器工具,查看输入/输出模式,并在将其集成到MCP客户端之前调试服务器行为。

🤝 贡献

欢迎贡献。请遵循以下步骤:

  1. 分叉仓库
  2. 创建一个功能分支(git checkout -b feature/AmazingFeature
  3. 提交更改(git commit -m '添加一些AmazingFeature'
  4. 推送到分支(git push origin feature/AmazingFeature
  5. 打开Pull Request

🌐 在社交媒体上关注我

如果你喜欢这个项目并想看到更多类似的内容,请不要忘记订阅我的YouTube频道并关注我在社交媒体上的账号:

<div align="center">

YouTube 频道订阅者 GitHub 关注者 LinkedIn 关注 X 关注

</div>