blackbaudnxt_get_tablesLABSCO SUMMARY
Three tools, any table in Blackbaud FE NXT.
The whole point is the shape of the tool surface: three generic tools instead of one tool per Blackbaud FE NXT object, so the context cost stays flat no matter how wide the schema is and the model discovers the schema by asking. The price is setup — a Maven build plus a licensed JDBC driver before anything runs — and read-only access. CData points anyone who wants writes, actions or a hosted endpoint at its commercial products.
What it is
A local, read-only MCP server that CData builds on top of its JDBC driver for Blackbaud FE NXT. The driver presents Blackbaud FE NXT as relational SQL models; this server wraps the driver and hands an assistant a small SQL interface over it, so questions get answered from live data instead of a stale export. It runs as a Java process over stdio on your own machine.
What you get
- Three tools, prefixed with the server name you set in the properties file: one lists the tables the driver exposes, one lists a table's columns, and one runs a SQL SELECT.
- Table and column output comes back as CSV with a header row, so the assistant can orient itself on an unfamiliar schema before it queries anything.
- Read access only — the query tool takes SELECT. Nothing in this server writes back to Blackbaud FE NXT.
- 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
Java and Maven — clone the repo and run mvn clean install to produce CDataMCP-jar-with-dependencies.jar. Separately install the CData JDBC Driver for Blackbaud FE NXT and license it (run the driver jar with --license and enter your name, email and either TRIAL or a license key). Then build a connection string with the driver's connection-string utility and write a properties file with Prefix=blackbaudnxt, DriverClass=cdata.jdbc.blackbaudnxt.BlackBaudNXTDriver, the path to the driver jar and that JDBC URL. Point your client at java, the server jar and the properties file. The server speaks stdio, so the client has to run on the same machine. MIT licensed.
Setup effort
Build from source — git clone https://github.com/cdatasoftware/blackbaud-fe-nxt-mcp-server-by-cdata.git
USE CASES
Answering a question about Blackbaud FE NXT without building a report
Ask in plain language; the assistant lists tables, checks the columns it needs, then runs one SELECT and reads the CSV back.
Exploring a schema you have never seen
Start from the table list, drill into columns for the two or three that look relevant, and only then write a query — much cheaper than guessing field names.
3 tools
Listed in project docs. Your client may show a different list.
blackbaudnxt_get_columnsblackbaudnxt_run_queryBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation. Tool names take the form {servername}_get_tables, {servername}_get_columns and {servername}_run_query, prefixed by your config. It is read-only: {servername}_run_query runs SQL SELECT queries, despite a sentence in the documentation promising write, update and delete.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/cdatasoftware/blackbaud-fe-nxt-mcp-server-by-cdata.git
cd blackbaud-fe-nxt-mcp-server-by-cdata
mvn clean installDownload and install the CData JDBC Driver for Blackbaud FE NXT from https://www.cdata.com/drivers/blackbaudfenxt/download/jdbc
License the driver: in the driver's lib folder run java -jar cdata.jdbc.blackbaudnxt.jar --license, then enter name, email and "TRIAL" (or your license key)
Run java -jar cdata.jdbc.blackbaudnxt.jar to open the Connection String utility, test the connection and copy the connection string
Create a .prp file with Prefix / ServerName / ServerVersion / DriverPath / DriverClass=cdata.jdbc.blackbaudnxt.BlackBaudNXTDriver / JdbcUrl / Tables
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 below to claude_desktop_config.json and restart the client
MCP Clients
Claude Desktop — macOS, Linux
{
"mcpServers": {
"blackbaud-fe-nxt": {
"command": "<YOUR_PATH_TO_JAVA>",
"args": [
"-jar",
"<YOUR_PATH_TO_CDATA_MCP_JAR_WITH>",
"<YOUR_PATH_TO_BLACKBAUD_FE_NXT>"
]
}
}
}