MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Google Search Console + GA4 for AI agents: properties, reports, indexing, verification, SEO.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
GOOGLE_SERVICE_ACCOUNT_KEYค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"google-webtools": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GOOGLE_SERVICE_ACCOUNT_KEY",
"ghcr.io/stufently/google-webtools-mcp:1.2.2"
],
"env": {
"GOOGLE_SERVICE_ACCOUNT_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add google-webtools --env GOOGLE_SERVICE_ACCOUNT_KEY='ใส่ค่าของคุณ' -- docker run -i --rm -e GOOGLE_SERVICE_ACCOUNT_KEY ghcr.io/stufently/google-webtools-mcp:1.2.2เติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"google-webtools": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GOOGLE_SERVICE_ACCOUNT_KEY",
"ghcr.io/stufently/google-webtools-mcp:1.2.2"
],
"env": {
"GOOGLE_SERVICE_ACCOUNT_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"google-webtools": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GOOGLE_SERVICE_ACCOUNT_KEY",
"ghcr.io/stufently/google-webtools-mcp:1.2.2"
],
"env": {
"GOOGLE_SERVICE_ACCOUNT_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub stufently ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: GOOGLE_SERVICE_ACCOUNT_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.2.2) เข้า registry 23 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย
ในหมวดเดียวกันมี MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า 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.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
An MCP server that gives an AI agent direct access to Google Search Console and Google Analytics 4 — property management, search performance analysis, indexing checks, GA4 reporting, and site verification.
If an agent is driving this server, point it at [SKILL.md](SKILL.md) first (Russian). It covers the working order — property discovery, verification, sitemaps, indexing checks, the regular audit path — how to read a URL Inspection result, what Search Console does *not* expose, which calls burn quota, and which tools write to live configuration.
The server exposes 39 tools built on five Google APIs:
| API | Used for |
|---|---|
Search Console API (webmasters v3) | Properties, sitemaps, search analytics |
Search Console API (searchconsole v1) | URL Inspection |
| Google Analytics Admin API (v1beta) | GA4 accounts, properties, data streams |
| Google Analytics Data API (v1beta) | GA4 reports, realtime, metadata |
| Site Verification API (v1) | Verification tokens, ownership verification |
Beyond raw API access, tool responses are post-processed by a local analysis layer: position-based CTR benchmarks, trend detection, query intent classification, opportunity scoring, and a recommendation engine. Most tools return a readable Summary and Data block rather than bare JSON, plus Recommendations and Limitations sections when there is something worth saying.
Infrastructure: an in-memory TTL+LRU cache (search analytics 15 min when the range ends within the last 2 days and 1 h once it is older, sitemaps 15 min, site lists 30 min, URL inspections 1 h), a rate limiter (20 req/s, burst 30), and two transports — stdio (default) and stateless Streamable HTTP.
| Tool | When to use |
|---|---|
list_properties | Starting point — see every GSC property you can access and your permission level on each. |
get_property_details | Check the type and permission level of one specific property. |
add_property | Register a new site in Search Console (verification is a separate step). |
delete_property | Drop a property from the authenticated account's Search Console site list. Historical data is not destroyed — the property can be added back. |
| Tool | When to use |
|---|---|
list_sitemaps | See which sitemaps are submitted and whether Google reports errors or warnings. |
get_sitemap_details | Drill into one sitemap: URL counts by content type, last download time, error and warning counts. |
submit_sitemap | Submit a new sitemap after publishing or moving one. |
delete_sitemap | Withdraw a sitemap that is stale, duplicated, or returning errors. |
| Tool | When to use |
|---|---|
get_search_analytics | The raw query — full control over dimensions, filters, search type, row limit, data state, aggregation. Use when the shaped tools below don't fit. |
get_performance_summary | "How are we doing?" — clicks, impressions, CTR, position with period-over-period comparison. Trend advice is withheld when the previous period returned no data at all. |
compare_periods | Compare two explicit date ranges side by side (before/after a release, seasonal comparison). |
get_top_queries | Top queries by clicks, each scored against the CTR benchmark for its position. |
get_top_pages | Top pages by clicks with the same CTR analysis. |
get_traffic_by_device | Split traffic across desktop, mobile, and tablet — spot device-specific problems. |
| Tool | When to use |
|---|---|
find_quick_wins | "Where is money left on the table?" — query/page pairs ranking well but under-clicked, and those sitting just off page 1. Each pair lands in exactly one bucket (CTR 1-3, quick gain >3 to 10, page two >10 to 20), so the counts and click estimates add up over the period you asked for. |
find_declining_content | Catch traffic loss while it is still recoverable — compares the current period against the previous one and reports declining pages and declining queries as two separate rankings. |
find_ctr_opportunities | Find pages whose CTR is far below the benchmark for their position, with per-page fix suggestions. |
find_content_gaps | Queries landing on the wrong page, high-impression zero-click queries, topics that need a dedicated page. |
find_what_to_build_next | Content planning — groups queries by user intent (question, comparison, problem, buying) into topic clusters. |
| Tool | When to use |
|---|---|
inspect_url | Why is this one URL not showing up? Indexing status, mobile usability, rich results — including the per-item validation issues behind a FAIL verdict. |
batch_inspect_urls | Same check across a list of URLs (max 50 per call). |
check_indexing_issues | Audit your top traffic pages for indexing failures, canonical mismatches, missing canonicals, and mobile problems. A URL the API errors on is reported as not inspected; the rest of the audit still runs. |
| Tool | When to use |
|---|---|
analyze_query_landscape | Understand the shape of your demand — intent mix, branded vs non-branded, position distribution. |
find_new_queries | Surface genuinely new and fast-rising queries by diffing this period against the previous one. |
find_cannibalization | Detect several of your own pages competing for the same query. The winner is the page with the most clicks, not the best average position, and queries where only one page carries real volume get no consolidation advice. |
| Tool | When to use |
|---|---|
weekly_seo_report | One-call weekly digest: trends, growers, decliners, quick wins, sitemap health, prioritized actions. |
seo_health_check | Overall A–F grade with sub-scores for traffic trend, CTR efficiency, position distribution, and sitemap health. |
| Tool | When to use |
|---|---|
ga4_list_accounts | See every GA4 account and property the credentials can reach. |
ga4_list_properties | List properties under one specific account. |
ga4_get_property | Inspect a property's configuration. |
ga4_create_property | Provision a new GA4 property. Write operation. |
ga4_create_data_stream | Create a web data stream and get back its measurement ID (for installing the tag). Write operation. |
ga4_list_data_streams | List a property's data streams. |
ga4_get_data_stream | Get one data stream's details, including its measurement ID. |
| Tool | When to use |
|---|---|
ga4_run_report | Any GA4 report — pick metrics, dimensions, and a date range (absolute or relative like 28daysAgo). |
ga4_run_realtime_report | Who is on the site right now. |
ga4_get_metadata | Discover which dimensions and metrics (including custom ones) a property supports — run this before guessing metric names. |
| Tool | When to use |
|---|---|
gsc_get_verification_token | Get the token to place, plus method-specific instructions. Methods: FILE, DNS_TXT, META, ANALYTICS. |
gsc_verify_site | Complete verification once the token is in place. |
Enable these APIs in your Google Cloud project: Search Console API, Google Analytics Admin API, Google Analytics Data API, and Site Verification API.
The server requests these OAuth scopes:
https://www.googleapis.com/auth/webmasters
https://www.googleapis.com/auth/analytics.readonly https://www.googleapis.com/auth/analytics.edit https://www.googleapis.com/auth/siteverification.verify_only
Option A — Service account (best for servers and automation):
Option B — OAuth 2.0 (best for personal, local use):
~/.google-webtools-mcp/token.json and refreshed automatically, so you authorize only once.| Variable | Purpose |
|---|---|
GOOGLE_APPLICATION_CREDENTIALS | Path to a service account JSON key file. |
GOOGLE_SERVICE_ACCOUNT_KEY | The service account key as an inline JSON string — for Docker and CI, where mounting a file is awkward. |
GSC_OAUTH_CLIENT_SECRETS_FILE | Path to an OAuth client secrets JSON file. |
PORT | HTTP transport port. Default 3000. Only read with --http. |
Authentication methods are tried in this order, and the first one that yields usable credentials wins. A method that fails is recorded and the next one is tried: if GOOGLE_APPLICATION_CREDENTIALS points at a missing or malformed file, the server does not stop there — with OAuth configured (and a saved token) it starts under the OAuth account instead. Check the [auth] Authenticated via … line on stderr to see which identity was actually used.
GOOGLE_APPLICATION_CREDENTIALS, then GOOGLE_SERVICE_ACCOUNT_KEY, then ./credentials.json if its type is service_account.gcloud auth application-default login) — skipped if GOOGLE_APPLICATION_CREDENTIALS is set.GSC_OAUTH_CLIENT_SECRETS_FILE../credentials.json in the working directory, if it looks like OAuth client secrets (has an installed or web key).If none succeed, the server prints a setup guide to stderr and starts anyway, so a host or a directory can still list its tools without keys. Every tool call then looks for credentials again and, until one method works, returns the same error with the setup hint instead of calling Google. Fixing the key file needs no restart.
docker run -i --rm \
-v /absolute/path/to/service-account.json:/creds/sa.json:ro \ -e GOOGLE_APPLICATION_CREDENTIALS=/creds/sa.json \ ghcr.io/stufently/google-webtools-mcp:1.2.2
Replace /absolute/path/to/service-account.json with the key file from step 1 (Docker needs an absolute path), then paste the command. Docker pulls the image on the first run (amd64 and arm64), so nothing else needs installing. It should print Server running on stdio to stderr and wait for a client (Ctrl+C to quit). Every client block below runs this same docker run; the key file is mounted read-only and never written into the client config.
The image covers the service account. OAuth does not work in a container on the first run (see Docker); for OAuth, build from source.
Only what has actually been run is listed as verified. Everything else in Connecting it is a documented config that nobody has checked end to end.
| Client / runtime | OS | How it runs | Status | Evidence |
|---|---|---|---|---|
| Claude Code 2.1 | Ubuntu 26.04 LTS, x86_64 | Docker image built from this repo, stdio, gcloud ADC mounted read-only | Verified | Daily use on the maintainer's host |
| Codex CLI 0.162 | Ubuntu 26.04 LTS, x86_64 | Same Docker image, stdio | Configured, not checked separately | Maintainer's host config |
| Node.js 22, 24, 26 | Ubuntu (ubuntu-latest) |
ตัดมาแค่ช่วงต้น อ่านต่อใน repo