MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
作者提供的说明(英文原文)
Per-URL SEO verdicts from GSC, GA4, Matomo, Clarity, AI citations: refresh/expand/merge/kill.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
GSC_SERVICE_ACCOUNT_JSON, GSC_SITE_URL, MATOMO_URL, MATOMO_TOKEN, MATOMO_SITE_ID, GA4_PROPERTY_ID, GA4_SERVICE_ACCOUNT_JSON, CLARITY_PROJECT_ID, CLARITY_API_TOKEN, POSTS_SITEMAP_URL, POSTS_LIST, GHOST_ADMIN_API_URL, GHOST_ADMIN_API_KEY, CITATION_INTELLIGENCE_URL标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"seo-performance": {
"command": "npx",
"args": [
"-y",
"@automatelab/seo-performance-mcp"
],
"env": {
"GSC_SERVICE_ACCOUNT_JSON": "your-value",
"GSC_SITE_URL": "your-value",
"MATOMO_URL": "your-value",
"MATOMO_TOKEN": "your-value",
"MATOMO_SITE_ID": "your-value",
"GA4_PROPERTY_ID": "your-value",
"GA4_SERVICE_ACCOUNT_JSON": "your-value",
"CLARITY_PROJECT_ID": "your-value",
"CLARITY_API_TOKEN": "your-value",
"POSTS_SITEMAP_URL": "your-value",
"POSTS_LIST": "your-value",
"GHOST_ADMIN_API_URL": "your-value",
"GHOST_ADMIN_API_KEY": "your-value",
"CITATION_INTELLIGENCE_URL": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add seo-performance --env GSC_SERVICE_ACCOUNT_JSON=your-value --env GSC_SITE_URL=your-value --env MATOMO_URL=your-value --env MATOMO_TOKEN=your-value --env MATOMO_SITE_ID=your-value --env GA4_PROPERTY_ID=your-value --env GA4_SERVICE_ACCOUNT_JSON=your-value --env CLARITY_PROJECT_ID=your-value --env CLARITY_API_TOKEN=your-value --env POSTS_SITEMAP_URL=your-value --env POSTS_LIST=your-value --env GHOST_ADMIN_API_URL=your-value --env GHOST_ADMIN_API_KEY=your-value --env CITATION_INTELLIGENCE_URL=your-value -- npx -y @automatelab/seo-performance-mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"seo-performance": {
"command": "npx",
"args": [
"-y",
"@automatelab/seo-performance-mcp"
],
"env": {
"GSC_SERVICE_ACCOUNT_JSON": "your-value",
"GSC_SITE_URL": "your-value",
"MATOMO_URL": "your-value",
"MATOMO_TOKEN": "your-value",
"MATOMO_SITE_ID": "your-value",
"GA4_PROPERTY_ID": "your-value",
"GA4_SERVICE_ACCOUNT_JSON": "your-value",
"CLARITY_PROJECT_ID": "your-value",
"CLARITY_API_TOKEN": "your-value",
"POSTS_SITEMAP_URL": "your-value",
"POSTS_LIST": "your-value",
"GHOST_ADMIN_API_URL": "your-value",
"GHOST_ADMIN_API_KEY": "your-value",
"CITATION_INTELLIGENCE_URL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"seo-performance": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@automatelab/seo-performance-mcp"
],
"env": {
"GSC_SERVICE_ACCOUNT_JSON": "your-value",
"GSC_SITE_URL": "your-value",
"MATOMO_URL": "your-value",
"MATOMO_TOKEN": "your-value",
"MATOMO_SITE_ID": "your-value",
"GA4_PROPERTY_ID": "your-value",
"GA4_SERVICE_ACCOUNT_JSON": "your-value",
"CLARITY_PROJECT_ID": "your-value",
"CLARITY_API_TOKEN": "your-value",
"POSTS_SITEMAP_URL": "your-value",
"POSTS_LIST": "your-value",
"GHOST_ADMIN_API_URL": "your-value",
"GHOST_ADMIN_API_KEY": "your-value",
"CITATION_INTELLIGENCE_URL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
GSC_SITE_URL envMATOMO_URL envMATOMO_SITE_ID envGA4_PROPERTY_ID envCLARITY_PROJECT_ID envPOSTS_SITEMAP_URL envPOSTS_LIST envGHOST_ADMIN_API_URL envCITATION_INTELLIGENCE_URL env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 AutomateLab-tech 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:GSC_SERVICE_ACCOUNT_JSON, MATOMO_TOKEN, GA4_SERVICE_ACCOUNT_JSON, CLARITY_API_TOKEN, GHOST_ADMIN_API_KEY
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.0.1)于11天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Know which blog posts to refresh, expand, merge, or kill - without guessing.
A MCP server that turns your scattered SEO and analytics data into one clear verdict per URL. Plug it into Claude, Cursor, or any MCP-aware client and ask: "Which three posts should I update this week?" - and get an answer backed by hard numbers.
seo-performance-mcp unifies post-publish signals from every channel you already pay for:
It then runs a deterministic rule engine over those signals and emits a verdict per URL:
refresh/expand/merge/kill/double_down/hold
with reason codes, evidence, and a 0-1 confidence score. Reporting only - the server never mutates your posts.
Most content teams have analytics in five tabs and a gut feeling. That's how good posts rot quietly, mediocre posts get over-promoted, and the obvious "rewrite this one" is invisible until traffic has already cratered.
This MCP closes the loop:
src/verdict/rules.ts.After one cohort run you have:
npx -y @automatelab/seo-performance-mcp
In a Claude, Claude Code, or Cursor MCP config:
{
"mcpServers": { "seo-performance": { "command": "npx", "args": ["-y", "@automatelab/seo-performance-mcp"], "env": { "POSTS_SITEMAP_URL": "https://example.com/sitemap.xml", "GSC_SERVICE_ACCOUNT_JSON": " ", "GSC_SITE_URL": "sc-domain:example.com", "MATOMO_URL": "https://example.com/analytics", "MATOMO_TOKEN": "...", "MATOMO_SITE_ID": "1", "GA4_PROPERTY_ID": "123456789", "GA4_SERVICE_ACCOUNT_JSON": " ", "CLARITY_PROJECT_ID": "...", "CLARITY_API_TOKEN": "...", "CITATION_INTELLIGENCE_URL": "https://citation.example.com" } } } }
Every env var is optional. Adapters that lack their env config skip their slice of the snapshot; the server still boots. The verdict engine works on whatever slices are present.
Point it at any site, no CMS plugin required. The post-discovery layer resolves in priority order:
{url, title?, published_at?, tags?, word_count?}. Use this when you already have a content index and want exact control.GHOST_ADMIN_API_URL and GHOST_ADMIN_API_KEY are set, Ghost is used as a richer metadata source. Optional.og:title, article:published_time, and JSON-LD datePublished are read live from the URL.POSTS_SITEMAP_URL to your sitemap (or sitemap index) and the server enumerates posts from + .Most users only need POSTS_SITEMAP_URL. WordPress, Hugo, Astro, Next.js, Webflow, Framer, Wix, Squarespace, Notion-as-a-site, Substack-mirror sites all expose a sitemap by default.
To add a brand-new platform: nothing to build - just point POSTS_SITEMAP_URL at it.
| Tool | What it returns |
|---|---|
posts_list | Posts with {url, title, age_days, tags} from sitemap, Ghost, or your POSTS_LIST. |
posts_snapshot | Per-URL unified rollup for a 30/60/90-day window: GSC + Matomo + GA4 + Clarity + citations + meta. |
posts_decay_curve | Weekly GSC clicks/impressions/position buckets + a decay/plateau/growth trend label. |
posts_verdict | Verdict (refresh/expand/merge/kill/double_down/hold) + reason codes + 0-1 confidence. |
posts_refresh_brief | Markdown brief for a human or downstream LLM editor: numbers, top queries, suggested actions. |
cohort_report | Cohort verdict table sorted by priority + confidence. "Which three posts should I refresh this week?" |
posts_cite_loss | LLM citations that dropped off for a given URL. Needs CITATION_INTELLIGENCE_URL. |
gsc_quick_wins | (page, query) pairs at positions 5-15 with low CTR - fastest title-rewrite wins. |
Run any of the tools on a cron from CI and post the output to a GitHub Issue, Discussion, or PR. The action is published on the GitHub Marketplace.
- uses: AutomateLab-tech/seo-performance-mcp@v1
with: tool: cohort_report format: markdown input: '{"window": 90, "min_age_days": 90, "limit": 20}' gsc-service-account-json: ${{ secrets.GSC_SERVICE_ACCOUNT_JSON }} gsc-site-url: ${{ secrets.GSC_SITE_URL }} posts-sitemap-url: ${{ secrets.POSTS_SITEMAP_URL }}
Outputs:
| Output | Description |
|---|---|
result | Tool output as a multi-line string (markdown or JSON, per format). |
result-file | Path of the file the tool output was written to. Hand to peter-evans/create-issue-from-file etc. |
rows | For cohort_report with format: json only: number of rows returned. |
A complete weekly-audit workflow that opens a GitHub Issue with the cohort report is in examples/weekly-cohort-report.yml.
The package also ships a seo-perf-cli bin so you can run a single tool without an MCP client:
npx -p @automatelab/seo-performance-mcp seo-perf-cli cohort_report \
--input '{"window": 90, "limit": 20}' \ --format markdown
Same env vars as the MCP server. --format markdown is supported for cohort_report and posts_refresh_brief; other tools fall back to fenced JSON.
Three thin routing files ship in the repo so the LLM in your client knows *when* to reach for these tools:
skills/seo-performance/SKILL.md - tool-routing skill. Drop into ~/.claude/skills/seo-performance/ (or .claude/skills/ per project) to auto-load in Claude Code. Routes a single question to the right tool.skills/weekly-audit/SKILL.md - one-shot weekly audit playbook. Composes gsc_quick_wins + cohort_report + posts_cite_loss into a deduped, cross-signal ranked digest with proposed edits per URL. Drop in alongside the routing skill.cursor/rules/seo-performance.mdc - copy to .cursor/rules/seo-performance.mdc in any Cursor workspace.All optional. The MCP server works without them; they just shorten the "which tool do I call" round-trip.
The server exposes three prompts that bundle the playbook. Any MCP client (Claude Desktop, Claude Code, Cursor, Continue) can list and invoke them:
| Prompt | What it runs |
|---|---|
audit_cohort | cohort_report on posts >=90d, then posts_refresh_brief per refresh/expand/merge row. The weekly audit. |
find_quick_wins | gsc_quick_wins (positions 5-15) + per-URL posts_snapshot, then proposes verbatim-query meta_title rewrites. |
citation_loss_sweep | posts_cite_loss per URL, refresh_brief for any with losses, targeted H1/lead phrasing recommendations. |
Deterministic, rule-based, traceable. Reason codes:
ctr_below_position_expectedposition_driftdecay_30d_over_30pct / decay_60d_over_50pctstagnant_no_clicksthin_content_low_dwellrising_impressions_low_ctr / rising_clicks_continue_investmentcitation_loss / citation_growthduplicate_or_cannibalizinghigh_bounce_low_scrollfresh_post_too_youngThe mapping (reasons → verdict) and every threshold lives in src/verdict/rules.ts. Edit it, pin it in tests, ship your own rule book.
npm install
npm run dev # tsx src/index.ts npm run build # tsc npm test # vitest
MIT
See the maintenance guide for interpretation limits, current tool names where applicable, and reproducible verification.