MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
제작자가 쓴 설명(영어 원문)
Free, read-only Google Analytics 4: reports, funnels, realtime. Sign in with Google, no GCP setup.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
TAGPILOT_API_KEY, GA4_MCP_NO_BROWSER, GA4_MCP_AUTH_WAIT_SECONDS비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"ga4": {
"command": "npx",
"args": [
"-y",
"@tagpilot/ga4-mcp"
],
"env": {
"TAGPILOT_API_KEY": "your-value",
"GA4_MCP_NO_BROWSER": "your-value",
"GA4_MCP_AUTH_WAIT_SECONDS": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add ga4 --env TAGPILOT_API_KEY=your-value --env GA4_MCP_NO_BROWSER=your-value --env GA4_MCP_AUTH_WAIT_SECONDS=your-value -- npx -y @tagpilot/ga4-mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"ga4": {
"command": "npx",
"args": [
"-y",
"@tagpilot/ga4-mcp"
],
"env": {
"TAGPILOT_API_KEY": "your-value",
"GA4_MCP_NO_BROWSER": "your-value",
"GA4_MCP_AUTH_WAIT_SECONDS": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"ga4": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@tagpilot/ga4-mcp"
],
"env": {
"TAGPILOT_API_KEY": "your-value",
"GA4_MCP_NO_BROWSER": "your-value",
"GA4_MCP_AUTH_WAIT_SECONDS": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
GA4_MCP_NO_BROWSER envGA4_MCP_AUTH_WAIT_SECONDS env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 tagpilot 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: TAGPILOT_API_KEY
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.3.0)은 10일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 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, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
A free, read-only Model Context Protocol server for Google Analytics 4. Ask Claude, Cursor or any MCP client about your GA4 data: reports, funnels, realtime, property setup, and Tag Pilot tracking-health checks.
No Google Cloud setup, no API key to copy. You don't need a GCP project, OAuth client, service account or gcloud. Add the server, ask a GA4 question, and approve once in your browser.
claude mcp add ga4 -- npx -y @tagpilot/ga4-mcp
ABCD-1234):| Client | How |
|---|---|
| Claude Desktop | Download the extension and open it (no Node.js needed) |
| Claude Code | claude mcp add ga4 -- npx -y @tagpilot/ga4-mcp |
| Cursor | Add to Cursor, or mcp.json below |
| VS Code | Install in VS Code |
| Gemini CLI | gemini extensions install https://github.com/tagpilot/ga4-mcp |
| Anything else | npx -y @tagpilot/ga4-mcp (stdio) |
Everything except the Claude Desktop extension runs the npm package with npx, so it needs Node.js 18 or newer. The server is also listed in the MCP Registry as io.github.tagpilot/ga4-mcp.
Download tagpilot-ga4-mcp.mcpb and double-click it (or drag it into Settings → Extensions), click Install and enable it. Leave the optional API key field empty. The extension bundles the server and runs on Claude Desktop's built-in Node.js.
Prefer the config file? In claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": { "ga4": { "command": "npx", "args": ["-y", "@tagpilot/ga4-mcp"] } } }
claude mcp add ga4 -- npx -y @tagpilot/ga4-mcp
Use Add to Cursor, or add to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": { "ga4": { "command": "npx", "args": ["-y", "@tagpilot/ga4-mcp"] } } }
Use Install in VS Code, or run MCP: Add Server → *Command (stdio)* with npx -y @tagpilot/ga4-mcp.
gemini extensions install https://github.com/tagpilot/ga4-mcp
Other clients (Windsurf, Zed, …) take the same command and args.
Where nobody can approve in a browser, create a key on the GA4 MCP page and set TAGPILOT_API_KEY=tpk_… in the server's environment (e.g. claude mcp add ga4 --env TAGPILOT_API_KEY=tpk_... -- npx -y @tagpilot/ga4-mcp). With a key, the device connect is skipped and only the Google sign-in link is shown.
your machine Tag Pilot Google
────────────────────────────────────── ─────────────────────────── ────────────────────── ga4-mcp makes a PKCE verifier ──► POST /v3/public/ga4/device (it never leaves your machine) returns a link + code ABCD-1234 any browser, any device: app.tagpilot.io/connect: log in, check the code, approve → creates a ga4:mcp key for this device → Google consent (read-only) ─► accounts.google.com …/ga4/oauth/callback ◄────── one-time code ga4-mcp polls for the result ──► POST /v3/public/ga4/device/token returns the device key + code ga4-mcp exchanges code + verifier ──► POST …/ga4/oauth/token ──► oauth2.googleapis.com device key + Google tokens saved in ~/.config/tagpilot/ga4-mcp/device.json (mode 600) GA4 API calls ─────────────────────────────────────────────────────► analytics*.googleapis.com
It works from any browser, like gh auth login: nothing listens on your machine, so it also works over SSH, in containers, in WSL or on a remote dev box. Open the link wherever you have a browser (even your phone) and approve; the server notices within a couple of seconds.
analytics.readonly. None of the tools can change anything in GA4.~/.config/tagpilot/ga4-mcp/device.json (readable only by you): the device's own Tag Pilot key and the Google refresh token. Access tokens are refreshed through Tag Pilot about once an hour.npx -y @tagpilot/ga4-mcp logout to delete the local credential, and remove the app's access at myaccount.google.com/permissions.All tools are read-only. Property IDs are the numeric GA4 IDs (e.g. 123456789), not G-XXXX measurement IDs.
| Tool | What it does |
|---|---|
get_account_summaries | All GA4 accounts and properties you can read, with property IDs. Start here. |
get_property_details | Time zone, currency, industry, standard/360, and data streams with measurement IDs. |
list_google_ads_links | Linked Google Ads accounts. |
list_property_annotations | Reporting annotations (releases, tracking changes, campaigns). |
get_custom_dimensions_and_metrics | Custom dimensions/metrics with API names (customEvent:…); optionally the standard ones, searchable. |
run_report | The Data API report: dimensions, metrics, date ranges, filters, ordering, paging, totals. |
run_realtime_report | The last 30 minutes (60 on GA4 360). Handy to check a tracking change is live. |
run_funnel_report | Funnels from event steps (with parameter and dimension conditions), open or closed, breakdowns, next actions, trended. Uses Google's v1alpha API. |
check_duplicate_transactions | Tag Pilot check. Purchase events per transaction_id: duplicate rate, worst duplicated IDs, purchases without an ID. |
check_traffic_attribution | Tag Pilot check. Sessions per channel group plus the share of Unassigned, (not set) source, (not set) landing page and Direct, with likely causes. |
connect | Connects this computer: returns a link and a code for you to approve in the browser (your AI shows them; clients that support MCP URL elicitation offer to open the link). Say *"connect my GA4"* to start it explicitly. |
connection_status | Connected (with the device name), waiting for approval (link and code again), not connected, or what went wrong. Waits up to 25 s for an open sign-in to finish. |
YYYY-MM-DD, today, yesterday or NdaysAgo (e.g. 28daysAgo). Default: the last 28 full days. Up to 4 ranges; several ranges add a dateRange column.date, eventName, sessionSourceMedium, pagePath, sessions, activeUsers, purchaseRevenue (full list).{"any": [...]} groups conditions with OR, and "not": true negates one: [
{"field": "eventName", "op": "exact", "value": "purchase"}, {"field": "country", "op": "in_list", "values": ["Poland", "Germany"], "not": true}, {"any": [ {"field": "pagePath", "op": "begins_with", "value": "/shop"}, {"field": "pagePath", "op": "partial_regex", "value": "product"} ]} ]
Ops: exact, contains, begins_with, ends_with, full_regex, partial_regex, in_list, eq, lt, lte, gt, gte, between (from/to), empty. Dimension and metric filters are separate inputs, like in the GA4 API.
[{"field": "sessions", "desc": true}]. Use dimension_order: "numeric" for numeric-looking dimensions.{"date": "20261026", "sessions": 321}. Default limit is 100 rows; next_offset tells you when there are more. Thresholding, sampling and (other) rows are reported in notes.They're opinionated rules of thumb built from a few run_report calls, and each result shows what it measured. For example, check_duplicate_transactions counts purchase events grouped by transactionId, and check_traffic_attribution flags Unassigned traffic at 5% or more. They cost the same GA4 quota as the equivalent reports (3–4 report calls).
"Not connected yet" (a link and a code like `ABCD-1234`): your AI shows them. Open the link in any browser (it doesn't have to be on this machine), sign in to Tag Pilot, check that the code matches, approve, and allow Google Analytics access, then tell your AI you're done: it retries your question (or calls connection_status). The server keeps checking in the background, so nothing needs restarting. The code is valid for 10 minutes; after that, ask again (or say "connect GA4") for a new one. To connect from a terminal instead (e.g. over SSH), run npx -y @tagpilot/ga4-mcp login: it shows the link, the code in a box and a countdown, and waits until you approve.
"This computer was disconnected from Tag Pilot": the device was revoked on the GA4 MCP page, so its saved credential was removed. Ask again to connect it again.
"Your Google sign-in for GA4 expired or was revoked": the saved sign-in was removed. Ask again and approve again. Google expires refresh tokens after 6 months without use or when you revoke access, and may al
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요