MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
제작자가 쓴 설명(영어 원문)
Google Search Console + GA4 for AI agents: properties, reports, indexing, verification, SEO.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 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": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add google-webtools --env GOOGLE_SERVICE_ACCOUNT_KEY=your-value -- 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": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .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": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 stufently 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: GOOGLE_SERVICE_ACCOUNT_KEY
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.2.2)은 23일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Docker도 있어야 해요.
같은 카테고리에는: 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, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
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) |
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요