MCP

MCP

Each GTM Tools server exposes its tools through the Model Context Protocol over Streamable HTTP. This is the fastest way to give an AI agent access to LinkedIn automation, signal detection, and email finding.

Endpoints

ServerURL
Adminhttps://api.gtm-tools.sh/mcp
Socialshttps://api.gtm-tools.sh/mcp
Datahttps://api.gtm-tools.sh/mcp
Signalshttps://api.gtm-tools.sh/mcp

All four use the MCP Streamable HTTP transport — POST for requests, GET for SSE streaming, DELETE to close sessions. Authenticate every request with Authorization: Bearer YOUR_KEY.

Configuration

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

1{
2 "mcpServers": {
3 "gtm-tools": {
4 "url": "https://api.gtm-tools.sh/mcp",
5 "headers": { "Authorization": "Bearer YOUR_KEY" }
6 },
7 "gtm-tools": {
8 "url": "https://api.gtm-tools.sh/mcp",
9 "headers": { "Authorization": "Bearer YOUR_KEY" }
10 },
11 "gtm-tools": {
12 "url": "https://api.gtm-tools.sh/mcp",
13 "headers": { "Authorization": "Bearer YOUR_KEY" }
14 },
15 "gtm-tools": {
16 "url": "https://api.gtm-tools.sh/mcp",
17 "headers": { "Authorization": "Bearer YOUR_KEY" }
18 }
19 }
20}

Add only the servers your agent needs.

Cursor

Add to .cursor/mcp.json in your project root:

1{
2 "mcpServers": {
3 "gtm-tools": {
4 "url": "https://api.gtm-tools.sh/mcp",
5 "headers": { "Authorization": "Bearer YOUR_KEY" }
6 },
7 "gtm-tools": {
8 "url": "https://api.gtm-tools.sh/mcp",
9 "headers": { "Authorization": "Bearer YOUR_KEY" }
10 }
11 }
12}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

1{
2 "mcpServers": {
3 "gtm-tools": {
4 "url": "https://api.gtm-tools.sh/mcp",
5 "headers": { "Authorization": "Bearer YOUR_KEY" }
6 }
7 }
8}

Authentication

Every request must carry your bearer token:

Authorization: Bearer sk_...

Provision a key with get_api_key (see Quickstart). Keys are scoped to your org; balances and rate limits are enforced per org.

Tool annotations

Each tool includes MCP annotations that help agents reason about behavior:

AnnotationDescription
readOnlyHintTool only reads data (e.g. get_linkedin_company_url, all signal_*)
destructiveHintTool could create or alter external state (e.g. send_linkedin_message, send_linkedin_invitation, buy_tokens)
idempotentHintCalling multiple times produces the same result (most read tools)
openWorldHintTool interacts with external systems (LinkedIn, SMTP servers, web pages)

Errors

Tool calls surface API errors directly to the agent:

StatusMeaning
401Missing or invalid bearer token
402Insufficient token balance — top up via buy_tokens
404Tool name not found on this server
429Rate limit hit — back off and retry
5xxUpstream provider issue (LinkedIn, email verifier, web-tools)

Tool catalogue

For the complete tool list with parameter shapes, see:

Next steps