mcp-apps
by 0GiS0
README.md
# π MCP Apps in VS Code Insiders: Create and Run Your First App
<div align="center">
[](https://www.youtube.com/c/GiselaTorres?sub_confirmation=1) [](https://github.com/0GiS0) [](https://www.linkedin.com/in/giselatorresbuitrago/) [](https://twitter.com/0GiS0)
**[πͺπΈ Leer en espaΓ±ol](README.es.md)**
</div>
---
Hey developer ππ»! This repo implements an MCP server with YouTube tools (get-video, get-channel, get-latest-video) and two MCP Apps (`video-render`, `channel-profile`) bundled with Vite into a single HTML file to display them in VS Code Insiders. Learn how to build, serve and consume MCP Apps β€οΈ
<a href="https://youtu.be/AeaMNYddZTE">
<img src="https://img.youtube.com/vi/AeaMNYddZTE/maxresdefault.jpg" alt="π MCP Apps in VS Code Insiders: Create and Run Your First App" width="100%" />
</a>
## π Features
- **get-video**: Searches for a video on YouTube by query and returns title, description and thumbnail (base64) with `video-render` UI
- **get-channel**: Gets channel info (stats, base64 thumbnail) and displays it with `channel-profile` UI
- **get-latest-video**: Returns the latest video from a channel (used in `channel-profile`)
- **UI Apps**:
- `video-render`: Renders a video card with links
- `channel-profile`: Renders channel profile and shows the latest video
## π Requirements
- Node.js 18+
- npm or yarn
- YouTube Data API v3 key (`YOUTUBE_API_KEY`)
## π οΈ Installation
```bash
# Clone the repository
git clone https://github.com/0GiS0/mcp-apps.git
cd mcp-apps
# Install dependencies
npm install
# Configure environment
cp .env-sample .env
# Edit .env and set your YOUTUBE_API_KEY
```
## ποΈ Project Structure
```
src/
βββ server.ts # MCP Server with Express and YouTube tools
βββ services/
β βββ youtube.ts # YouTube Data API integration logic
βββ apps/
βββ channel-profile/ # Channel profile UI
β βββ index.html
β βββ app.ts
β βββ styles.css
βββ video-render/ # Video renderer UI
βββ index.html
βββ app.ts
βββ styles.css
```
## π§ Usage
### Build the apps
```bash
npm run build
```
### Start the MCP server
```bash
npm run serve
```
The server will start at `http://localhost:3001/mcp`
### Configure in VS Code
Add the following configuration to your `.vscode/mcp.json` file:
```json
{
"servers": {
"my-mcp-server": {
"url": "http://localhost:3001/mcp"
}
}
}
```
## π¦ Main Dependencies
- `@modelcontextprotocol/sdk` - Model Context Protocol SDK
- `@modelcontextprotocol/ext-apps` - Extension for creating MCP Apps
- `express` - HTTP Server
- `cors` - CORS Middleware (runtime)
- `vite` + `vite-plugin-singlefile` - App bundling
## π Follow Me on Social Media
If you liked this project and want to see more content like this, don't forget to subscribe to my YouTube channel and follow me on social media:
<div align="center">
[](https://www.youtube.com/c/GiselaTorres?sub_confirmation=1)
[](https://github.com/0GiS0)
[](https://www.linkedin.com/in/giselatorresbuitrago/)
[](https://twitter.com/0GiS0)
</div>
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues