actcrm_get_tablesLABSCO SUMMARY
Read-only by construction, which is why you can point it at production.
The query tool executes SELECT and nothing else, so the worst an assistant can do here is read something it should not have — a meaningfully smaller risk than a server that can also write. CData points at its paid products for full read-write access, so treat this build as the reporting path. The setup is the honest cost: a licensed JDBC driver, a Maven build and a properties file per source, which is a lot of ceremony before the first question, and near-zero after.
What it is
A local, read-only MCP server that puts Act CRM behind a relational SQL model. It wraps CData's JDBC driver for Act CRM, which exposes the CRM's objects as tables, and lets an assistant discover those tables and run SELECT queries against live data in response to plain-language questions.
What you get
- The tables available in Act CRM, returned as CSV with a header row —
get_tables - The columns on a chosen table, same CSV form, so a query can be written against real column names —
get_columns - A SQL SELECT executed against live Act CRM data —
run_query - Tool names prefixed with the server name you set in the properties file, so several CData servers can sit side by side in one client without colliding
- A
Tablessetting that only picks which tables also get a ready-made description (blank means none); it does not limit what the tools can list or query, so limit the connection or the account it signs in with
Requirements
An Act CRM account, plus CData's JDBC driver for Act CRM downloaded and licensed separately — running java -jar cdata.jdbc.actcrm.jar --license takes your name, email and either TRIAL or a license key. Java, and Maven to build: mvn clean install produces the runnable JAR. Then write a .prp file naming the prefix, server name and version, the path to the driver JAR, the driver class cdata.jdbc.actcrm.ActCRMDriver, and the JDBC connection string produced by the driver's connection-string utility — for OAuth sources that utility opens a browser to authenticate. The client entry runs java with the JAR and the .prp path as arguments. The server communicates over stdio, so the client must be on the same machine. MIT licensed.
Setup effort
Build from source — clone the repository, then point your client at the binary
USE CASES
Asking a question of CRM data without writing SQL
The assistant discovers the tables and columns, writes the SELECT itself, and answers from live records.
Finding out what is even in there
List the tables and inspect the columns on the ones that look relevant before asking anything substantive.
Cross-referencing CRM data with another source
Run several CData servers side by side in one client, each with its own prefix, and ask questions that span them.
3 tools
Listed in project docs. Your client may show a different list.
actcrm_get_columnsactcrm_run_queryBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation. Tool names take the Prefix in the .prp file, so the example config's names become actcrm_get_tables, actcrm_get_columns and actcrm_run_query. All three are read-only (run_query accepts only SELECT), even though the README's usage notes say the client can write, update and delete.
Where it runs
Both documented setups run the server on your machine.
INSTALLATION
Connect your client
Clone the repository, then point your client at the binary. This one is built from source rather than installed with a single command.
Server setup
Clone the repository: git clone https://github.com/cdatasoftware/act-crm-mcp-server-by-cdata.git then cd act-crm-mcp-server-by-cdata
Build the server: mvn clean install — this creates the JAR file CDataMCP-jar-with-dependencies.jar that the config block points at
Download and install the CData JDBC Driver for Act CRM from https://www.cdata.com/drivers/actcrm/download/jdbc/
License the driver: from the driver install's lib folder run java -jar cdata.jdbc.actcrm.jar --license and enter your name, email, and "TRIAL" (or your license key)
Build the connection string: run java -jar cdata.jdbc.actcrm.jar to open the Connection String utility, click "Test Connection", and copy the working connection string (browser OAuth may be required here)
Create a .prp file (e.g. act-crm.prp) containing Prefix / ServerName / ServerVersion / DriverPath / DriverClass / JdbcUrl / Tables — set JdbcUrl to the connection string you copied in the previous step
Tables only picks which tables also get a ready-made description for your assistant, and empty means none; the server can still list and query every table your connection string reaches, so to keep data out of reach, limit that connection or the account it signs in with.
Add the mcpServers entry to claude_desktop_config.json pointing at your java binary, the built JAR, and the .prp file; copy the file to %APPDATA%\Claude\ (Windows) or ~/Library/Application Support/Claude/ (Mac)
Fully quit and re-open Claude Desktop for the MCP server to appear
MCP Clients
Claude Desktop — macOS or Linux, Windows
{
"mcpServers": {
"act-crm": {
"command": "<YOUR_PATH_TO_JAVA>",
"args": [
"-jar",
"<YOUR_PATH_TO_CDATA_MCP_JAR_WITH>",
"<YOUR_PATH_TO_ACT_CRM>"
]
}
}
}