yt-intel MCP Server
yt-intel MCP Server — The Markup (Automation 04)
Un servidor MCP que expone los datos de canal de ../yt (yt-intel) como herramientas de diagnóstico: funciona con cualquier cliente MCP (Claude Desktop, Claude Code, Cursor, Codex o cualquier otro que hable MCP), sin estar ligado a un producto concreto. Proyecto hermano de ../yt, ../storyboard y ../scriptwriter.
Para qué sirve
Responde a «¿cómo le está yendo realmente a este canal y qué debería hacer a continuación?» directamente desde un editor o un cliente de chat, sin abrir la interfaz web de yt-intel. Nueve herramientas organizadas en torno a las preguntas de diagnóstico que un productor se hace realmente en orden, no una herramienta por tabla de base de datos:
Salud del canal
channel_overview— tendencia de crecimiento de suscriptores/vistas, desglose entre shorts y formato largo, cadencia de publicaciónlist_videos— listado base filtrable y ordenable
Diagnóstico de rendimiento
diagnose_video— la herramienta del «por qué este vídeo está haciendo lo que está haciendo»: estadísticas, analíticas, geo, fuentes de tráfico, alineación con el algoritmo, impulso y el ganchofind_underperformers/find_winners— listas clasificadas anotadas con un diagnóstico de Tipo 1 (ejecución/mal gancho) frente a Tipo 2 (techo del tema), según la lógica de la propia Sección 8 de la Topic Selection Checklist de la casasearch_tag_gaps— términos de búsqueda que generan vistas sin una etiqueta que coincida
Búsqueda de contenido — búsqueda de texto completo en Postgres (los índices GIN que ya estaban en el esquema de yt-intel — ix_transcripts_fts, ix_videos_title_fts — se crearon y no se usaban; esto es lo que por fin los utiliza), no un escaneo ingenuo con LIKE:
search_transcripts— ordenado por relevancia, devuelve fragmentos resaltados, no solo IDssearch_videos— igual, sobre título + descripción
Validación de temas/guiones — reutiliza la lógica ya construida y ya probada de scriptwriter directamente (una dependencia de ruta local, no una copia):
check_topic— la comprobación de datos de Top Country/Best Source antes de comprometerse con un temaqa_script— la lista completa de verificación mecánica de control de calidad (QA) (recuento de palabras/ritmo, verificación de corchetes, detección de hechos duplicados, cálculo de marcas de tiempo)
Related MCP server: YouTube MCP Server
Por qué búsqueda de texto completo en Postgres, no Elasticsearch
Con ~67 vídeos y unos pocos cientos de KB de texto de transcripciones, esto está muy por debajo de la escala en la que la arquitectura distribuida de Elasticsearch justifica su coste operativo (un segundo servicio que desplegar y mantener sincronizado, en un VPS de 2-4 GB compartido con otras tres aplicaciones). Todas las fuentes comparadas coinciden en que la búsqueda de texto completo de Postgres cubre la gran mayoría de los casos de uso con cero infraestructura añadida, y los índices GIN que esto necesita ya existen en el esquema de yt-intel, sin usar. pgvector (búsqueda semántica/por significado) es la v2 natural si la búsqueda por palabras clave resulta insuficiente en la práctica — no Elasticsearch, a esta escala.
Inicio rápido
check_topic/qa_script necesitan que ../scriptwriter esté presente como directorio hermano e instalado PRIMERO; no está en la lista de dependencias de este proyecto (una dependencia de ruta file:// resultó frágil: una ruta absoluta solo se resuelve en una máquina, y el manejo de una relativa por parte de pip fue lo bastante inconsistente como para romper una compilación real de Docker — ver la nota de pyproject.toml y el comentario del Dockerfile).
python -m venv .venv
./.venv/Scripts/python.exe -m pip install -e ../scriptwriter # first
./.venv/Scripts/python.exe -m pip install -e ".[dev]" # Windows
cp .env.example .env # YTINTEL_DATABASE_URL, OWN_CHANNEL_IDEjecutar localmente por stdio (para configurar Claude Desktop / Cursor / Codex):
python -m ytintel_mcp.serverEjecutar por HTTP (para un despliegue remoto/en VPS):
YTINTEL_MCP_TRANSPORT=http python -m ytintel_mcp.serverConexión de un cliente MCP local (Claude Desktop / Cursor / Codex)
Cada cliente lanza este servidor como un subproceso por stdio — indícale el Python del venv de este proyecto y el módulo:
{
"mcpServers": {
"ytintel": {
"command": "D:/Axion/ytintel-mcp/.venv/Scripts/python.exe",
"args": ["-m", "ytintel_mcp.server"],
"env": {
"YTINTEL_DATABASE_URL": "postgresql+psycopg://yt:yt@localhost:5432/yt_intel",
"OWN_CHANNEL_ID": "UCODE52XZvkuimEZfGD10Bcw"
}
}
}
}Claude Desktop: claude_desktop_config.json (Settings → Developer → Edit Config). Cursor: Settings → MCP → Add new MCP server (la misma forma JSON). Codex: su propia configuración de servidor MCP, con los mismos campos command/args/env.
Despliegue en el VPS — junto con scriptwriter
Este proyecto tiene una dependencia de ruta local de ../scriptwriter (para check_topic/qa_script, que importan los módulos domain/ de scriptwriter directamente en lugar de incluir copias — ver pyproject.toml). Eso significa que la imagen de Docker solo se puede construir donde AMBOS proyectos existan lado a lado, y que los dos deben desplegarse juntos, no de forma independiente. Concretamente, en el VPS:
# 1. Clone (or already have) BOTH projects as siblings under the same parent,
# e.g. ~/Axion/scriptwriter and ~/Axion/ytintel-mcp — mirroring this dev
# machine's D:\Axion layout. The path dependency in ytintel-mcp's
# pyproject.toml is an ABSOLUTE dev-machine path
# (file:///D:/Axion/scriptwriter) that only matters locally — the
# Dockerfile does NOT use it; it installs scriptwriter from the shared
# build context instead (see Dockerfile's own header comment), so the
# exact clone path on the VPS doesn't need to match this dev machine's.
cd ~/Axion
git clone <scriptwriter repo> scriptwriter
git clone <ytintel-mcp repo> ytintel-mcp
# 2. scriptwriter's own .env (needed for its own deploy — OPENAI_API_KEY /
# MISTRAL_API_KEY, YTINTEL_DB_PASSWORD, YTINTEL_NETWORK_NAME — see
# ../scriptwriter/README.md's own Deployment section) and ytintel-mcp's
# .env (same YTINTEL_DB_*/YTINTEL_NETWORK_NAME vars, plus OWN_CHANNEL_ID)
cp scriptwriter/.env.example scriptwriter/.env && nano scriptwriter/.env
cp ytintel-mcp/.env.example ytintel-mcp/.env && nano ytintel-mcp/.env
chmod 600 scriptwriter/.env ytintel-mcp/.env
# 3. Confirm yt-intel's actual Docker network name BEFORE either deploy —
# both .env files' YTINTEL_NETWORK_NAME must match this exactly:
docker network ls | grep default
# 4. Deploy scriptwriter first (no cross-project build dependency, so order
# doesn't strictly matter, but this mirrors provisioning it before the
# tool that references its code)
cd ~/Axion/scriptwriter
docker compose -f docker-compose.prod.yml up -d --build
# 5. Deploy ytintel-mcp — note the build context is the AXION ROOT, not this
# directory (the Dockerfile COPYs ../scriptwriter into the image):
cd ~/Axion
docker compose -f ytintel-mcp/docker-compose.prod.yml up -d --buildPuerto 8003 (yt-intel=8000, storyboard=8001, scriptwriter=8002, este=8003), enlazado a 127.0.0.1 como los demás — añádelo al mismo proxy inverso Caddy si un cliente MCP remoto necesita alcanzarlo a través de la red (streamable-http, no stdio, es lo que sirve un despliegue remoto — ver YTINTEL_MCP_TRANSPORT en config.py).
Redespliegue tras un cambio de código en scriptwriter: como la imagen incorpora una copia del código de scriptwriter en tiempo de compilación (no un montaje en vivo), la imagen de ytintel-mcp debe reconstruirse (docker compose -f ytintel-mcp/docker-compose.prod.yml up -d --build) cada vez que domain/topic_scoring.py o domain/script_qa.py cambien en el lado de scriptwriter — un simple git pull solo en scriptwriter no actualiza el contenedor ytintel-mcp ya construido.
Pruebas
./.venv/Scripts/python.exe -m pytest -q
./.venv/Scripts/python.exe -m ruff check .
./.venv/Scripts/python.exe -m mypy srcThis server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables YouTube content browsing, video searching, and metadata retrieval via the YouTube Data API v3. It also facilitates fetching video transcripts for summarization and analysis within MCP-compatible AI clients.7331MIT
- FlicenseNot gradedqualityDmaintenanceProvides YouTube video search, comment analysis, AI-powered text tools, and content generation via MCP protocol and REST API.337
- FlicenseAqualityCmaintenanceEnables AI assistants to analyze YouTube channels, videos, transcripts, and content strategy through structured tool calls.1733
- AlicenseNot gradedqualityAmaintenanceEnables interaction with YouTube via MCP, including search, transcript retrieval, trending videos, and AI community discovery.MIT
Related MCP Connectors
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
💯 The fastest YouTube transcript + YouTube search MCP for AI agents. Try for free.
YouTube MCP — wraps the YouTube Data API v3 (BYO API key)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/Talhaz/ytintel-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server