Case study
Tubask
Hosted YouTube MCP for Claude, Cursor, and ChatGPT
Claude and Cursor do not fetch YouTube links on their own. We shipped a hosted MCP at tubask.app/mcp with three read-only tools, OAuth on first use, and connect docs for every major client.
3
12 days
Streamable HTTP
OAuth 2.0
- youtube_query
- summarize_video
- get_transcript
The gap
Users paste a YouTube link in Claude or Cursor and get nothing useful. The model cannot open the page, read captions, or pull a timestamped quote on its own.
We needed a hosted MCP server at a public URL, not a Python script on localhost. OAuth on first tool call, read-only tools, captions required (auto-generated counts).
Scope
Three tools, one endpoint. Search and channel scans in youtube_query. One-call briefings in summarize_video. Keyword and time-range quotes in get_transcript.
- Streamable HTTP at tubask.app/mcp
- OAuth 2.0 in the browser on first tool call
- Hosted trial: 3 summaries and 25 searches before BYOK
- Connect snippets for Cursor, Claude Desktop, ChatGPT, and Windsurf
Ship
Fixed tool list on paper. Docs for install, OAuth, quota, and troubleshooting. Public listing repo with README and JSON snippets.
Videos without captions stay out of scope. We do not run speech-to-text on caption-less uploads.
Live
Paste a link in chat. Search a channel, summarize a talk, or pull a quote with a timestamp. Same endpoint across Claude, Cursor, ChatGPT, and other Streamable HTTP clients.
We dogfood Tubask before shipping MCP on a client API. Tubask is hosted; your Build lands in your repo with the same tool-scoping discipline.