Skip to main content
Glama

pocket-joe-mcp-toys

MCP servers built with pocket-joe - YouTube transcription and more.

What's Inside

YouTube Transcriber

MCP server that transcribes YouTube videos, extracting:

  • Video title

  • Full transcript

  • Thumbnail URL

  • Video ID

Built using pocket-joe policies and deployed to Railway.

Deploy to Railway

Prerequisites

Steps

  1. Push this repo to GitHub

cd pocket-joe-mcp-toys git init git add . git commit -m "Initial commit" git remote add origin https://github.com/YOUR_USERNAME/pocket-joe-mcp-toys.git git push -u origin main
  1. Deploy to Railway

    • Go to Railway Dashboard

    • Click "New Project" → "Deploy from GitHub repo"

    • Select pocket-joe-mcp-toys

    • Railway auto-detects Python and deploys

    • Wait for deployment (takes ~2-3 minutes)

  2. Get your endpoint

    • Click on your deployment

    • Copy the public URL: https://your-app.railway.app

Use in Claude Desktop

Add to your Claude Desktop config at ~/Library/Application Support/Claude/claude_desktop_config.json:

{ "mcpServers": { "youtube": { "url": "https://your-app.railway.app/mcp" } } }

Restart Claude Desktop and you'll see the YouTube transcription tool available.

Local Development

Setup with uv

# Install uv if you haven't curl -LsSf https://astral.sh/uv/install.sh | sh # Clone and setup git clone https://github.com/YOUR_USERNAME/pocket-joe-mcp-toys.git cd pocket-joe-mcp-toys uv sync # Run locally uv run python main.py

Server runs at http://localhost:8000/mcp

Test locally with Claude Desktop

Use http://localhost:8000/mcp in your config during development.

Architecture

This uses pocket-joe's policy system:

  • Policy: TranscribeYouTubePolicy - handles video transcription

  • AppContext: Manages policy instances and bindings

  • FastMCP: Wraps policies as MCP tools with @mcp.tool() decorator

  • Transport: Streamable HTTP for Railway

  • Deployment: Stateless (scales horizontally)

Railway Configuration

  • Runtime: Python 3.12

  • Package Manager: uv (auto-detected via pyproject.toml)

  • Entry Point: python main.py

  • Port: Auto-assigned via $PORT env var

Cost

Railway Hobby plan:

  • $5/month credit

  • Enough for ~500k requests/month

  • Auto-sleep after inactivity

  • Custom domains included

Adding More Tools

To add more pocket-joe policies as MCP tools:

  1. Create your policy class in main.py

  2. Add to AppContext with self._bind(YourPolicy)

  3. Create a FastMCP tool with @mcp.tool() that calls your policy

  4. Push to GitHub (Railway auto-deploys)

License

MIT

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Sohojoe/pocket-joe-mcp-toys'

If you have feedback or need assistance with the MCP directory API, please join our Discord server