Display YouTube tutorial videos inline in ChatGPT and via HTTP API.
- Local MCP Server - Native ChatGPT integration (runs locally)
- HTTP API Server - Deploy to Render, use anywhere (remote)
This app includes 4 tutorial videos:
-
Introduction to Artificial Intelligence | Part 1 (Xpg2bnO_-eU)
- Basics of AI, history, applications, and career opportunities
-
Prompt Engineering - Introduction (p6Yr-DVao3Y)
- What prompt engineering is and why it matters for AI tools
-
Prompt Engineering Part 1 - Key Components (PAKfEvJSLWA)
- Key components of effective prompts (context, clarity, role, tone)
-
Testing Prompts on Google Gemini (ng5lAQay4qI)
- Live testing and experimentation with prompts on Gemini
Best for: Native ChatGPT MCP integration
npm run startOr run separately:
npm run build:web # Build web component first
npm run dev # Then start the serverTo use this MCP server with ChatGPT, you need to configure it in your ChatGPT settings:
- Open ChatGPT settings
- Navigate to Beta Features or Integrations
- Add MCP Server with the following configuration:
{
"mcpServers": {
"tutorial-videos": {
"command": "node",
"args": ["C:/Users/igour/Downloads/test/server/index.js"],
"cwd": "C:/Users/igour/Downloads/test"
}
}
}Note: Adjust the paths according to your actual installation directory.
Once configured, you can use these tools in ChatGPT:
Use the list_tutorial_videos tool to show me available tutorials
Show me the AI introduction video using show_tutorial_video
Or specify any video by ID:
Display video Xpg2bnO_-eU with show_tutorial_video
Best for: Remote deployment, Custom GPTs, sharing with others
npm installnpm run start:api
# Visit http://localhost:3000See DEPLOYMENT.md for complete deployment instructions including:
- Pushing to GitHub
- Deploying to Render (free tier)
- Creating Custom GPT with your API
- API endpoints and usage
Quick API endpoints (after deployment):
GET /api/videos- List all videosGET /api/videos/:id- Get video detailsGET /api/player/:id- View video player
Lists all 4 tutorial videos with their IDs and descriptions.
Example:
list_tutorial_videos()
Displays a YouTube video inline in the chat.
Parameters:
videoId(required): YouTube video IDtitle(optional): Custom title for the videodescription(optional): Custom description
Example:
show_tutorial_video({
videoId: "Xpg2bnO_-eU",
title: "AI Introduction",
description: "Learn the basics of AI"
})
.
├── server/
│ └── index.js # MCP server (local)
├── api/
│ └── server.js # HTTP API server (for deployment)
├── web/
│ ├── src/
│ │ └── index.js # Web component source
│ ├── dist/
│ │ └── tutorial-video-player.js # Built web component
│ └── build.js # Build script
├── package.json
├── render.yaml # Render deployment config
├── README.md # This file
└── DEPLOYMENT.md # Full deployment guide
If you modify the web component:
npm run build:webEdit server/index.js and update the TUTORIAL_VIDEOS array:
const TUTORIAL_VIDEOS = [
{
id: 'YOUR_VIDEO_ID',
title: 'Your Video Title',
description: 'Your video description',
},
// ... more videos
];Then rebuild:
npm run build:web
npm run dev- Make sure you ran
npm installfirst - Check that Node.js is installed:
node --version
- Verify the build was successful: check
web/dist/tutorial-video-player.jsexists - Make sure video IDs are correct (11 characters from YouTube URL)
- Verify the MCP server is running
- Check the path in ChatGPT MCP configuration matches your installation
- Restart ChatGPT after adding the MCP server
ISC