GTM Otto
by gtmotto.com · com.gtmotto/linkedin
Self-driving LinkedIn prospecting: it sources, warms and invites daily. You approve every message.
- Category
- Marketing and sales
- Connection
- Remote (HTTP)
- Tools
- 21 reported
- Status
- Online
Connect it to your AI
Claude Code
claude mcp add --transport http linkedin https://agent.gtmotto.com/mcpClaude, ChatGPT, Cursor and other apps
Add it as a custom connector with this URL (Streamable HTTP):
https://agent.gtmotto.com/mcpThis server expects extra headers, usually an API key from its maker.
Cursor, VS Code and other apps (mcp.json)
{
"mcpServers": {
"linkedin": {
"url": "https://agent.gtmotto.com/mcp"
}
}
}Tools it offers
21 tools, as the server itself reported during our check on Oct 31, 2026.
gtm_whoamiWho this key belongs to, and what the workspace may do: org name, plan, subscription status, how many products and plays exist, and the LEAD METER (leads added this calendar month, the plan's cap, and what is left). Stargtm_list_playsEvery play in the workspace with enough context to route on: which product it sells, whether it is active or paused, whether a LinkedIn seat is actually connected (`seatConnected: false` means the play cannot act, whatevgtm_show_playONE play in full — everything needed to judge it or copy it into a better one: goal and voice, the account's daily cap and working hours (shared by every play on the seat), the ICP facets, the five sourcing lanes with thgtm_play_statsThe play's Stats screen: the pipeline (leads sourced → warmed → invited → new connections → conversations started) over four windows — all time, last 30 days, last 7 days, last 24 hours — each windowed count paired withgtm_linkedin_statusThe play's LinkedIn seat and today's headroom against the LinkedIn limits. States: `no_seat` (nothing connected — the play cannot act), `seat_broken` (the account was disconnected or deleted; the queue is parked until agtm_estimate_icpHow big an audience a CANDIDATE ICP would reach — '≈ N companies match' — before committing to it. Writes nothing: no play, no ICP row, no cache. Use it to iterate (propose facets → see 40 → widen the locations → see 900gtm_create_playCreate a fully-configured play in one call: the product (an existing productId, or a websiteUrl which seeds one and kicks its research), the play itself, the ICP facets, which sourcing lanes are on, the autonomy ladder agtm_sources_referenceTHE REFERENCE for configuring sourcing lanes — read it before your first gtm_configure_source / gtm_set_source / gtm_run_source call. Every lane (people_search, competitor_posts a.k.a. Post discovery, job_offers, accountgtm_show_sourcesAll five sourcing lanes of a play, configured or not — the read to make before touching any of them. Per lane: `configured`, `on`, the parsed `config` (defaults filled), the cockpit's `summary` (null = needs setup), `blogtm_source_runsThe run history of ONE lane, newest first — the funnel over time (scanned → dropped by fit → dropped by intent → added / duplicates / capped), the ICP facets LinkedIn could not filter on, and the provider's status and megtm_configure_sourceWrite a lane's settings — upload an account list, set the Post-discovery intent and anchors, change the job keywords, move a gate. MERGE semantics: only the fields you send change. Lists (companies, postUrls, competitorsgtm_set_sourceSwitch a lane on or off — the toggle on the Sources list. Switching ON a lane that has nothing to run on (no companies, no intent/anchors/posts, no role) is refused: configure it first. An empty ICP is not a refusal — pegtm_preview_sourceDry-run ONE lane: '≈ N people match' and a 10-person sample, WITHOUT inserting a lead, spending the day's budget or moving the run clock. Same query, same gates, same scorers as a real run, on up to 50 people — so what igtm_run_source'Run once now' — run ONE lane immediately through the same code the sourcing tick runs, with force: an OFF lane still runs (that is what run-once means while configuring), a DRAFT play still runs (how you try a lane befogtm_forget_harvested_postsThe tuning escape hatch for the post lanes. A post lane remembers every post it already paid to harvest so it never buys the same engagers twice — which makes it impossible to TUNE: change the intent or a gate, run, andgtm_update_icpChange the ICP a play runs — the query behind people_search and the fit gate on every other lane. Seven string arrays, plain words (gtmotto normalises 'Swiss' → Switzerland, 'Fintech' → Financial Services itself): titlesgtm_update_playChange a play's own knobs — name, goal, voice — its two switches, and the ACCOUNT's pacing (daily action cap, working hours: shared by every play on the LinkedIn account, not per play). `paused: true` is the human's stopgtm_connect_linkedinThe link a human opens to connect (or reconnect) their LinkedIn account to a play — the one cockpit step the play cannot run without. Hand the URL to the human, tell them to say when it is done, then call gtm_linkedin_stgtm_list_approvalsEvery drafted action that waits for the human — an invite note, a first message, a follow-up, a reply or a comment the planner wrote — with the draft, the 'why now', the lead, and a cockpit link. One play, or the whole wgtm_approveApprove ONE drafted action by its approvalId (from gtm_list_approvals). It then leaves on the seat's next slot, inside LinkedIn's limits — this is the human's tap, moved from the cockpit to the chat, so ONLY call it aftegtm_rejectReject (skip) ONE drafted action by its approvalId. Nothing is sent; the planner records the decline and re-plans around it instead of proposing the same step again. Ask the human first, as for gtm_approve.
Questions
What is the GTM Otto MCP server?
Self-driving LinkedIn prospecting: it sources, warms and invites daily. You approve every message. It is made by gtmotto.com and listed in the official MCP Registry as com.gtmotto/linkedin. MCP (Model Context Protocol) is the open standard that lets AI apps like Claude, ChatGPT and Cursor use outside tools.
How do I add GTM Otto to Claude?
In the Claude app or claude.ai, open Settings, then Connectors, choose "Add custom connector" and paste https://agent.gtmotto.com/mcp. In Claude Code, run: claude mcp add --transport http linkedin https://agent.gtmotto.com/mcp
How do I add GTM Otto to ChatGPT?
ChatGPT can use remote MCP servers as connectors. In ChatGPT settings, under Apps and Connectors, turn on developer mode if asked, create a new connector and paste https://agent.gtmotto.com/mcp.
How do I add GTM Otto to Cursor?
Open Cursor settings, go to MCP, choose "Add new MCP server" (or edit ~/.cursor/mcp.json) and add: { "mcpServers": { "linkedin": { "url": "https://agent.gtmotto.com/mcp" } } }
Does GTM Otto work right now?
Yes. It responded when we last checked on 31 Oct 2026. We check remote MCP servers every day.
What can GTM Otto do?
It gives your AI 21 tools, including gtm_whoami, gtm_list_plays, gtm_show_play, gtm_play_stats, gtm_linkedin_status. The full list is on this page.
Is this your server? Get the badge for your README
Markdown (GitHub README)
[](https://chen.media/mcp/com-gtmotto-linkedin)HTML (switches to dark mode on its own)
<a href="https://chen.media/mcp/com-gtmotto-linkedin"><picture><source media="(prefers-color-scheme: dark)" srcset="https://chen.media/mcp/badge/com-gtmotto-linkedin.svg?theme=dark"><img src="https://chen.media/mcp/badge/com-gtmotto-linkedin.svg" alt="Listed on chen.media/mcp" height="40"></picture></a>More in Marketing and sales
See allAEO Backlink
advancelabs.devFind brand mentions, link prospects and competitor link sources, and draft outreach. Read-only.
TrueScrape
@TrueScrapePublic social media data: Instagram, TikTok, YouTube, X, Reddit, LinkedIn and 30+ more platforms.
LocalSchema
local-schema-beacon.lovable.appGenerate and validate LocalBusiness JSON-LD for local SEO. Free tools, no key needed.
Probative legal-marketing data
probativegrowth.comOpen US legal-marketing datasets with sources and DOIs, one server per dataset. CC BY 4.0.
Vektro
vektro.esSpecialist workflows for marketing, web, content and automation. Paid account; OAuth required.
AnchoredIP
anchoredip.comDedicated static outbound IPv4 over WireGuard. Free 7-day trial, no card, no sales call.