Skip to content

GTM Tools MCP server

A read-only MCP server over the verified directory — the same data this site reads: live endpoint reachability, confirmed pricing, and honest last_checked_at timestamps. Point your agent at it and it can search, fetch, and compare 317 GTM tools without scraping or guessing. Don't trust us — it's checked.

Endpoint

https://mcp.gtmtools.dev/mcp

Transport:  Streamable HTTP (JSON-RPC over POST)
Auth:       none — public, read-only
Server:     dev.gtmtools/gtm-tools

Connect

Claude (claude.ai or the desktop app) — no config file needed:

Settings → Connectors → Add custom connector

Name:  GTM Tools
URL:   https://mcp.gtmtools.dev/mcp

Claude Code — one command:

claude mcp add --transport http gtm-tools https://mcp.gtmtools.dev/mcp

Cursor — add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "gtm-tools": { "url": "https://mcp.gtmtools.dev/mcp" }
  }
}

Other clients — any client that speaks remote / streamable-HTTP MCP works; the URL is all it needs. For clients that only support local (stdio) servers, bridge with mcp-remote:

{
  "mcpServers": {
    "gtm-tools": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.gtmtools.dev/mcp"]
    }
  }
}

Try it standalone with the MCP Inspector — no config, just point it at the URL:

npx @modelcontextprotocol/inspector
# Transport: Streamable HTTP · URL: https://mcp.gtmtools.dev/mcp

Tools

search_toolsSearch the directory. Filter by keyword, category, tier (BADGE/listed/DEMOTE), verifiedOnly, or mcpOnly; sort by score (default), name, or g2.
args: query?, category?, tier?, verifiedOnly?, mcpOnly?, sort?, limit?
get_toolOne tool by name or slug — full verified status (real last_checked_at), curation, product signals, adoption, and verified review themes.
args: name_or_slug
compare_toolsTwo tools head-to-head. Returns both records plus a per-axis diff (overall score, API quality, GTM relevance, ease of use, free tier).
args: a, b
list_changesRecently detected changes (pricing, reachability, free-tier, deprecation), newest first.
args: limit?, kind?

All read-only. Every result carries the tool's real last_checked_at and a _meta.dataAsOf so an agent always knows how fresh the answer is.

Example

POST https://mcp.gtmtools.dev/mcp
{"jsonrpc":"2.0","id":1,"method":"tools/call",
 "params":{"name":"get_tool","arguments":{"name_or_slug":"Apollo.io"}}}

→ tool.verified: { status:"reachable",
                   lastCheckedAt:"2026-07-30T08:58:02Z",
                   pricing:{ status, current, freeTierConfirmed } }
  tool.curation: { tier:"BADGE", score, gate, mcp }
  tool.curatedSummary: "Rated 4.7/5 across 9694 verified G2 reviews…"

Prefer raw REST?

The same verified data is also a plain REST endpoint (no MCP client needed) — see the API docs and the verified core. For bulk/LLM ingestion there's llms-full.txt.