MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
Description from the maker (original English)
SEO and AI-search checks for a website's build output, fixed in the source files
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account web-casa, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.3.0) reached the registry 10 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need MCPB on your computer.
In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
An MCP server retrieving transcripts of YouTube videos
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
SEO/GEO checks for a site's build output, before it ships — the inside view for aieo.ee.
aieo.ee checks what a site serves over HTTP. aieo reads what the build produced (dist/), what the framework declares and what the deployment config adds (_redirects, _headers, vercel.json, netlify.toml, Next.js manifests), and checks that the pieces agree with each other: sitemap ↔ robots.txt ↔ canonical ↔ hreflang ↔ internal links ↔ llms.txt ↔ redirects ↔ framework settings. With a baseline it fails a build only on what the change made worse.
aieo init # detect the framework, write aieo.toml
aieo check # check ./dist; exit 1 when the gate fails aieo snapshot # save .aieo/baseline.json aieo diff # fail only on findings new since the baseline aieo export # .aieo/bundle.json.gz (aieo-bundle/v1) for aieo.ee aieo rules / aieo explain C-SITEMAP-URL-NOINDEX aieo logs ingest /var/log/nginx/ # crawler & AI-referral evidence from access logs aieo logs report # coverage, verification, blocking, errors, AI referrals aieo search google inspect # Google's view of the build's pages (URL Inspection) aieo indexnow submit --yes # tell Bing & co. what changed since the baseline aieo login && aieo push # upload the bundle to the aieo.ee project aieo mcp # the same checks as read-only MCP tools for AI agents
curl -fsSL https://raw.githubusercontent.com/web-casa/aieo-cli/main/scripts/install.sh | sh
Static binaries for Linux (x86_64, aarch64), macOS (Apple silicon, Intel) and Windows are attached to each GitHub release, with a .sha256 next to each; install.sh verifies it and installs to ~/.local/bin (AIEO_VERSION=1.0.0 pins a release, AIEO_INSTALL_DIR changes the directory). From source: cargo install --git https://github.com/web-casa/aieo-cli aieo-cli (Rust 1.88+).
The preset is detected from package.json and config files (--preset to force one). Findings point at the source file a page was built from.
| Preset | Build checked | Read from the config (literals only) | Pages traced to |
|---|---|---|---|
static | any directory | — | — |
astro, starlight | dist/ (outDir) | site, base, trailingSlash | src/pages/**, src/content/docs/** |
next | out/ (output: 'export') or .next/ | basePath, trailingSlash, output, metadataBase | app/**/page.*, pages/** |
nuxt | .output/public | site.url, app.baseURL, ssr, routeRules redirects | app/pages/**, pages/** |
vue | dist/ (build.outDir) | base | src/pages/** (file routing) |
tanstack | dist/client, .output/public, dist/ | base | src/routes/** |
hugo | public/ (publishDir) | baseURL, uglyURLs, languages | content/** |
vitepress | .vitepress/dist | sitemap.hostname, base, cleanUrls, srcDir | **/*.md |
docusaurus | build/ | url, baseUrl, trailingSlash | docs/**, blog/**, src/pages/** |
Server builds (Next.js .next/, Nuxt and TanStack Start with a server bundle) are served as production would: prerendered HTML, public/, the redirects/rewrites/headers of routes-manifest.json, and every other route as *rendered on request* — links to it count as working, its HTML is not checked, and a server-rendered homepage makes the homepage modules unverified (exit 2 unless --allow-incomplete). Client-rendered SPAs are checked for what crawlers without JavaScript see (K-SPA-SHELL). fixtures/presets/ holds a real build of the same site per framework with its snapshot (cargo test -p aieo-cli --test presets).
| Family | Examples | |
|---|---|---|
| F01–F18 | aieo.ee's AI-readiness modules, judged from the build | robots.txt AI-crawler matrix, noindex, sitemap, canonical, llms.txt, content without JS |
| P01–P04 | multi-page modules (GEOReady's), over every indexable page, scored 0–100 on their own | unique metadata, navigation and substance, API / product data, one organization identity |
| T-… | per page | missing title, duplicate titles (hreflang alternates excepted), malformed JSON-LD, JSON-LD without schema.org @context, missing properties Google requires for a rich result, retired rich result types (HowTo, FAQPage, …) |
| C-… | across the build | sitemap lists a page that is missing / noindex / non-canonical / on another host / blocked by robots.txt; hreflang without return link; canonical to a missing page or another host; broken internal links; orphan pages; llms.txt links to missing pages; Disallow: / shipped to production; AI search crawlers blocked |
| K-… | configuration | framework site / base path / trailing-slash setting contradicted by canonical and sitemap URLs; redirect loops, chains and dead targets (with file and line); a header rule that noindexes sitemap pages; Next.js redirects() ignored by static export; routes answered by one client-rendered shell |
| L-… | access logs (aieo logs) | crawler blocked by WAF/CDN, crawler 5xx, robots.txt unavailable, 404 spike after a deploy, spoofed crawlers, disallowed paths crawled, low AI-search coverage |
| S-… | search engines (aieo search) | indexable page not indexed, canonical overridden by Google, production answers differently than the build, clicks halved, IndexNow key not served |
| D-… | against a baseline | page removed without redirect, page turned noindex, canonical changed, hreflang or structured data lost, content shrank |
Every rule has an id, a tier and a source: aieo rules, aieo explain .
Tiers: error = a deterministic defect (fails the default gate), warning = high risk (fails a diff when new), notice = advice. Rules without an official source are marked heuristic and are never errors by default; length-based title rules are off unless enabled.
Exit codes: 0 gate passed · 1 gate failed · 2 incomplete evidence (no homepage, origin unknown, undecodable HTML) or a usage error — a check that could not see enough never reports "all clear".
The rule metadata, crawler catalog and bundle schema in spec/ are exported from @aieo/rules, the package aieo.ee's scanner reads. F02–F18 are implemented twice (TypeScript in aieo.ee, Rust here) and held together by the conformance fixtures in spec/fixtures/conformance: the same tiny sites, the same module status, ratio and reason (cargo test -p aieo-rules --test conformance). F01 (HTTPS, redirects) needs a live origin; F15 reads a .md twin of the homepage instead of content negotiation.
aieo logs ingest access.log access.log.1.gz # Nginx/Apache, Caddy, Cloudflare Logpush,
aieo logs ingest app.log --format "nginx:\$host \$remote_addr [\$time_local] \"\$request\" \$status …" CLOUDFLARE_API_TOKEN=… aieo logs pull cloudflare --zone --since 7d aieo logs report [--since 30d] [--format json] aieo logs gaps --actor search_index # indexable pages AI search crawlers never fetched aieo logs referrals # landing pages of visits from ChatGPT, Perplexity, …
spec/crawlers.json: OAI-SearchBot, ChatGPT-User, GPTBot, Claude-*, PerplexityBot, Googlebot, Bingbot, Applebot, …) and classed as search_index, user_fetch, training, classic_search, other automation or people. Visits whose referrer (or utm_source) is an AI answer platform are AI referrals..aieo/cache/, list creationTime recorded), then by forward-confirmed reverse DNS where the operator documents it. mismatch = spoofed; a crawler without a published method is unverifiable, never called fake. --offline skips the network..aieo/logs.db (SQLite). A file is recognised by its first bytes, so a growing log resumes and a rotated copy is not counted twice. Crawler requests keep a salted IP hash (.aieo/salt), people only per-day counts — no IPs, no browser user agents. .aieo/.gitignore keeps the salt, database and caches out of git.unchecked, and the plan's limits are read from the zone's settings.aieo export adds the log aggregates (logs in aieo-bundle/v1) when .aieo/logs.db exists.Everything runs with your own credentials, stored in your config directory (~/.config/aieo/credentials.json, owner-only) or taken from the environment in CI. Data lands in .aieo/search.db.
# Google Search Console — your own "Desktop app" OAuth client from Google Cloud
aieo search google login --client-secret client_secret.json # browser, loopback redirect aieo search google pull --days 28 # clicks per page and day, top queries aieo search google inspect [--limit 200] # URL Inspection of indexable pages, stalest first
aieo search bing key # or BING_WEBMASTER_API_KEY aieo search bing pull aieo search bing import-ai export.csv # AI Performance overview export (Date, Citations, Cited Pages) aieo search report
GOOGLE_APPLICATION_CREDENTIALS to a service account key whose e-mail is a user of the Search Console property (the device flow does not allow Search Console scopes).aieo indexnow keygen --write # key file into public/ (static/ for Hugo, Docusaurus)
aieo indexnow verify # in the build? served live? aieo indexnow submit # plan: new, changed and removed pages since the baseline aieo indexnow submit --yes # send (Bing, Yandex, Seznam, Naver, … share it; not Google)
Changes are found by comparing page hashes with the baseline (aieo snapshot), so only what a deploy touched is sent. Nothing is sent without --yes, and every request is recorded in .aieo/audit.jsonl.
aieo login # an organisation API key with write access; finds the project for `site`
aieo push # export the bundle (check + logs + search) and upload it
aieo push uploads to [aieo] project in aieo.toml (or --to ). The same commit and kinds uploaded twice are recognised as one run. The bundle carries findings, page inventory and aggregates — no page source, raw logs or IP addresses — and can also be dropped on the project's "Inside view" page.
aieo.toml)site = "https://exaOnly the beginning is shown; read the rest in the repo