Agent Onboarding

Agent Onboarding

Everything an AI agent needs to start using GTM Tools. There are three ways in: MCP, REST, and CLI.

Integration paths

Each server exposes its tools over MCP Streamable HTTP. Point your MCP client at the relevant subdomain with your bearer token.

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

Add only the servers your agent needs — there’s no penalty for omitting one.

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}

Restart Claude Desktop. Tools should appear in the connector panel.

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}

2. REST API

Every tool is a POST /api/v0/{tool_name} on its server’s subdomain. Same JSON body, same auth header. See the REST API page for the full pattern.

$curl -X POST https://api.gtm-tools.sh/api/v0/get_linkedin_company_url \
> -H "Authorization: Bearer $GTM_TOOLS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{"domain": "siena.cx"}'

Tool discovery: GET /api/v0 on any server returns its tool index.

$curl https://api.gtm-tools.sh/api/v0 \
> -H "Authorization: Bearer $GTM_TOOLS_API_KEY"

3. CLI

Install once, point at all four servers.

$npm install -g gtm-tools
$gtm-tools admin balance
$gtm-tools socials company-url siena.cx
$gtm-tools signals detect gymshark.com

See the CLI page for the full command reference.

Available MCP tools by server

Admin Tools

ToolDescription
pingHealth check
get_api_keyProvision an API key via email verification
get_token_balanceCheck your token balance and per-tool costs
buy_tokensPurchase tokens via card
set_auto_reloadAuto-charge your card when balance is low
list_invoicesView purchase and charge history

Socials Tools

ToolTokensDescription
connect_linkedin0Start a LinkedIn browser session
list_connected_linkedin_accounts0List connected LinkedIn accounts
get_linkedin_company_url2Find a company’s LinkedIn page from a domain
get_linkedin_profile_url5Resolve name + domain to a profile URL
get_linkedin_post2Get content of a LinkedIn post
get_linkedin_job2Get full details of a job listing
get_linkedin_profile4Get a LinkedIn profile
get_linkedin_company2Get company data
list_user_posts5List recent posts from a LinkedIn user
send_linkedin_message5Send a direct message
send_linkedin_invitation5Send a connection request
list_linkedin_conversations5List recent conversations
list_linkedin_jobs5List all jobs for a company
list_linkedin_company_employees30Search employees with title filters
list_linkedin_company_posts5List recent company posts
list_linkedin_post_reactions5List people who reacted to a post
list_linkedin_post_comments5List comments on a post
list_linkedin_saved_posts10List saved posts
list_linkedin_company_employees_posts80Recent posts from a company’s employees

Email Tools

ToolTokensDescription
get_email5Find a person’s professional email (SMTP-verified)

Signals Tools

ToolTokensDescription
detect_signal0Run all signal detections for a company
signal_socials_spike5Instagram/TikTok follower spikes
signal_hiring_role5Hiring for specific roles
signal_hiring_support5CX/support hiring
signal_hiring_sales_rep5SDR/BDR hiring
signal_hiring_sales_leadership5Sales leadership hiring
signal_hiring_sales_rep_repost5Reposted SDR roles (churn signal)
signal_trustpilot_negative_reviews5Negative Trustpilot reviews
signal_trustpilot_negative_support_reviews5Negative support-related reviews
signal_trustpilot_positive_reviews5Positive Trustpilot reviews
signal_technologies_identified5Detect tech stack on a website
set_signals_order0Configure signal execution order
get_signals_order0View current signal order

Quick start code

End-to-end prospect research

1const KEY = process.env.GTM_TOOLS_API_KEY!;
2const HEADERS = {
3 "Authorization": `Bearer ${KEY}`,
4 "Content-Type": "application/json",
5};
6
7async function call<T>(tool: string, body: unknown): Promise<T> {
8 const res = await fetch(`https://api.gtm-tools.sh/api/v0/${tool}`, {
9 method: "POST",
10 headers: HEADERS,
11 body: JSON.stringify(body),
12 });
13 if (!res.ok) throw new Error(`${tool}: ${res.status} ${await res.text()}`);
14 return res.json();
15}
16
17// 1. Detect signals to qualify the account (free dispatch + 5/detector)
18const signals = await call<any>("detect_signal", {
19 domain: "gymshark.com",
20});
21
22// 2. Find decision-makers (30 tokens)
23const employees = await call<any>("list_linkedin_company_employees", {
24 domain: "gymshark.com",
25 title_filters: "(VP OR Director OR Head) AND (CX OR Support) NOT intern",
26 limit: 10,
27});
28
29// 3. Verify professional emails (5 tokens each)
30for (const e of employees.results.slice(0, 3)) {
31 const { email, is_catch_all } = await call<any>("get_email", {
32 name: e.name,
33 domain: "gymshark.com",
34 });
35 console.log(e.name, "→", email, is_catch_all ? "(catch-all)" : "");
36}

Documentation for agents

FormatURLDescription
Structured indexgtm-tools.sh/llms.txtPage titles and descriptions
Full docsgtm-tools.sh/llms-full.txtAll documentation concatenated
Individual pagesgtm-tools.sh/{path}.mdAny page as raw markdown

Add to your agent’s system prompt:

For GTM Tools usage, refer to: https://gtm-tools.sh/llms.txt

Next steps