# Bombora MCP connector

The Bombora connector brings your intent signals, account lists, and delivery destinations into Claude, ChatGPT, Cursor, and any MCP client, so your team can ask which accounts are surging and act on the answer.

Source: https://elaichi.ai/connectors/bombora/

## Facts

| | |
| --- | --- |
| Application | Bombora |
| Category | Sales Intelligence |
| AI tools | 54 |
| Authentication | App credentials |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 54 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Bombora is connected

- Which accounts show surging intent signals this week?
- Summarize the account list for enterprise prospects.
- Which destinations received signal exports yesterday?

## Connect Bombora in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Bombora.
2. Optionally set Share with, then press Connect.
3. Paste your Bombora app credentials. Bombora authenticates the app rather than a person. One person supplies the credentials once, and everyone else works through Share with.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Bombora tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Bombora to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Bombora to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Bombora to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Bombora to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Bombora tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Bombora through Elaichi

### Find out which accounts are surging

Sales. Ask which accounts on your target list are showing rising intent this week before you plan outreach. The answer comes from your live Bombora signals, not a stale export.

### Set up a new intent signal

Marketing. Define a signal around the topics your next campaign covers and point it at the right account list. Adjust it later as the campaign shifts without opening Bombora.

### Keep target account lists current

Account-Based Marketing. Add newly qualified accounts to a list, retire the ones that closed, and check what is on each list before a launch.

### Route surge data to the right place

Revenue Operations. Create or update a destination so signals land in the CRM or ad platform where the team already works, and review every destination that is currently receiving data.

### Review intent events across campaigns

Demand Generation. Pull the events tied to a signal, group them by account, and summarize what changed since the last review.

### Prioritize the week's call list

Sales Development. Ask for accounts that both sit on your territory list and show intent on your product topics, then get a ranked list to work through.

## Frequently asked questions

### How do I connect Bombora to Claude?

Connect Bombora in Elaichi first: you enter the app credentials Bombora issued for your account, and there is no OAuth application to register and no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Sign in as yourself when Claude asks, and your Bombora signals and account lists are available in the conversation.

### Does Bombora work with ChatGPT and Cursor as well as Claude?

Yes. Bombora is connected once in Elaichi, and the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent. Each client sees the same Bombora connection with the same restrictions.

### What can an AI agent actually do with my Bombora data?

It can list and read your Bombora signal definitions, account lists, destinations, and intent events, and it can create or update them when you ask. In practice that means asking which accounts are surging on a topic, adding accounts to a list, or setting up a destination for surge data. Because Bombora exposes many actions, short concrete asks like 'show my account lists' work better than long paragraphs.

### Does connecting Bombora give the AI access to everything in my account?

No. Every call to Bombora runs inside the access of the person who signed in, so the AI sees the signals, lists, and destinations that person already sees. Elaichi can narrow that access further with restrictions, and it never widens it beyond what Bombora itself grants.

### Can my team share one Bombora connection?

Yes. One person connects Bombora in Elaichi and shares the connection with a team, and nobody else ever handles the Bombora credentials. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person behind every Bombora call.

### Can I stop an agent from deleting or changing things in Bombora?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Bombora signals and account lists while blocking deletion or updates. A blocked action is never advertised to Claude, ChatGPT, Cursor, or any other client, so no prompt can reach it.

### What happens to a Bombora connection when someone leaves?

Offboarding the person in Elaichi ends their access to Bombora at once, across every client they used. A Bombora connection shared with the team keeps working for everyone else. If you disconnect Bombora in Elaichi, it disappears from Claude, ChatGPT, Cursor, and every other client in one step.

## All 54 Bombora tools

