Connect your agent.
The SalesTeams MCP server exposes discovery and enrichment as tools any MCP-compatible client can call: Claude Desktop, Cursor, or your own agent runtime.
Connect
Your server URL is on your API Keys page once you're signed in, it includes your Cloudflare account subdomain, so it isn't shown here. Two ways to authenticate:
In Claude Desktop: Settings → Integrations → Add MCP Server, paste your server URL. You'll be redirected to log in with your SalesTeams account, no key management.
Create a key at Settings → API Keys, then pass it as a Bearer token in your client config:
{
"mcpServers": {
"salesteams": {
"url": "<your MCP server URL from Settings → API Keys>",
"headers": {
"Authorization": "Bearer st_live_…your_key_here…"
}
}
}
}Tools
Campaigns are created in the dashboard (Discovery → Configure), MCP tools operate on an existing campaign_id.
Show the connected SalesTeams account (org + credential). Free.
{}{ "org_id": "org_...", "account": "Thabo Mokoena", "credential": "api_key" }Fuzzy-match free text to a SalesTeams business vertical or individual role. Free.
{
text: string, // e.g. "pet groomers" or "personal injury lawyers"
target_type?: "business" | "individual"
}{ "vertical_id": "vrt_...", "name": "Physiotherapy", "confidence": 0.94 }Start an async lead-discovery job for a campaign. Returns a job_id, poll get_job_status. Charges credits.
{
campaign_id: string,
sources?: ("google_maps" | "brave_search" | "directories" | "linkedin")[],
target_quantity?: number // 1-500, default 50
}{ "job_id": "job_4c1d", "status": "running" }Poll a discovery job by job_id. Returns progress and whether it is terminal. Free.
{ job_id: string }{ "job_id": "job_4c1d", "status": "running", "found": 32, "stored": 28, "target": 50 }Extract email/phone for a company from its website. Charges credits.
{ company_id: string }{ "company_id": "cmp_...", "email": "info@example.com", "phone": "+27 21 433 8120" }