CData Bullhorn CRM
About
A read-only MCP server by CData that enables LLMs to query live data from Bullhorn CRM. Requires the CData JDBC Driver for Bullhorn CRM.
Details
- Author
- cdatasoftware
- GitHub stars
- 1
- Downloads
- 397
- Categories
- Database, Other, Search
- Tags
- #crm, #sales, #sql-agent
Jump to
- Read-only access to live Bullhorn CRM data via MCP tools
- Exposes tables and columns with get_tables and get_columns
- Execute arbitrary SQL SELECT queries through run_query
- Integrates with LLM clients for natural-language data questions
- Built on the CData JDBC Driver for Bullhorn CRM
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
CData Bullhorn CRMCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
1. Clone the repository and build with mvn clean install to produce a JAR.
2. Download, install, and license the CData JDBC Driver for Bullhorn CRM (use java -jar cdata.jdbc.bullhorncrm.jar --license).
3. Configure a connection string using the driver’s utility, then create a .prp file with JDBC properties.
4. Add the server to claude_desktop_config.json with the path to Java, the JAR, and the .prp file.
5. Run or restart Claude Desktop to see the tools. The server uses stdio, so it must run on the same machine as the client.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"cdata bullhorn crm": {
"{classname_dash}": {
"command": "PATH\\TO\\java.exe",
"args": [
"-jar",
"PATH\\TO\\CDataMCP-jar-with-dependencies.jar",
"PATH\\TO\\bullhorn-crm.prp"
]
}
}
}
}
McpServers
{
"{classname_dash}": {
"command": "PATH\\TO\\java.exe",
"args": [
"-jar",
"PATH\\TO\\CDataMCP-jar-with-dependencies.jar",
"PATH\\TO\\bullhorn-crm.prp"
]
}
}
CData's Model Context Protocol (MCP) Server for Bullhorn CRM
:heavy_exclamation_mark: This project builds a local, read-only MCP server. For fully remote MCP access, check out the first managed MCP platform:CData Connect AI. For locally hosted, full read, write, update, delete, and action capabilities and a simplified setup, check out ourCData MCP Server for Bullhorn CRM.
We created this read-only MCP Server to allow LLMs (like Claude Desktop) to query live data Bullhorn CRM supported by theCData JDBC Driver for Bullhorn CRM.
CData JDBC Driver connects to Bullhorn CRM by exposing them as relational SQL models.
This server wraps that driver and makes Bullhorn CRM data available through a simple MCP interface, so LLMs can retrieve live information by asking natural language questions — no SQL required.
- Clone the repository:
git clone https://github.com/cdatasoftware/bullhorn-crm-mcp-server-by-cdata.git cd bullhorn-crm-mcp-server-by-cdata
- Navigate to thelibfolder in the installation directory, typically:
- (Windows)C:\Program Files\CData\CData JDBC Driver for Bullhorn CRM\
- (Mac/Linux)/Applications/CData JDBC Driver for Bullhorn CRM/
-
Run the commandjava -jar cdata.jdbc.bullhorncrm.jarto open the Connection String utility.
Configure the connection string and click "Test Connection"
Note:If the data sources uses OAuth, you will need to authenticate in your browser.
Once successful, copy the connection string for use later.
- Prefix- a prefix to be used for the tools exposed
- ServerName- a name for your server
- ServerVersion- a version for your server
- DriverPath- the full path to the JAR file for your JDBC driver
- DriverClass- the name of the JDBC Driver Class (e.g. cdata.jdbc.bullhorncrm.BullhornCRMDriver)
- JdbcUrl- the JDBC connection string to use with the CData JDBC Driver to connect to your data (copied from above)
- Tables- leave blank to access all data, otherwise you can explicitly declare the tables you wish to create access for
Prefix=bullhorncrm ServerName=CDataBullhornCRM ServerVersion=1.0 DriverPath=PATH\TO\cdata.jdbc.bullhorncrm.jar DriverClass=cdata.jdbc.bullhorncrm.BullhornCRMDriver JdbcUrl=jdbc:bullhorncrm:InitiateOAuth=GETANDREFRESH; Tables=
-
Create the config file for Claude Desktop ( claude_desktop_config.json) to add the new MCP server, using the format below. If the file already exists, add the entry to themcpServersin the config file.
{ "mcpServers": { "{classname_dash}": { "command": "PATH\\TO\\java.exe", "args": [ "-jar", "PATH\\TO\\CDataMCP-jar-with-dependencies.jar", "PATH\\TO\\bullhorn-crm.prp" ] }, ... } }
{ "mcpServers": { "{classname_dash}": { "command": "/PATH/TO/java", "args": [ "-jar", "/PATH/TO/CDataMCP-jar-with-dependencies.jar", "/PATH/TO/bullhorn-crm.prp" ] }, ... } }
If needed, copy the config file to the appropriate directory (Claude Desktop as the example).Windows
cp C:\PATH\TO\claude_desktop_config.json %APPDATA%\Claude\claude_desktop_config.json
cp /PATH/TO/claude_desktop_config.json /Users/{user}/Library/Application\ Support/Claude/claude_desktop_config.json'
Run or refresh your client (Claude Desktop).
Note:You may need to fully exit or quit your Claude Desktop client and re-open it for the MCP Servers to appear.
- Run the follow the command to run the MCP Server on its own
java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/Salesforce.prp
Note:The server usesstdioso can only be used with clients that run on the same machine as the server.
Once the MCP Server is configured, the AI client will be able to use the built-in tools to read, write, update, and delete the underlying data. In general, you do not need to call the tools explicitly. Simply ask the client to answer questions about the underlying data system. For example:
- "What is the correlation between my closed won opportunities and the account industry?"
- "How many open tickets do I have in the SUPPORT project?"
- "Can you tell me what calendar events I have today?"
The list of tools available and their descriptions follow:
In the definitions below,{servername}refers to the name of the MCP Server in the config file (e.g.{classname_dash}above).
- {servername}_get_tables- Retrieves a list of tables available in the data source. Use the{servername}_get_columnstool to list available columns on a table. The output of the tool will be returned in CSV format, with the first line containing column headers.
- {servername}_get_columns- Retrieves a list of columns for a table. Use the{servername}_get_tablestool to get a list of available tables. The output of the tool will be returned in CSV format, with the first line containing column headers.
- {servername}_run_query- Execute a SQL SELECT query
If you are scripting out the requests sent to the MCP Server instead of using an AI Client (e.g. Claude), then you can refer to the JSON payload examples below – following the JSON-RPC 2.0 specification - when calling the available tools.
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "source_get_tables", "arguments": {} } }
{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "source_get_columns", "arguments": { "table": "Account" } } }
{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "source_run_query", "arguments": { "sql": "SELECT * FROM [Account] WHERE [IsDeleted] = true" } } }
- If you cannot see your CData MCP Server in Claude Desktop, be sure that you have fully quit Claude Desktop (Windows: use the Task Manager, Mac: use the Activity Monitor)
- If Claude Desktop is unable to retrieve data, be sure that you have configured your connection properly. Use the Connection String builder to create the connection string (see above) and copy the connection string into the property (.prp) file.
- If you are having trouble connecting to your data source, contact theCData Support Team.
- If you are having trouble using the MCP server, or have any other feedback, join theCData Community.
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see theLICENSEfile in the project repository.
A read-only MCP server to query live Oracle Eloqua data. Requires a separate CData JDBC Driver for Oracle Eloqua.
A read-only MCP server for querying live SAP Hybris C4C data, powered by the CData JDBC Driver.
A read-only MCP server for querying live SuiteCRM data using the CData JDBC Driver.
A read-only MCP server that allows LLMs to query live Certinia data. Powered by CData.
A production-ready MCP server for Customer Relationship Management (CRM) functionality, built with TypeScript and SQLite.
Generect MCP connects your live lead database directly to AI models like OpenAI or Claude without exports or delays. It streams enriched, up-to-date contact data (titles, firmographics, signals) straight into prompts so LLMs can personalize, score, and recommend leads automatically in real time.
A read-only MCP server for querying live data from Outreach.io using the CData JDBC Driver.
A read-only MCP server for Pipedrive, enabling LLMs to query live data using the CData JDBC Driver.
Enables natural language interaction with Salesforce data. Query, modify, and manage Salesforce objects and records.
Kash.click management assistant. Connect your assistant to your business complete sales history, clients, payments, tax information, employees, points of sales.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





