Labsco
MCP SERVER

Wave Financial MCP Server by CData

by CDataSoftware

Query your Wave Financial bookkeeping data as SQL tables, read-only, from an MCP client.

SaaS-to-SQL Connectors
Summary
Read your books with SQL, and only read them.

Invoices, customers and transactions come through the CData JDBC Driver as relational tables, which makes ad-hoc questions about the books answerable without exporting to a spreadsheet first. Read-only matters more than usual here: the server has no tool that can write to your accounting data.

What it is

A Java MCP server that puts CData's JDBC Driver for Wave Financial behind three read-only tools: list the tables, list a table's columns, and run a SQL SELECT. The driver is what does the work — it exposes Wave Financial as relational SQL models — and the server hands those models to your client so you can ask questions in plain language instead of writing SQL yourself.

What you get
  • `get_tables` returns the tables available in the data source, as CSV with a header row
  • `get_columns` returns the columns of one table, in the same CSV shape
  • `run_query` executes a SQL SELECT and returns the rows
  • Every tool name is prefixed with the server name from your `.prp` file, so several CData servers can run side by side without colliding
  • Questions like "how many open tickets do I have" go straight to the client — it picks the tools and writes the SQL
Requirements

Build the server with `mvn clean install`, which produces `CDataMCP-jar-with-dependencies.jar`. Separately download the CData JDBC Driver for Wave Financial and license it: run `java -jar cdata.jdbc.wavefinancial.jar --license` and enter your name, email and either `TRIAL` or a licence key. Then write a `.prp` file naming `DriverClass=cdata.jdbc.wavefinancial.WaveFinancialDriver` plus the `JdbcUrl` you build in the driver's connection-string utility, and point your client at `java -jar` with the jar and that file. Transport is stdio, so the server has to run on the same machine as the client.

Setup effort

Build from source — clone the repository and build it, then point your client at the binary