MCP Server - SMB Sales Boost API
SMB Sales Boost provides a remote Model Context Protocol (MCP) server that lets AI assistants and LLMs interact with your account directly. The REST API endpoints are available as MCP tools (pushing your own lead data to an integration is REST only), enabling AI-powered lead search, export, account management and integration workflows such as connecting a CRM (when available), creating webhooks and sending leads to them.
What is MCP?
The Model Context Protocol is an open standard that enables AI models to securely access tools and data sources. With our MCP server, the AI assistant in an MCP client such as Cursor or Claude Code can search, filter, and export leads, and send them to your CRM or webhooks, through natural language.
Connection Details
- Endpoint
https://smbsalesboost.com/mcp- Transport
- Streamable HTTP (stateless)
- Method
- POST
- Auth
- Bearer token (your API key) in Authorization header
Client Configuration
Add this to the configuration of an MCP client that connects to remote servers over HTTP and can send a request header, for example Cursor (~/.cursor/mcp.json, or .cursor/mcp.json in a project) or Claude Code (.mcp.json in a project):
{
"mcpServers": {
"smb-sales-boost": {
"type": "http",
"url": "https://smbsalesboost.com/mcp",
"headers": {
"Authorization": "Bearer smbk_your_api_key_here"
}
}
}
}
Available Tools (72)
The AI assistant can call these tools on your behalf using natural language. Key tools include: get_profile, update_profile, search_leads, export_leads, list_filter_presets, create_filter_preset, list_keyword_lists, create_keyword_list, list_email_schedules, create_email_schedule, list_export_formats, create_export_format, list_export_history, ai_suggest_categories, ai_generate_keywords, list_export_blacklist, purchase_credits, get_auto_top_up, update_auto_top_up, get_overage_budget, update_overage_budget, and more.
The listing tool set for AI apps in app directories, 16 of these tools with per-call limits, and what each tool reads, changes or spends: see MCP Tools and Permissions.
A tool whose work is still running after about 40 seconds returns {status: "running", jobId}; call get_job with that jobId (each call waits up to 40 seconds) until it returns the result, exactly as the original tool would have returned it. Over the REST API the same work answers 202 Accepted and is followed with GET /api/v1/jobs/{jobId} (see Long-Running Requests). Results are normally kept 60 minutes after the job finishes (24 hours for a schedule send) and can expire sooner under heavy load or after a server restart; after that get_job reports job_result_expired for about a day, then job_not_found. Never repeat an export or a send then: check list_export_history / list_lead_export_history or list_email_schedules first (export files stay in Export History for 90 days). To get the result of a running export call get_job, never export_leads again: a new export_leads call after this one finished (or with other arguments) picks new leads first and charges for them; an identical call while it runs returns the same job. export_leads and trigger_email_schedule take an optional idempotencyKey (8-64 letters, numbers, underscores or dashes): reuse the same key only to repeat the identical call after a timeout, a lost connection or a {status: "running"} answer, and the server returns the same job instead of exporting or sending again (a schedule send's key is kept with the job for up to about 48 hours; a server restart forgets it). After an error answer (for example export_too_large) or when you change any argument, use a new key; a busy or in-progress answer (409, 429, 503) and an insufficient_credits 402 do not use up the key.
Integration tools (17):
list_integration_providers- List integration providers (CRMs and webhook tools) and whether each is availablelist_integrations- List your integrations with their events and who created or last changed themget_integration- Get one integrationcreate_webhook_integration- Create a webhook (Zapier, n8n, Make, Pipedream, Clay or any public HTTPS URL) that receives the events you subscribe it to; returns a signing secret once and emails the account ownerupdate_integration- Rename, pause or re-enable an integration, or change its event subscriptions (the list you send replaces the current one), destination URLs, header API key or Pipedrive deal settings; a HubSpot, Salesforce or Pipedrive integration takes only lead.created and lead.updated. Re-enabling it, adding or re-activating an event, or changing where data goes emails the account ownerdelete_integration- Permanently delete an integration with its subscriptions and delivery history; nothing new is sent to it. Records already sent stay in the destination, and CRM access is not revoked inside the CRM. To stop sending without deleting, pause it with update_integrationlist_integration_deliveries- List the 50 newest deliveries of an integrationretry_integration_delivery- Send a past delivery again, once, as a new event to the URL it first went to (or to the connected CRM); no credits charged. A paused integration returns 400; a success on a needs_attention integration turns it back on and emails the account ownertest_integration- Send one test lead.created event (a sample lead for Acme Test Co) to the real destination; on a CRM this creates real records that are not removed. WitheventTypeexport.leadsit sends the sample batch of Exported leads (batched) instead (two made-up leads in the subscription's format; it needs an activeexport.leadssubscription). No credits charged. A paused integration returns 400; a success on a needs_attention integration turns it back on and emails the account ownerpush_lead_to_integration- Push one database lead (by leadId) to a connected integration now: free if you already received it or a lead with the same primary phone or primary email, otherwise 1 credit, or overage when your balance is 0 and your overage budget has room (402 insufficient_credits if neither can pay). Pushing your own lead data is REST onlyconnect_crm- Get a HubSpot, Salesforce or Pipedrive authorization URL for the account owner to open in a browser and approve within 10 minutes; once approved, a new connection sends new leads to that CRM automatically and the account owner is emailed. Approving a CRM account that is already connected re-authorizes that integration in place, keeping its events, field mapping and delivery historyget_integration_field_mapping- Get a CRM's field list and the current field mappingupdate_integration_field_mapping- Choose which CRM field receives each lead field (replaces the saved mapping as a whole)reset_integration_field_mapping- Reset a CRM field mapping to the defaultstest_integration_field_mapping- Dry-run a field mapping (creates, then deletes, synthetic CRM records)list_pipedrive_pipelines- List Pipedrive pipelines and stages for deal creationlist_pipedrive_deal_fields- List Pipedrive deal fields and the current deal field map
With the 17 integration tools (list_integration_providers through list_pipedrive_deal_fields), the assistant can send lead data (business contact details) to outside systems, so it should confirm the destination with you first. When an API key or MCP client creates a webhook, connects a new CRM account, changes where an integration sends data, adds or re-activates an event, or re-enables an integration (including a successful test or retry, or a reconnect, that turns a needs_attention integration back on), the account owner is emailed for each change. Each account gets up to 10 of these emails an hour for destination changes and 10 for other changes; past that, one alert is sent and further changes are combined into summary emails. Changes made through MCP are labeled with the channel and the API key used, for example "Created via MCP with API key smbk_AbCdEfG..." in the Integrations tab. See Integrations API for the endpoints and error codes, and Tools & Integrations for the events.
Requirements
MCP access uses the same API key authentication as the REST API. An active paid subscription (Starter, Growth, Scale, Platinum, or Enterprise) is required. MCP requests are limited to 120 per minute per API key, and each tool call also counts against the rate limits of the REST endpoints it calls. Usage tracking works the same as for the REST API.
Errors
Most tools report a failed call as the API's message followed by the HTTP status and error code, for example (HTTP 409, integration_exists) or (HTTP 402, insufficient_credits), plus up to 5 validation details, so the error codes under Error Handling and Integrations API apply to MCP too. When the API sends no error code, only the status is shown (a rate-limited call shows (HTTP 429)). A 429 or 503 answer that gives a Retry-After also says when to try again, for example Retry after 42 seconds. at the end. The purchase, claim_key and start_enrichment tools return the API's message only (plus that retry time). re_export_lead_export_history and refresh_and_export_lead_export_history return the file's text for csv and json formats, and a short description (file name, type and size) for an xlsx file, which is binary.
API Documentation Sections
Introduction | Programmatic Purchase | Authentication | Rate Limits | Long-Running Requests | User Profile | Enrichments | Leads | Filter Presets | Keyword Lists | Email Schedules | Export Formats | Export History | Lead Export History | Account Settings | AI Features | Export Blacklist | Error Handling | Credits & Subscription | MCP Server | MCP Tools and Permissions | Integrations API
Setting up a CRM, an automation tool or a webhook? See Tools & Integrations: providers, events, webhook payloads and signatures, Exported leads (batched) and the Zoho Flow scripts.
Ready to Find Your Next Customers? Get access to growing local business leads updated every 5 minutes. See plans starting at $49/mo →