gobbler-mcp
Enables conversion of YouTube video transcripts to markdown for AI consumption.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gobbler-mcpTranscribe this YouTube video: https://youtu.be/dQw4w9WgXcQ"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Gobbler
CLI-first content conversion to Markdown for humans and AI agents
Gobbler converts YouTube transcripts, audio/video files, documents, web pages, and intentionally selected browser tabs into structured Markdown. The public automation contract is the gobbler CLI; the Skills in this repository teach agents to use that same CLI.
Project status
Gobbler is an active beta. Current supported surfaces are:
gobblerfor conversion, diagnostics, batches, jobs, providers, and browser automation.Local Markdown Skills for CLI-capable AI agents.
An optional Chromium extension and local relay for tabs deliberately placed in a Gobbler tab group.
Websites and AI chat products can change their DOM without notice, so browser integrations are more fragile than direct file and URL conversion.
Related MCP server: Python MCP Markdownify Server
Install from source
Requirements: Python 3.11+ and uv. Docker is optional for document/webpage conversion; ffmpeg is required for audio/video transcription.
git clone https://github.com/Enablement-Engineering/gobbler.git
cd gobbler
# Reproducible source-checkout environment
uv sync
uv run gobbler --version
uv run gobbler doctor --jsonRun commands from the checkout with uv run gobbler ..., or install an isolated global CLI:
uv tool install .
gobbler --versionFor local development, use uv sync --extra dev. See the installation guide for Docker and browser setup.
Convert content
# YouTube transcript; URL can also come from stdin
uv run gobbler youtube "https://youtube.com/watch?v=VIDEO_ID" -o transcript.md
# Local faster-whisper transcription
uv run gobbler audio meeting.mp3 --model small -o meeting.md
# Docling service required
uv run gobbler document report.pdf --no-ocr -o report.md
# Crawl4AI service required
uv run gobbler webpage "https://example.com" --no-proxy -o page.mdWithout -o, normal Markdown output is written to stdout. --format json produces a single JSON object for individual conversions. Batch commands use --json for newline-delimited JSON events.
Service readiness
YouTube and local audio conversion do not need Docker. Document and webpage conversion use the services in docker-compose.yml:
make start-docker
uv run gobbler doctor --jsonCrawl4AI:
http://localhost:11235Docling:
http://localhost:5001
gobbler doctor --json is the broad agent-friendly diagnostic. gobbler status --json focuses on conversion-provider readiness and exits nonzero when overall status is degraded while still emitting JSON.
Batch and queued work
# Playlist output directory is required
uv run gobbler batch youtube-playlist \
"https://youtube.com/playlist?list=PLAYLIST_ID" \
-o ./transcripts --dry-run
# Local files
uv run gobbler batch directory ./documents -o ./markdown --pattern "*.pdf"
# URL list; one URL per line
uv run gobbler batch webpages urls.txt -o ./pages --dry-run
# Explicitly queue a webpage batch in the SQLite job store
uv run gobbler batch webpages urls.txt -o ./pages --queue --json
uv run gobbler jobs worker start
uv run gobbler jobs listQueued work is opt-in through --queue. The current queue is SQLite-backed; Redis/RQ is not required.
Providers and configuration
Inspect the runtime instead of relying on a static provider list:
uv run gobbler providers list --format json
uv run gobbler config path
uv run gobbler config show
uv run gobbler config initThe default config file is ~/.config/gobbler/config.yml. Configuration is deep-merged over built-in defaults. CLI flags take precedence for the commands that expose them. Environment variables are used by specific integrations, not as a general override system:
TRANSCRIPTAPI_KEY: paid YouTube transcript fallback.WEBSHARE_USER/WEBSHARE_PASSorYOUTUBE_PROXY: YouTube proxy configuration.CRAWL4AI_PROXY: webpage proxy fallback.OPENAI_API_KEY:openai-whispertranscription provider.CRAWL4AI_API_TOKEN: Docker Compose API token.GOBBLER_MODELS_PATH: Docling model-cache mount.
See the configuration guide for the current schema.
Browser extension
The extension communicates with a local relay on port 4625. Most browser operations auto-start it; browser status is intentionally read-only and does not.
uv run gobbler relay start
uv run gobbler browser status
uv run gobbler browser list
uv run gobbler browser extract -o page.md
uv run gobbler notebooklm query "Summarize the current notebook"Browser command guards target tabs whose group ID matches the extension's stored Gobbler group. Use Allow & Add/Add Tab to create or populate it and grant origin access for extraction and page APIs. A different group with the same title does not match, while manually moving a tab into the existing managed group makes it eligible for commands; debugger-based browser exec does not require the separate origin permission. The extension does not bypass authentication, access controls, rate limits, or bot detection. See the browser extension guide.
AI-agent Skills
# Inspect available Skills
npx skills@latest add Enablement-Engineering/gobbler --list
# Interactive install
npx skills@latest add Enablement-Engineering/gobbler
# Install the main conversion Skill globally
npx skills@latest add Enablement-Engineering/gobbler \
--skill gobbler --global --yesThis installs Skill files only; it does not install the Gobbler CLI. The repository currently provides:
gobbler: conversion and batch workflows.gobbler-browser: authenticated-tab and supported AI-chat workflows.gobbler-setup: installation, diagnostics, and service troubleshooting.
Output contract
Successful Markdown conversions include YAML frontmatter when the selected converter provides metadata. For automation:
Individual
--format jsoncommands emit one JSON object.Batch
--jsoncommands emit JSON Lines.Versioned conversion, diagnostic, batch, and job JSON contracts include
schema_version: 1.Configuration, provider-registry, and browser JSON outputs are command-specific and currently unversioned.
Error payloads use stable
error_codevalues where documented.Credential-bearing URL components are sanitized in diagnostic payloads.
Development
uv sync --extra dev
uv run pytest tests/unit/ -q --tb=short
uv run ruff format --check src/ tests/
uv run ruff check src/ tests/
uv run --extra docs mkdocs build --strictProject layout:
src/gobbler_cli/ Typer CLI
src/gobbler_core/ converters, providers, configuration, utilities
src/gobbler_queue/ SQLite job queue and worker
src/gobbler_relay/ browser-extension HTTP/WebSocket relay
browser-extension/ Chromium extension
skills/ CLI instruction SkillsSee CONTRIBUTING.md, SECURITY.md, and the full documentation.
License
MIT License. See LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Enablement-Engineering/gobbler'
If you have feedback or need assistance with the MCP directory API, please join our Discord server