square_get_tablesLABSCO SUMMARY
Read-only is the reason this can touch payments data at all.
Payment systems are the last place you want an assistant with write access, and this build simply does not have one — the query tool runs SELECT. That makes it usable for the questions merchants actually have, about takings, orders and customers, without the risk profile of a full integration. CData points at its paid products for read-write access, so this is the reporting path, and the licensed driver plus Maven build is the entry fee.
What it is
A local, read-only MCP server that exposes Square as a relational SQL model. It wraps CData's JDBC driver for Square, which presents the account's objects as tables, so an assistant can discover the schema and answer questions about live payments and merchant data with SELECT queries.
What you get
- The tables available in Square, returned as CSV with a header row —
get_tables - The columns on a chosen table, so a query uses real column names —
get_columns - A SQL SELECT executed against live Square data —
run_query - Tool names that start with the
Prefixin your.prpfile (square_in the sample), so several CData servers can sit side by side - 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
A Square account, plus CData's JDBC driver for Square downloaded and licensed separately — java -jar cdata.jdbc.square.jar --license takes your name, email and TRIAL or a license key. Java and Maven: mvn clean install builds the runnable JAR. Then a .prp file with the prefix, server name and version, the driver JAR path, the driver class cdata.jdbc.square.SquareDriver, and the JDBC connection string from the driver's connection-string utility, which opens a browser for OAuth. The client entry runs java with the JAR and the .prp path. Communication is over stdio, so client and server 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 about takings without exporting a report
Let the assistant discover the tables and write the SELECT against live Square data.
Understanding how the account's data is shaped
List tables and inspect columns before relying on any answer built on them.
Reconciling payments against another system
Run this alongside a second CData server in the same client, each with its own prefix.
3 tools
Listed in project docs. Your client may show a different list.
square_get_columnssquare_run_queryBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation. Tool names start with the Prefix set in the .prp file, for example square_run_query. The build is read-only: square_run_query executes SQL SELECT only, although the documentation also promises writes.
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
git clone https://github.com/cdatasoftware/square-mcp-server-by-cdata.git
cd square-mcp-server-by-cdata
mvn clean installDownload and install the CData JDBC Driver for Square from https://www.cdata.com/drivers/square/download/jdbc
License the driver: java -jar cdata.jdbc.square.jar --license (enter name, email and "TRIAL" or your license key)
Run java -jar cdata.jdbc.square.jar to open the Connection String utility, configure and test the connection, then copy the connection string
Create square.prp with:
Prefix=square
ServerName=CDataSquare
ServerVersion=1.0
DriverPath=<YOUR_DRIVER_PATH>
DriverClass=cdata.jdbc.square.SquareDriver
JdbcUrl=<YOUR_JDBC_URL>
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 fully restart the client
MCP Clients
Claude Desktop — macOS / Linux, Windows
{
"mcpServers": {
"square": {
"command": "<YOUR_PATH_TO_JAVA>",
"args": [
"-jar",
"<YOUR_PATH_TO_CDATA_MCP_JAR_WITH>",
"<YOUR_PATH_TO_SQUARE>"
]
}
}
}