MCP
Connect an assistant
TryGTM runs a Model Context Protocol server, so an assistant you already use can read and operate a workspace: find the hottest leads, build a list from the prospect database, draft a campaign, answer the inbox. It acts as you, with your permissions and nothing more.
The server
https://app.trygtm.com/api/mcpThat URL is the whole configuration. The client discovers the authorization server from it, registers itself, and opens your browser to ask for access. No API key is created or pasted, and the same snippets appear in the app under Settings → API → MCP.
Claude
On claude.ai or the desktop app: Settings → Connectors → Add custom connector, paste the server URL, and authorise.
Claude Code
claude mcp add --transport http trygtm https://app.trygtm.com/api/mcpThen run /mcp inside Claude Code to authorise. Add --scope user to share it across every repository.
ChatGPT
On plans with connector support: Settings → Connectors → Advanced → Add custom connector, and paste the server URL.
Cursor
Write this to .cursor/mcp.json in a project, or ~/.cursor/mcp.json for every project.
{
"mcpServers": {
"trygtm": {
"url": "https://app.trygtm.com/api/mcp"
}
}
}Codex
codex mcp add trygtm --transport http --url https://app.trygtm.com/api/mcpGitHub Copilot
Write this to .vscode/mcp.json, then start the server from the CodeLens above it.
{
"servers": {
"trygtm": {
"type": "http",
"url": "https://app.trygtm.com/api/mcp"
}
}
}Any other client
Anything that speaks MCP over Streamable HTTP with OAuth 2.1 works. The server supports protocol versions 2025-06-18, 2025-03-26 and 2024-11-05. It is stateless — one JSON-RPC message per POST, one JSON answer, no session id and no SSE stream — so a client that reconnects loses nothing.
Authorization
The flow is standard OAuth 2.1 for a public client, and every step is discoverable from the server URL:
- A request with no token answers
401with aWWW-Authenticateheader naming/.well-known/oauth-protected-resource. - That metadata names the authorization server; its metadata names the registration, authorization and token endpoints.
- The client registers itself (RFC 7591 dynamic registration) and runs an authorization code flow with PKCE.
S256is required;plainis refused. - You sign in, see which client is asking and for which scopes, and approve. Redirect URIs are matched exactly, with any port allowed on loopback for CLIs.
Access tokens last 30 days and refresh tokens rotate on use. Tokens are stored hashed. Every assistant you have authorised is listed under Settings → API → MCP, and revoking one takes effect on its next request.
What an assistant can do
A token carries your permissions, re-read on every call. A viewer who connects an assistant gets one that can read; a manager gets one that can act. Demote or remove somebody and their assistant loses the same access at the same moment. If you work inside one client workspace, so does your assistant.
- Scopes.
readoffers the 73 reading tools.writeadds the 128 that change data or spend credits. An assistant granted onlyreadis never shown a writing tool. - Tools are filtered, not refused. The tool list an assistant receives is already narrowed to what you may do, so its plans are built from what will work.
- Writing tools spend your credits at the same rates as the app, and are refused when the balance cannot cover them.
The full list, with every argument, is in the tool reference. Each tool is also a REST endpoint with the same arguments; see the API reference if you would rather call it from code.
Things worth asking
- “Who are my 25 hottest leads with a LinkedIn profile, and why?”
- “Size a list of VP Sales at US logistics companies with 51–500 employees, then import the first 200 onto a list called Logistics VPs.”
- “Which conversations are waiting on me? Draft replies, but don't send.”
- “Why did yesterday's volume drop? Check sender allowances and credits.”
- “Pause the Q4 campaign and tell me what is still queued.”