Every tool below is callable through https://api.elaichi.ai/mcp once Bombora is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Bombora signal definitions** (List). List all Bombora signal definitions. Returns: signalDefinitionId, status, topicCount, createdDate, modifiedDate, metadata.
- **Get single Bombora signal definition by ID** (Get). Get a single Bombora signal definition by id. Returns the full signal definition including signalDefinitionId, status, topicCount, createdDate, modifiedDate, metadata, and topics. Required: id.
- **Create a Bombora signal definition** (Create). Create a new Bombora signal definition from product data points such as domain, keywords, and urls. Returns: signalDefinitionId. Required: metadata.
- **Update a Bombora signal definition by ID** (Update). Replace a Bombora signal definition by id with new topics and metadata. Returns: metadata, topics. Required: id.
- **Delete a Bombora signal definition by ID** (Delete). Delete a Bombora signal definition by id. Returns an empty 200 response on success. Required: id.
- **List all Bombora account lists** (List). List all Bombora account lists. Returns each list's id, type, name, description, accountsLastModified, accountTotal, pendingUpdate, createdDate, and modifiedDate.
- **Create a Bombora account list** (Create). Create a new Bombora account list from an AccountListDefinition body specifying the list type, metadata, and type-specific specification. Returns: id. Required: type, metadata, specification.
- **Get single Bombora account list by ID** (Get). Get a single Bombora account list definition by id. Returns: type, metadata, specification. Required: id.
- **Update a Bombora account list by ID** (Update). Update a Bombora account list definition by id. parentId and type are not modifiable. Returns the updated definition including type, metadata (name, description), and specification. Required: id, type, metadata, specification.
- **Delete a Bombora account list by ID** (Delete). Delete a Bombora account list by id. A 409 Conflict error is returned if the account list is used as a parent of a derived account list. Returns an empty 200 response on success. Required: id.
- **List all Bombora destinations** (List). List Bombora webhook destinations. Returns: destinationId, name, description.
- **Create a Bombora destination** (Create). Create a Bombora webhook destination for use with event type subscriptions. Returns: destinationId.
- **Get single Bombora destination by ID** (Get). Get a single Bombora webhook destination by id, excluding the auth object. Returns: name, description, address, headers. Required: id.
- **Update a Bombora destination by ID** (Update). Replace a Bombora webhook destination by id, excluding the auth object — use the separate auth endpoint to update auth. Returns an empty 200 response on success. Required: id.
- **Delete a Bombora destination by ID** (Delete). Delete a Bombora webhook destination by id. All related subscriptions are also deleted, but all events must be disabled first or the request fails with a 409. Returns an empty 200 response on success. Required: id.
- **List all Bombora data** (List). Retrieve paginated Bombora intent data using a page token obtained from the corresponding POST request. Returns: domain, score, scoreLabel. Required: pageToken. Response body size will not exceed 10MB; if the result set exceeds this limit, fewer results are returned than the requested limit.
- **Create a Bombora datum** (Create). Submit a Bombora intent data retrieval request that describes the attributes and filters for data fetched via the corresponding GET endpoint. Returns: pageToken. The body must contain either signalDefinitionId or topics, but not both; when attributes is empty or unspecified, domain, score, and scoreLabel are returned by default.
- **Create a Bombora oauth token** (Create). Generate an OAuth 2.0 bearer token from Bombora by providing valid client credentials. Returns: access_token, token_type, expires_in. The returned token is used in the Authorization header for authenticated Bombora API calls.
- **List all Bombora signal definition metadata** (List). Get the metadata of a Bombora signal definition. Returns: description. Required: signal_definition_id.
- **Bombora signal definition metadata bulk update** (Update). Update the metadata of a Bombora signal definition by replacing its name, description, and clientId. Returns: name, description, clientId. Required: signal_definition_id.
- **List all Bombora signal definition product definitions** (List). Get the product definition for a Bombora signal definition. Returns: domain, keywords, urls. Required: signal_definition_id.
- **Bombora signal definition product definitions bulk update** (Update). Replace the product definition inputs for a Bombora signal definition. The signal definition enters the 'Processing' state and its topics collection is overwritten before returning to 'Available'. Returns: domain, keywords, urls. Required: signal_definition_id.
- **List all Bombora events** (List). Get the configuration and delivery stats for a specific Bombora webhook event subscription. Returns: enabled, headers, stats. Required: destination_id, event_type.
- **Bombora events bulk update** (Update). Replace the event subscription document for a Bombora webhook destination to enable or disable an event type and set custom headers. Returns an empty 200 response on success. Required: destination_id, event_type.
- **Bombora events bulk delete** (Delete). Delete a Bombora webhook event subscription from the specified destination's subscription list. Returns an empty 200 response on success. Required: destination_id, event_type.
- **Bombora auths bulk update** (Update). Replace the auth object for a Bombora webhook destination. Returns the updated auth object including its secret. Required: destination_id.
- **List all Bombora accounts domains** (List). List all distinct domains in a Bombora account list. Returns an array of domain name strings (e.g., bombora.com, starbucks.com). Required: account_list_id.
- **Update a Bombora account list account by ID** (Update). Submit accounts to a Bombora account list by posting to the list's accounts collection. Required: account_list_id. The request body shape is not described in Bombora's publicly reachable API reference, which requires a developer-portal login; consult the linked documentation before calling.
- **Bombora account list accounts search** (Search). Search the accounts in a Bombora account list. Returns the matching accounts from the response's accounts array. Required: account_list_id. Any additional search or filter parameters are not described in Bombora's publicly reachable API reference, which requires a developer-portal login.
- **Create a Bombora account list account** (Create). Search the accounts in a Bombora account list by posting a JSON request body, the POST counterpart of this resource's search method on /accounts/search. Despite the create name this method does not create an account. Required: account_list_id. The request body shape is not described in Bombora's publicly reachable API reference, which requires a developer-portal login; consult the linked documentation before calling.
- **Bombora account list accounts bulk delete** (Delete). Delete accounts from a Bombora account list in bulk, sending the identifiers in a JSON request body on the DELETE call. Required: account_list_id. Compare with the account_list_delete_accounts create method, which deletes accounts through POST /delete-accounts with an ids array and is documented as valid only for the Manual account list type. The request body shape is not described in Bombora's publicly reachable API reference, which requires a developer-portal login; consult the linked documentation before calling.
- **Create a Bombora account list delete account** (Create). Delete specified accounts from a Bombora account list. Returns an empty response on success. Required: account_list_id, ids. Only valid for Manual Account List Type.
- **List all Bombora topics** (List). List Bombora intent topics with optional filtering by id, name, theme, category, or description. Returns: id, name, theme, category, description. Filters accept comma-separated case-insensitive values applied with OR logic. The 's' parameter returns similar topics (up to 50 by default, adjustable via maxTopics).
- **List all Bombora b 2 c interests** (List). List supported B2C interest attributes from Bombora. B2C interest represents the B2C topics a given device has shown interest in. Returns: name. The response is a collection of topic-name objects (e.g. Acura, Audi, Baseball, Wine, Yoga).
- **List all Bombora b 2 b interest groups** (List). List B2B interest group attributes from Bombora's Reference API. Each item represents a B2B topic category (from Bombora's Topic Taxonomy) that a given device may have shown interest in. Returns: name.
- **List all Bombora install data products** (List). List Bombora Install Data Products — technologies installed by members of an audience. Returns the products array, where each product includes its name.
- **List all Bombora firmographic company sizes** (List). List Bombora firmographic company size attributes. Returns a collection of company size records, each containing a name description such as "Large (1,000 - 4,999 Employees)" or "Micro (1 - 9 Employees)". Returns: name.
- **List all Bombora firmographic industries** (List). List Bombora firmographic industry attributes — a collection of industry names, some hierarchical (e.g. Agriculture > Animals & Livestock). Returns: name.
- **List all Bombora firmographic revenues** (List). List company revenue attributes from Bombora firmographic reference data. Returns each revenue band's name (e.g., "Large ($100MM-$200MM)", "Micro (<$1MM)").
- **List all Bombora demographic functional areas** (List). List Bombora employee functional area attributes. Returns: name. No required parameters.
- **List all Bombora demographic seniorities** (List). List employee seniority attributes in Bombora. Returns a collection of seniority levels, each identified by its name (e.g., Board and Ownership, Csuite, Management, Non-management). Returns: name. No required parameters.
- **List all Bombora demographic professional groups** (List). List employee professional group attributes in Bombora. Returns: professionalGroup.
- **List all Bombora demographic b 2 b personas** (List). List Bombora B2B personas, which are demographic attributes used to identify employees showing positive intent. Returns: name.
- **List all Bombora geographic countries** (List). List geographic country attributes in Bombora. Returns: name, isoCode. No required parameters.
- **List all Bombora geographic states** (List). List Bombora geographic state attributes (returned for US and CA only). Returns: name, stateCode, countryIsoCode.
- **List all Bombora geographic metro areas** (List). List metropolitan area attributes in Bombora, used for geographic targeting in account lists. Returns: name. Each record contains only the metropolitan area name.
- **List all Bombora destination events** (List). List subscribable event types for a Bombora webhook destination, along with each event's current enabled or disabled status. Returns: eventType, enabled. Required: destination_id.
- **Create a Bombora digital audience** (Create). Create a new Bombora DAB custom audience for a specified data exchange. Returns a 201 Created response on success. Required: dataexchange, name, endDate. At least one of topics, domains, filters, surgeId, or granularInstallData must also be provided; additional required fields like externalId, partnerId, and cpmPrice vary by data exchange.
- **Get single Bombora digital audience by ID** (Get). Get an existing Bombora digital audience by data exchange, external id, and partner id. Returns: externalId, partnerId, cpmPrice, name, endDate, topics, domains, filters, surgeId, granularInstallData, filterOr, entityParty, status. Required: dataexchange, external_id, id.
- **Update a Bombora digital audience by ID** (Update). Update an existing Bombora digital audience with a full overwrite of all audience settings. Returns an empty 204 response on success. Required: dataexchange, external_id, id, name, endDate. At least one of topics, domains, filters, surgeId, or granularInstallData must also be provided.
- **Delete a Bombora digital audience by ID** (Delete). Delete an existing Bombora digital audience by data exchange, external id, and partner id. Returns an empty 204 response on success. Required: dataexchange, external_id, id.
- **Bombora digital audiences activate** (Activate). Activate an existing suspended Bombora digital audience. Returns an empty 204 response on success. Required: dataexchange, external_id, partner_id.
- **Bombora digital audiences deactivate** (Deactivate). Suspend an existing Bombora Digital Audience. The Last Modified By column for the audience will be set as DAB API. Returns an empty 204 response on success. Required: dataexchange, external_id, partner_id.
- **Create a Bombora digital audience estimate** (Create). Estimate the size of a Bombora digital audience before creation. Returns: count. Required: dataexchange and a request body containing at least one of domains, topics, or filters.
