yt-intel MCP Server
yt-intel MCP Server — The Markup (Automation 04)
MCP-сервер, предоставляющий данные каналов из ../yt (yt-intel) в виде диагностических инструментов — работает с любым MCP-клиентом (Claude Desktop, Claude Code, Cursor, Codex или любым другим, говорящим на MCP), не привязан к одному продукту. Родственный проект для ../yt, ../storyboard и ../scriptwriter.
Для чего это нужно
Ответы на вопросы «как на самом деле дела у канала и что делать дальше» прямо из редактора или чат-клиента, без открытия веб-интерфейса yt-intel. Девять инструментов, сгруппированных по диагностическим вопросам, которые продюсер задаёт последовательно, а не по одному инструменту на таблицу базы данных:
Здоровье канала
channel_overview— тенденции роста подписчиков/просмотров, разбивка shorts и длинных видео, частота публикацийlist_videos— базовый список с фильтрацией/сортировкой
Диагностика производительности
diagnose_video— инструмент «почему это видео ведёт себя именно так»: статистика, аналитика, география, источники трафика, соответствие алгоритму, динамика и крючокfind_underperformers/find_winners— ранжированные списки с диагнозом Тип-1 (исполнение/плохой крючок) или Тип-2 (потолок темы) согласно логике Раздела 8 внутреннего Чек-листа выбора темsearch_tag_gaps— поисковые запросы, приносящие просмотры, без соответствующего тега
Поиск по контенту — полнотекстовый поиск Postgres (GIN-индексы, уже существующие в схеме yt-intel — ix_transcripts_fts, ix_videos_title_fts — были созданы и не использовались; теперь они наконец нашли применение), а не наивный LIKE-скан:
search_transcripts— ранжированный поиск с подсветкой фрагментов, а не только IDsearch_videos— то же самое по заголовку и описанию
Проверка тем/сценариев — переиспользует уже готовую и протестированную логику scriptwriter напрямую (локальная зависимость, а не копия):
check_topic— проверка данных Top Country/Best Source перед утверждением темыqa_script— полный механический чек-лист контроля качества (количество слов/темп, проверка скобок, обнаружение дублирующихся фактов, расчёт временных меток)
Related MCP server: YouTube MCP Server
Почему полнотекстовый поиск Postgres, а не Elasticsearch
При ~67 видео и нескольких сотнях килобайт текста транскриптов это намного ниже масштаба, где распределённая архитектура Elasticsearch оправдывает эксплуатационные расходы (второй сервис для развёртывания и синхронизации на VPS с 2-4 ГБ ОЗУ, разделяемом с тремя другими приложениями). Все источники по этой теме сходятся во мнении, что полнотекстовый поиск Postgres покрывает подавляющее большинство сценариев без какой-либо дополнительной инфраструктуры, а нужные GIN-индексы уже есть в схеме yt-intel и не используются. pgvector (семантический поиск по смыслу) — естественный кандидат на v2, если ключевой поиск окажется недостаточным на практике — но не Elasticsearch, при таком масштабе.
Быстрый старт
Для check_topic/qa_script необходимо, чтобы ../scriptwriter присутствовал как соседняя директория и был установлен ПЕРВЫМ — его нет в списке зависимостей этого проекта (зависимость через file:// оказалась хрупкой: абсолютный путь работает только на одной машине, а обработка относительного пути в pip была недостаточно последовательной, что сломало реальную Docker-сборку — см. примечание в pyproject.toml и комментарий в 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_IDЗапуск локально через stdio (для конфигурации Claude Desktop / Cursor / Codex):
python -m ytintel_mcp.serverЗапуск через HTTP (для удалённого развёртывания на VPS):
YTINTEL_MCP_TRANSPORT=http python -m ytintel_mcp.serverПодключение локального MCP-клиента (Claude Desktop / Cursor / Codex)
Каждый клиент запускает этот сервер как дочерний процесс через stdio — укажите ему Python из виртуального окружения этого проекта и модуль:
{
"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 (та же JSON-структура). Codex: собственная конфигурация MCP-сервера с теми же полями command/args/env.
Развёртывание на VPS — вместе со scriptwriter
У этого проекта локальная зависимость от ../scriptwriter (для check_topic/qa_script, которые импортируют модули domain/ из scriptwriter напрямую, а не копируют их — см. pyproject.toml). Это означает, что Docker-образ можно собрать только там, где ОБА проекта существуют рядом, и развёртывать их нужно вместе, а не по отдельности. Конкретно, на 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 --buildПорт 8003 (yt-intel=8000, storyboard=8001, scriptwriter=8002, этот=8003), привязан к 127.0.0.1, как и остальные — добавьте его в тот же обратный прокси-сервер Caddy, если удалённому MCP-клиенту нужен доступ по сети (удалённое развёртывание работает через streamable-http, а не stdio — см. YTINTEL_MCP_TRANSPORT в config.py).
Повторное развёртывание после изменения кода scriptwriter: поскольку образ включает копию кода scriptwriter на этапе сборки (а не живую монтировку), образ ytintel-mcp необходимо пересобрать (docker compose -f ytintel-mcp/docker-compose.prod.yml up -d --build) при каждом изменении domain/topic_scoring.py или domain/script_qa.py на стороне scriptwriter — простого git pull в scriptwriter недостаточно для обновления уже собранного контейнера ytintel-mcp.
Тестирование
./.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