Tool Selection
GTM Tools has 30+ tools across four servers. Picking the cheapest tool that answers your question is the single biggest lever for keeping spend under control.
Decision flow
”I have a domain and want to know who works there”
- Qualify first. Run
detect_signal(free dispatch + 5/detector). If nothing fires, stop. get_linkedin_company_url(2 tokens) — confirm the company has a LinkedIn page.list_linkedin_company_employees(30 tokens) with boolean title filters. Don’t run it without filters; thelimitparameter doesn’t reduce cost.
”I have a name and a company”
get_linkedin_profile_url(5 tokens) — resolves to a profile URL.get_linkedin_profile(4 tokens) — only if you need the full structured profile.
Don’t call list_linkedin_company_employees to find one specific named person — that’s 30 tokens vs. 5.
”I need this person’s email”
get_email(5 tokens) — passname+domain.- Check
is_catch_allin the response. Iftrue, cross-check against LinkedIn before relying on it.
”I want to know what tech a company uses”
signal_technologies_identified(5 tokens) with the specifictechsarray.- Don’t run
detect_signalif this is the only signal you care about — the dispatch will run other detectors too.
”I want to read posts from a company”
list_linkedin_company_employees_posts is by far the most expensive socials tool. Only use it when you actually need the fanout — otherwise scope to specific profile URLs with list_user_posts.
Free tools to lean on
Server selection
Only point your MCP client at the servers you actually need. Adding all four is fine, but it grows your agent’s tool list and risks the model picking the wrong one.
Filter early, hydrate late
A common mistake is fetching full profiles for everyone in a list, then filtering in code:
Use list_linkedin_company_employees with title_filters instead — one 30-token call gets you the filtered list directly:
Then hydrate only the candidates you actually want to message.