
ArcadeDB MCP Server: Query Graph, Document and Vector Data with AI
Lets your AI assistant explore and query an ArcadeDB database, with graph, document, vector and full-text search.
ArcadeDB is a database for graphs, documents, key/value data, time series and vectors, and it ships its own MCP server. It is built in and made by the ArcadeDB team, so you need a running ArcadeDB server rather than a separate download.
The MCP server is switched off until you enable it in the server's config file. Once on, it can only read. Inserts, updates, deletes, schema changes and admin commands each need their own switch. You sign in with an ArcadeDB user, root by default.
Good for
- Teams running ArcadeDB who want an assistant to explore the schema and write queries
- Developers building retrieval-augmented apps on vectors, text and graph links
- Admins who want the assistant to read settings and profile slow queries
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install ArcadeDB MCP
Claude Code
- 1
Copy this prompt.
Add the ArcadeDB MCP server to Claude Code. Run this command: claude mcp add --transport http arcadedb http://localhost:2480/api/v1/mcp --header 'Authorization: Basic <base64 of user:password>' Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires ArcadeDB server running with MCP enabled.
Read-only mode: Leave the allowInsert, allowUpdate, allowDelete, allowSchemaChange and allowAdmin settings at false in config/mcp-config.json. That is the default once MCP is enabled.
MCP is off until you enable it. For the HTTP route, set "enabled": true in config/mcp-config.json in the ArcadeDB server folder, then replace the header value with Basic plus the base64 of username:password. The stdio route runs the script from an unpacked ArcadeDB distribution and uses the root password you put in the settings value; it turns MCP on for that process. The vendor documents a generic MCP client config; this tab adapts it to this app's own format.
Built from the package data we hold. Not yet tested by us.
Tools
Lists the databases you can open
Returns the names of the databases on the ArcadeDB server that your sign-in is allowed to use.
Try: “Which databases are on this server?”
Read ·
list_databasesShows the types, properties and indexes
Returns the full schema of one database: vertex, edge and document types, their properties, indexes and inheritance.
Try: “Show me the schema of the mydb database”
Read ·
get_schemaRuns a read-only query
Runs a SELECT, MATCH or other read query in SQL, Cypher, Gremlin, GraphQL or MongoDB syntax. The server checks the query and rejects it if it would change data. Results stop at 1,000 records unless you set a limit.
Try: “List the 10 newest Person records in mydb”
Read ·
queryRuns a command that changes data
Runs INSERT, UPDATE, DELETE, schema changes and other commands. Each kind needs its own permission in the MCP config, and all of them are off until you turn them on.
Try: “Add a Person named Charlie to mydb”
Delete ·
execute_commandShows server version and cluster state
Returns the ArcadeDB version, server name, supported query languages, your databases and, with admin rights on a clustered setup, which node leads.
Try: “What ArcadeDB version is running?”
Read ·
server_statusPeeks at the first records of each type
Returns the first few stored records from up to 20 types, so the assistant can see real values before it writes a query. It is not a random sample.
Try: “Show me 3 sample records from each type in mydb”
Read ·
sample_recordsFinds nearest neighbours in a vector index
Searches a dense or sparse vector index using a vector you supply. ArcadeDB does not create embeddings, so the assistant must pass one made by an embedding model. An optional filter narrows candidates.
Try: “Find the 20 papers closest to this embedding in Paper[embedding]”
Read ·
vector_searchSearches a text index and ranks matches
Searches a full-text index by index name or by type and properties. It supports required and excluded terms, phrases, prefixes, fuzzy terms and field filters, and returns records with a relevance score.
Try: “Search Paper[abstract] for +graph +retrieval -sql”
Read ·
full_text_searchCombines vector, text and graph results
Merges a vector search with an optional full-text search and an optional walk along graph edges into one ranked list. Each result says which of the three found it.
Try: “Search papers for "graph retrieval" using this embedding and follow CITES edges two hops”
Read ·
hybrid_searchCreates or updates one vertex without duplicates
Finds a vertex by the match keys you give, creates it if missing, then sets the properties you pass. Needs insert and update permission. Missing types are created automatically.
Try: “Upsert a Company with name Acme and country DE”
Write ·
upsert_entityCreates or updates one edge without duplicates
Finds or creates the two end vertices by their match keys, then the edge of the type you name between them, and sets edge properties. Needs insert and update permission.
Try: “Link Alice to Acme with a WORKS_AT edge since 2024”
Write ·
upsert_relationshipStarts the query profiler
Starts recording every query with its run time and plan for up to 3,600 seconds (60 by default). It needs admin permission, and a second start leaves the first session running.
Try: “Profile the server for two minutes”
Write ·
profiler_startStops the profiler and returns the results
Ends the session and returns per-query counts, minimum, maximum, average and p99 times and plan step costs. The results are also saved to disk on the server. Needs admin permission.
Try: “Stop the profiler and show the slowest queries”
Write ·
profiler_stopChecks the profiler without stopping it
Reports whether the profiler is recording and returns the current or latest results, including server metric snapshots. Needs admin permission.
Try: “Is the profiler still running?”
Read ·
profiler_statusLists server settings and their defaults
Returns the server-level settings with current value, default and description. Passwords and the cluster token come back masked.
Try: “What memory settings is the server running with?”
Read ·
get_server_settingsChanges a server setting while it runs
Sets one server configuration key to a new value immediately and returns the old value. Whether it survives a restart depends on the setting. Needs admin permission.
Try: “Set arcadedb.asyncWorkerThreads to 8”
Write ·
set_server_setting
Read from the source code
Permissions
medium risk · 5 things to watch · 3 advisories
Medium risk
Once enabled, the assistant can read anything your ArcadeDB user can read, and nothing else until you turn on writes in the MCP config. If you enable inserts, updates or deletes, the assistant can change or erase data, so enable only what you need and give it a user that reaches only one database.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only modeHow to turn it on
Watch out for
Writes and deletes are one config change away
execute_command can insert, update and delete data and change schema once the matching permission is switched on. Turn on only the permissions you need and use allowedUsers and per-database limits to narrow who and where. docs.arcadedb.com
Password is sent as plain Basic auth over HTTP
The documented HTTP setup uses a Basic Authorization header against a port that listens on all network interfaces by default. Put it behind TLS or a firewall, and prefer a limited user over root. github.com
Stdio mode always signs in as root
The stdio script needs the root password and runs MCP as root, though the permission switches still apply. It also turns MCP on for that process even if the config says disabled. docs.arcadedb.com
Admin tools can change server settings
set_server_setting and the profiler tools need the admin permission, which is off by default. Leave it off unless you want the assistant tuning the server. docs.arcadedb.com
Tool descriptions prefer Cypher
The query and command tools tell the assistant to use OpenCypher unless you ask for SQL. Say "use SQL" in your prompt if you want SQL. github.com
Security advisories
3 known advisories, all fixed in a newer version.
- MCP get_server_settings leaks HA clusterToken in cleartext enabling root impersonationhigh · Fixed in 26.7.3 · GHSA-p9wc-4fhr-78wm
- MCP command transport never binds authenticated principal, disabling all engine permission checkshigh · Fixed in 26.7.3 · GHSA-6x73-v3rc-f57c
- Authorization bypass in ArcadeDB MCP: read-only user can invoke server-admin set_server_settingmedium · Fixed in 26.8.1 · GHSA-pff6-hp53-pj54
39 other advisories are about the wider arcadedb project, not this MCP server. See them on GitHub
Technical details
| Turning on read-only | Leave allowInsert, allowUpdate, allowDelete, allowSchemaChange and allowAdmin at their default of false in config/mcp-config.json; only allowReads is on by default. |
|---|---|
| Talks to | Your own ArcadeDB server |
| Sign-in and keys | You put an ArcadeDB username and password in the client config, as a Basic auth header for HTTP or as a server setting for stdio. |
| Scopes |
|
Questions
Is it official?
Yes. The MCP server is part of ArcadeDB itself and is built by the ArcadeDB team in their own repository.
Do I need a separate download?
No. The standard ArcadeDB distribution and Docker image include it, and you turn it on in the config file. There is no separate package to install.
Is it read-only by default?
Yes. It is off until you enable it, and then only reading is allowed. Inserts, updates, deletes, schema changes and admin commands each have their own switch, all off by default.
What is the ArcadeDB MCP server URL?
The HTTP endpoint is /api/v1/mcp on your ArcadeDB server, for example http://localhost:2480/api/v1/mcp. It uses Basic authentication with an ArcadeDB user.
How do I turn it on?
Set "enabled" to true in config/mcp-config.json in the ArcadeDB server folder, or post the setting to the server's MCP config endpoint as root. The stdio script turns it on for its own process.
Can I limit it to one database or fewer tools?
Yes. The config can limit users, give one database its own permissions, and pick a tool profile: all, rag (retrieval and upsert tools) or admin (query, status, profiler and settings tools).
Does it create embeddings for vector search?
No. ArcadeDB does not generate embeddings, so the assistant has to supply the query vector from an embedding model.
Which AI apps does it work with?
Any MCP client that can send an Authorization header over HTTP or start a local program. It runs next to your database, so it is not a web connector for ChatGPT or claude.ai.
Information
updated Nov 2, 2026
- Publisher
- Official
- Package
arcadedata/arcadedb- Registry
- Docker
- Transport
- stdio, Streamable HTTP
- Version
- 26.10.2
- License
- Apache-2.0
- Last commit
- Oct 31, 2026
- Open issues
- 125
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 4Hide
- docs.arcadedb.com · docs.arcadedb.com
- github.com · github.com
- github.com · github.com
- github.com · github.com