MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
Description from the maker (original English)
Self-driving LinkedIn prospecting: it sources, warms and invites daily. You approve every message.
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.
AuthorizationValues 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 …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Run this in your terminal
claude mcp add --transport http linkedin https://agent.gtmotto.com/mcp --header 'Authorization: your-value'Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"linkedin": {
"url": "https://agent.gtmotto.com/mcp",
"headers": {
"Authorization": "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": {
"linkedin": {
"type": "http",
"url": "https://agent.gtmotto.com/mcp",
"headers": {
"Authorization": "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 address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
Authorization secret HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
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 against the domain gtmotto.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
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: Authorization
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.2.1) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
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.
Give Claude a LinkedIn seat that works while you sleep.
GTM Otto is self-driving LinkedIn prospecting. From Claude, Cursor or ChatGPT you describe who you want to meet; GTM Otto finds them daily, warms them up from your own LinkedIn account (visit, like, comment), invites them, and opens the conversation. Nothing is said without you.
This repository is the public home of the GTM Otto MCP server: the registry manifest (server.json), the Claude Code plugin with eight skills, the tool reference and the onboarding guide. The server itself runs at https://agent.gtmotto.com/mcp (Streamable HTTP).
Release status (2026-09-22): listed on the official MCP Registry as com.gtmotto/linkedin (manifest 1.2.1). https://agent.gtmotto.com/mcp answers initialize with no credentials; OAuth is served at /.well-known/oauth-protected-resource (authorization server clerk.gtmotto.com); 21 tools are deployed, including gtm_connect_linkedin and the three approval tools.
Every other LinkedIn MCP is a remote control for a tool you still have to operate: lists to upload, sequences to build, seats to rotate. GTM Otto is the only one where the outreach keeps running after the chat ends. A play is an ICP plus up to five sourcing lanes plus an autonomy level. The server exposes 21 tools and, deliberately, no send verb: the agent can set up, size, preview, launch, pause and review a play, and it can approve or reject one drafted message at a time, but it cannot write to a stranger on your behalf.
The endpoint is the same everywhere: https://agent.gtmotto.com/mcp.
Authentication. Add the server with no credentials. The first time the agent calls a protected tool, the client shows a Connect card; sign in (or sign up) in the popup and the call is retried. Scripts and clients that cannot do OAuth can send an API key instead: Authorization: Bearer gtm_sk_..., minted at app.gtmotto.com/connect.
Settings, then Connectors, then Add custom connector. Name it GTM Otto, paste https://agent.gtmotto.com/mcp, save. Start a chat and say what you want; the Connect card appears on the first protected call.
claude mcp add --transport http gtmotto https://agent.gtmotto.com/mcp
Then /mcp inside a session to authenticate in the browser. To use an API key instead:
claude mcp add --transport http gtmotto https://agent.gtmotto.com/mcp \
--header "Authorization: Bearer gtm_sk_..."
The deeplink is cursor://anysphere.cursor-deeplink/mcp/install?name=gtmotto&config=eyJ1cmwiOiJodHRwczovL2FnZW50Lmd0bW90dG8uY29tL21jcCJ9, where the config value is the base64 of {"url":"https://agent.gtmotto.com/mcp"}. By hand, add this to .cursor/mcp.json:
{
"mcpServers": { "gtmotto": { "url": "https://agent.gtmotto.com/mcp" } } }
Settings, then Connectors, then Create (developer mode must be on). Name GTM Otto, URL https://agent.gtmotto.com/mcp, authentication OAuth. Enable the connector in a chat from the tools menu.
Any MCP client that speaks Streamable HTTP works: point it at https://agent.gtmotto.com/mcp, with OAuth or the Authorization header above. n8n, Windsurf, VS Code and the reference mcp-remote shim all fit.
The gtm-otto plugin connects the server and adds eight skills that turn a sentence into a running play:
/plugin marketplace add gtmotto/mcp
/plugin install gtm-otto@gtmotto
| Skill | What it does |
|---|---|
launch-a-play | Estimate the ICP, create a draft play, connect LinkedIn, preview each lane, confirm, activate, explain the next 48 hours. |
icp-to-play | A sentence, a URL or a persona into the seven ICP facets, a company count, and a people_search lane on a new draft or an existing play. |
post-discovery | Turn "people complaining about X on LinkedIn" into a Post discovery lane, with a worked French example. |
hiring-signals | "Companies hiring for X" into a Job offers lane that reaches the buyer inside each hiring company, not the recruiter. |
weekly-play-review | Stats, run history and the approval queue folded into a one-page review with concrete changes. |
instantly-to-linkedin | With the Instantly MCP also connected: companies that opened or replied to a campaign become an account list on LinkedIn. |
heyreach-migration | From an exported HeyReach lead list: companies to an account list, facets to the ICP, and an honest note on what does not carry over. |
linkedin-safety-check | Seat state, daily cap and working hours turned into a plain-English health report. |
Each skill names the exact tools and arguments it calls, what to show you, and where it stops to ask.
Full reference with arguments: docs/tools.md.
| Tool | Scope | One line |
|---|---|---|
gtm_whoami | read | Org, plan, lead meter, and the next step to follow. Start here. |
gtm_list_plays | read | Every play with product, status, seat and pipeline spread. |
gtm_show_play | read | One play in full: ICP, lanes, autonomy ladder, cap, working hours, seat. |
gtm_play_stats | read | The pipeline over four windows, each with its delta versus the window before. |
gtm_linkedin_status | read | The play's seat state and today's headroom against LinkedIn's limits. |
gtm_sources_reference | read | The reference for every sourcing lane. Read before configuring one. |
gtm_show_sources | read | All five lanes of a play: config, switch, blockers, last run, memory. |
gtm_source_runs | read | Run history of one lane, newest first. |
gtm_list_approvals | read | Drafted messages waiting for a human, with their approval ids. |
gtm_estimate_icp | write | "About N companies match" for a candidate ICP. Writes nothing. |
gtm_create_play | write | Create a fully configured play. Draft by default; activate flag. |
gtm_update_icp | write | Change a play's seven ICP facets. Only the ones you name. |
gtm_update_play | write | Name, goal, voice, paused, status active or draft, dailyCap, workingHours. |
gtm_configure_source | write | Write a lane's settings (merge). Can switch it on in the same call. |
gtm_set_source | write | Switch a lane on or off. Refused when there is nothing to run on. |
gtm_preview_source | write | Dry-run one lane: size and a 10-person sample. No side effects. |
gtm_run_source | write | Run one lane now. Real leads, real budget. Only when asked. |
gtm_forget_harvested_posts | write | Clear a post lane's memory so a settings change can be re-tested. Costs. |
gtm_connect_linkedin | write | Returns a browser link to connect the LinkedIn seat; then poll gtm_linkedin_status. |
gtm_approve | write | Approve one drafted message by approval id. The client asks you first. |
gtm_reject | write | Reject one drafted message by approval id. The client asks you first. |
gtm_preview_source is free of side effects; gtm_run_source spends real budget and is only called when you asked.account_list, at most 100) and post URLs, never a CSV of individual LinkedIn profiles.server.json registry manifest (com.gtmotto/linkedin)
.claude-plugin/marketplace.json Claude Code marketplace "gtmotto" plugins/gtm-otto/ the plugin: MCP server + eight skills .claude-plugin/plugin.json skills/ /SKILL.md docs/tools.md the 21 tools with arguments docs/onboarding.md the ideal first conversation CHANGELOG.md
com.gtmotto/linkedinThe playbooks that need nothing but LinkedIn (find buyers in comments, ICP to a Sales Navigator search, hiring-signal prospecting by hand, LinkedIn limits, the comment and invite writer) live in gtmotto/gtm-skills. That repository registers no server and needs no account; each of its skills ends with a pointer to the skill here that runs the same recipe daily.
This repository is mirrored out of the GTM Otto monorepo. Issues and pull requests are welcome here and are read; fixes are applied upstream and land in the next mirror, so a PR may be closed with a "merged upstream" note rather than merged in place. Keep prose free of em dashes, and never describe the product as an automated sales rep of any kind: it is self-driving LinkedIn prospecting.
MIT. See LICENSE.