MCPQL
Inspect, search and query Microsoft SQL Server and Azure SQL databases from an MCP client
MCP endpoint built into the ArcadeDB multi-model database for schema, queries, search and graph upserts
Official · Arcade Data Java Local · stdio, Streamable HTTP Databases
75 popularity score ★ 1.2k ⇣ 562k pulls
Opens the app, which asks before it adds the server.
claude mcp add --transport http arcadedb http://localhost:2480/api/v1/mcp{
"mcpServers": {
"arcadedb": {
"url": "http://localhost:2480/api/v1/mcp"
}
}
}{
"servers": {
"arcadedb": {
"type": "http",
"url": "http://localhost:2480/api/v1/mcp"
}
}
}[mcp_servers.arcadedb]
url = "http://localhost:2480/api/v1/mcp"gemini mcp add --scope user --transport http arcadedb http://localhost:2480/api/v1/mcpOpens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.
It needs ARCADEDB_SETTINGS. Replace each <NAME> with your value.
Download the full release package from https://github.com/ArcadeData/arcadedb/releases and unpack it to <ABSOLUTE_PATH_TO_ARCADEDB>claude mcp add arcadedb -e ARCADEDB_SETTINGS=<ARCADEDB_SETTINGS> -- '<ABSOLUTE_PATH_TO_ARCADEDB>/bin/mcp-stdio.sh'{
"mcpServers": {
"arcadedb": {
"command": "<ABSOLUTE_PATH_TO_ARCADEDB>/bin/mcp-stdio.sh",
"args": [],
"env": {
"ARCADEDB_SETTINGS": "<ARCADEDB_SETTINGS>"
}
}
}
}{
"mcpServers": {
"arcadedb": {
"command": "<ABSOLUTE_PATH_TO_ARCADEDB>/bin/mcp-stdio.sh",
"args": [],
"env": {
"ARCADEDB_SETTINGS": "<ARCADEDB_SETTINGS>"
}
}
}
}{
"servers": {
"arcadedb": {
"type": "stdio",
"command": "<ABSOLUTE_PATH_TO_ARCADEDB>/bin/mcp-stdio.sh",
"args": [],
"env": {
"ARCADEDB_SETTINGS": "<ARCADEDB_SETTINGS>"
}
}
}
}[mcp_servers.arcadedb]
command = "<ABSOLUTE_PATH_TO_ARCADEDB>/bin/mcp-stdio.sh"
args = []
[mcp_servers.arcadedb.env]
ARCADEDB_SETTINGS = "<ARCADEDB_SETTINGS>"gemini mcp add --scope user -e ARCADEDB_SETTINGS=<ARCADEDB_SETTINGS> arcadedb '<ABSOLUTE_PATH_TO_ARCADEDB>/bin/mcp-stdio.sh'ARCADEDB_SETTINGS |
Required: Server settings as -D flags; the stdio launcher exits unless it holds -Darcadedb.server.rootPassword=<PASSWORD>. |
|---|
ArcadeDB is an open-source multi-model database (graph, document, key-value, vector, time-series), and recent releases carry an MCP server inside the database process itself. There is nothing separate to install: the module ships in the standard distribution and Docker image, and is switched off until enabled in config/mcp-config.json, through the /api/v1/mcp/config endpoint, or from the MCP tab in ArcadeDB Studio.
Once on, a client can list databases, read a database's types, properties and indexes, pull a few sample records per type, and run queries in SQL, Cypher, Gremlin, GraphQL or MongoDB syntax. Search tools cover vector indexes (dense or sparse), full-text indexes, and a hybrid mode that fuses both and can walk up to three hops of graph edges from the hits. Two upsert tools merge entities and relationships by match keys, aimed at agents that keep their memory in a graph. Operator tools show server status, run the query profiler, and read or change server settings. Two prompts, graphrag_query and build_knowledge_graph, guide a model through retrieval and through extracting a knowledge graph from text.
It is reached in two ways: HTTP at POST /api/v1/mcp on a running server (port 2480 by default), signed in with ArcadeDB credentials as Basic auth or a Bearer API token; or stdio, by having the client launch bin/mcp-stdio.sh, which starts an embedded ArcadeDB server and acts as root. Version 26.10.1 registers 16 tools (counted in MCPDispatcher.java at that tag). Every write and admin permission defaults to off, and a tool profile (all, rag or admin) can narrow which tools are offered, globally or per user or API token.
| Runtime | Java 25+ |
|---|
An ArcadeDB server, 26.3.1 or later, from the full, minimal or headless release package or the arcadedata/arcadedb Docker image (the image bundles Java 25; a bare distribution needs Java 21 or later). The MCP module must be enabled for HTTP use. The stdio launcher is a shell script (bin/mcp-stdio.sh) and needs the root password set through ARCADEDB_SETTINGS. HTTP clients need an ArcadeDB user listed in allowedUsers (only root by default), or an API token.
Writes, deletes, schema changes and admin tools are refused until allowInsert, allowUpdate, allowDelete, allowSchemaChange or allowAdmin is turned on; the upsert tools need both insert and update. query and execute_command return 1,000 records by default, up to 100,000 with limit; sample_records returns 3 per type, up to 20; vector and hybrid search return at most 1,000 results; hybrid graph expansion stops at 3 hops. It does not create embeddings: callers must supply the query vector. set_server_setting changes are runtime only, and whether one survives a restart depends on the setting. Hiding engine error detail in production mode is documented for 26.11.1, which is not yet released.
Suits teams already running ArcadeDB who want an assistant to explore a schema, answer questions with vector, full-text or graph retrieval, or store agent memory as a graph, with permissions set per operation, per database and per user. Because it is part of the database, it is tied to ArcadeDB; it is not a general client for other databases. Those who only need Cypher or SQL execution from a shared multi-database tool can use Google's MCP Toolbox, which ArcadeDB's own pages say supports it over Bolt; the built-in server offers more tools, including search, upserts and admin operations.
list_databasesget_schemaqueryexecute_commandsample_recordsvector_searchfull_text_searchhybrid_searchupsert_entityupsert_relationshipserver_statusprofiler_startprofiler_stopprofiler_statusget_server_settingsset_server_setting