MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
Description from the maker (original English)
MCP server for Umami Analytics v3 — analytics, boards, links, pixels, reports, replay, and more
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.
UMAMI_MODE, UMAMI_URL, UMAMI_COLLECTOR_URL, UMAMI_USERNAME, UMAMI_PASSWORD, UMAMI_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"umami": {
"command": "npx",
"args": [
"-y",
"@mikusnuz/umami-mcp"
],
"env": {
"UMAMI_MODE": "your-value",
"UMAMI_URL": "your-value",
"UMAMI_COLLECTOR_URL": "your-value",
"UMAMI_USERNAME": "your-value",
"UMAMI_PASSWORD": "your-value",
"UMAMI_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add umami --env UMAMI_MODE=your-value --env UMAMI_URL=your-value --env UMAMI_COLLECTOR_URL=your-value --env UMAMI_USERNAME=your-value --env UMAMI_PASSWORD=your-value --env UMAMI_API_KEY=your-value -- npx -y @mikusnuz/umami-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"umami": {
"command": "npx",
"args": [
"-y",
"@mikusnuz/umami-mcp"
],
"env": {
"UMAMI_MODE": "your-value",
"UMAMI_URL": "your-value",
"UMAMI_COLLECTOR_URL": "your-value",
"UMAMI_USERNAME": "your-value",
"UMAMI_PASSWORD": "your-value",
"UMAMI_API_KEY": "your-value"
}
}
}
}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.
Paste into .vscode/mcp.json in your project
{
"servers": {
"umami": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@mikusnuz/umami-mcp"
],
"env": {
"UMAMI_MODE": "your-value",
"UMAMI_URL": "your-value",
"UMAMI_COLLECTOR_URL": "your-value",
"UMAMI_USERNAME": "your-value",
"UMAMI_PASSWORD": "your-value",
"UMAMI_API_KEY": "your-value"
}
}
}
}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.
UMAMI_MODE envUMAMI_URL envUMAMI_COLLECTOR_URL envUMAMI_USERNAME envThese 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 mikusnuz, 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.
You need to fill in: UMAMI_PASSWORD, UMAMI_API_KEY
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 (2.1.1) reached the registry 19 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js 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.
English | 한국어
Model Context Protocol server for the Umami Analytics v3 API. It supports self-hosted username/password or API-key authentication and Umami Cloud API keys, and exposes analytics, collection, administration, and v3 feature families such as boards, links, pixels, segments, session replay, shares, exports, performance, and revenue.
This version intentionally does not claim every private Umami route. Its tools track the documented API, including Umami 3.4 API-key authentication. Report tools use the legacy report contracts that Umami 3.4 continues to support.
npm install -g @mikusnuz/umami-mcp
Or run it directly:
npx -y @mikusnuz/umami-mcp
{
"mcpServers": { "umami": { "command": "npx", "args": ["-y", "@mikusnuz/umami-mcp"], "env": { "UMAMI_URL": "https://analytics.example.com", "UMAMI_USERNAME": "admin", "UMAMI_PASSWORD": "your-password" } } } }
UMAMI_URL is the instance origin. A trailing /api is accepted, but is not required.
On Umami 3.4+, create an API key under Settings → API keys and replace UMAMI_USERNAME and UMAMI_PASSWORD with UMAMI_API_KEY. Set UMAMI_MODE to self-hosted to select the deployment mode explicitly.
{
"mcpServers": { "umami": { "command": "npx", "args": ["-y", "@mikusnuz/umami-mcp"], "env": { "UMAMI_API_KEY": "your-cloud-api-key" } } } }
Cloud management calls default to https://api.umami.is/v1; tool paths are translated from self-hosted /api/... paths to Cloud /v1/... paths. Set UMAMI_URL to https://api.umami.is/v1/us or https://api.umami.is/v1/eu when an explicit Cloud region is required. For a Cloud API proxy on another hostname, also set UMAMI_MODE to cloud.
| Variable | When required | Description |
|---|---|---|
UMAMI_MODE | Optional | self-hosted or cloud; auto-detected when omitted |
UMAMI_URL | Self-hosted | Instance origin; optional for Cloud |
UMAMI_USERNAME | Without a self-hosted API key | Login username |
UMAMI_PASSWORD | Without a self-hosted API key | Login password |
UMAMI_API_KEY | Cloud; optional for self-hosted 3.4+ | Bearer API key |
UMAMI_COLLECTOR_URL | Optional | Separate host for public collection/share/heartbeat/recorder routes |
For Cloud, the collector defaults to https://cloud.umami.is. For self-hosted Umami it defaults to UMAMI_URL. An API key without UMAMI_URL, or a URL on api.umami.is, selects Cloud. Any other configured URL selects self-hosted mode, even when using an API key.
Management and analytics tools send a bearer token. The client logs in to a self-hosted instance lazily and caches the returned JWT when using a password. API keys are sent directly as the bearer credential on both deployment types.
The public collection routes do not require credentials:
send_event, send_identify, send_performancebatch_events (raw JSON array, up to 500 items)heartbeat, get_share, get_recorder_configIf self-hosted login reports that two-factor authentication is required, call complete_two_factor_login with a current TOTP or backup code, then retry the original tool. Setup and policy tools are also exposed for self-hosted Umami.
Umami Cloud does not expose /me/password, /users, or /users/* through an API key. Those tools are for self-hosted instances.
| Area | Representative tools |
|---|---|
| Websites | list_websites, CRUD, reset, transfer to user/team, replay configuration |
| Analytics | get_stats, get_pageviews, get_metrics, get_events, get_sessions, event series |
| Event/session data | event values, fields, properties, values, session activity |
| Collection | event/pageview, identify, performance, raw batch, link/pixel events |
| Reports | saved-report CRUD and run_report for attribution, breakdown, funnel, goal, heatmap, journey, performance, retention, revenue, and UTM |
| Boards | list, CRUD, clone, and team boards |
| Links and pixels | list, CRUD, charts, and collection events |
| Segments | segment/cohort list and CRUD |
| Annotations (3.4+) | list_annotations, get_annotation, create_annotation, update_annotation, delete_annotation |
| Replay | recorder config, replay list/detail, saved replays, session replays |
| Shares and export | public share resolution, managed website shares, update/delete, CSV ZIP export |
| Revenue | stats, chart, metrics, and revenue sessions |
| Users and teams | current admin-user and team membership/transfer routes |
| 2FA | login completion, enrollment, disable, and admin enforcement policies |
| Realtime | get_realtime |
Use MCP tools/list for the complete, machine-readable list and schemas.
{ "type": "event" } with no event name; the old pageview type is no longer valid./api/batch receives the event objects as a raw array, not { "events": [...] }. The tool returns Umami's processed, errors, and per-item details fields and marks partial failures as an MCP error result.User-Agent header as required by Umami; send_event and batch items may also supply the visitor's userAgent and trusted server-side ip in the payload.path; the old url metric was removed. Host aggregation uses hostname.filters are preserved even when the corresponding named option is omitted. An explicitly supplied named option takes precedence over filters.filters, sessionPropertyFilters, match, dateRange, and action. Session-property data types are 1=string, 2=number, 3=boolean, 4=date, 5=array. Cohorts do not support session-property filters. Unknown nested fields are rejected rather than silently discarded.allDay (default true). Updates replace all three fields; list date filters require both startAt and endAt in milliseconds. An older server may return 404.minute, hour, day, month, and year.get_event_series and get_sessions_weekly require an IANA timezone.list_reports requires websiteId; report execution sends { websiteId, type, filters, parameters }.transfer_website; the removed team-website POST/DELETE routes are not exposed.npm install
npm test
npm test builds the TypeScript server, checks Cloud/self-hosted URL and auth behavior, verifies raw public batch requests and the 2FA login flow, and validates key MCP schemas.
MIT