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

text
https://app.trygtm.com/api/mcp

That 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

bash
claude mcp add --transport http trygtm https://app.trygtm.com/api/mcp

Then 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.

json
{
  "mcpServers": {
    "trygtm": {
      "url": "https://app.trygtm.com/api/mcp"
    }
  }
}

Codex

bash
codex mcp add trygtm --transport http --url https://app.trygtm.com/api/mcp

GitHub Copilot

Write this to .vscode/mcp.json, then start the server from the CodeLens above it.

json
{
  "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:

  1. A request with no token answers 401 with a WWW-Authenticate header naming /.well-known/oauth-protected-resource.
  2. That metadata names the authorization server; its metadata names the registration, authorization and token endpoints.
  3. The client registers itself (RFC 7591 dynamic registration) and runs an authorization code flow with PKCE. S256 is required; plain is refused.
  4. 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. read offers the 73 reading tools. write adds the 128 that change data or spend credits. An assistant granted only read is 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.”

Was this page helpful?