ArangoDB
About
Integrates ArangoDB databases into workflows, enabling dynamic querying and analysis of document-oriented and graph data via AQL and document retrieval.
Details
- Author
- lucas-deangelis
- Repository
- lucas-deangelis/arango-mcp-server
- GitHub stars
- 4
- Downloads
- 256
- License
- MIT License
- Categories
- Productivity, Developer Tools, Design, Workplace, File Management, AI, Search, Frontend, Database, Other
- Tags
- #integration
Jump to
- Execute read-only AQL queries via readQuery
- Execute any AQL query (read/write) via readWriteQuery
- List all databases on the ArangoDB server with listDatabases
- List all collections in a given database with listCollections
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
ArangoDBCommand (node, npx, python, etc.)npxArguments-
Argument 1
-y -
Argument 2
arango-mcp-server -
Argument 3
http://localhost:8529 -
Argument 4
root -
Argument 5
root
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
To connect to an arangodb instance running on localhost:2434, to the database "account", add the following to your claude_desktop_config.json, assuming the path to this project is /home/yourcoolname/arango-mcp-server:
{
"mcpServers": {
"arangodb-account": {
"command": "npx",
"args": [
"-y",
"arango-mcp-server",
"http://localhost:8529",
"root",
"root"
]
}
}
}
readQuery
Execute read-only query on the database. Input: databaseName (string): The database to query, aql (string): The read-only AQL query to execute. Returns: Query results as array of objects.
readWriteQuery
Execute query on the database. Input: databaseName (string): The database to query, aql (string): The AQL query to execute. Returns: Query results as array of objects.
listDatabases
List all the databases on the ArangoDB server. Returns: Array of the databases names.
listCollections
List all the collections in an ArangoDB database. Input: databaseName (string): The name of the database. Returns: Array of objects { "name": "<collectionName>" }.
Query Tools
- readQuery
- Execute read-only query on the database
- Input:
- databaseName (string): The database to query
- aql (string): The read-only AQL query to execute
- Returns: Query results as array of objects
- readWriteQuery
- Execute query on the database
- Input:
- databaseName (string): The database to query
- aql (string): The AQL query to execute
- Returns: Query results as array of objects
- listDatabases
- List all the databases on the ArangoDB server
- Returns: Array of the databases names
- listCollections
- List all the collections in an ArangoDB database
- Input:
- databaseName (string): The name of the database
- Returns: Array of objects { "name": "<collectionName>" }
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"arangodb": {
"cwd": "/home/yourcoolname/arango-mcp-server",
"env": {},
"args": [
"-y",
"arango-mcp-server",
"http://localhost:8529",
"root",
"root"
],
"command": "npx"
}
}
}
Linux
{
"cwd": "/home/yourcoolname/arango-mcp-server",
"env": [],
"args": [
"-y",
"arango-mcp-server",
"http://localhost:8529",
"root",
"root"
],
"command": "npx"
}
Macos
{
"cwd": "/home/yourcoolname/arango-mcp-server",
"env": [],
"args": [
"-y",
"arango-mcp-server",
"http://localhost:8529",
"root",
"root"
],
"command": "npx"
}
Windows
{
"cwd": "C:\\path\\to\\arango-mcp-server",
"env": [],
"args": [
"/c",
"npx",
"-y",
"arango-mcp-server",
"http://localhost:8529",
"root",
"root"
],
"command": "cmd"
}
ArangoDB MCP Server
This is an implementation of the Model Context Protocol for ArangoDB.
Overview
To be filled.
Components
Resources
Tools
Query Tools
- readQuery
- Execute read-only query on the database
- Input:
- databaseName (string): The database to query
- aql (string): The read-only AQL query to execute
- Returns: Query results as array of objects
- readWriteQuery
- Execute query on the database
- Input:
- databaseName (string): The database to query
- aql (string): The AQL query to execute
- Returns: Query results as array of objects
- listDatabases
- List all the databases on the ArangoDB server
- Returns: Array of the databases names
- listCollections
- List all the collections in an ArangoDB database
- Input:
- databaseName (string): The name of the database
- Returns: Array of objects { "name": "<collectionName>" }
Usage
To connect to an arangodb instance running on localhost:2434, to the database "account", add the following to your claude_desktop_config.json, assuming the path to this project is /home/yourcoolname/arango-mcp-server:
{
"mcpServers": {
"arangodb-account": {
"command": "npx",
"args": [
"-y",
"arango-mcp-server",
"http://localhost:8529",
"root",
"root"
]
}
}
}
Development
Clone the repository.
Install everything.
Setup the dev environment.
Run the watcher.
Edit index.ts.
$ npm install
$ npm run dev:setup
$ npm run dev
Go to http://localhost:5173/ to see the inspector.
Todo
- [ ] Properly study the spec to see if the current implementation of resources actually make sense (I don't think it does)
- [x] The resource templates make sense
- [ ] Change all the "arango" to "arangodb" (repo name included...)
- [ ] Add back the arangodb password
- [ ] Proper README
- [ ] Tools/resource/etc following the format of the official anthropic stuff
- [ ] Figure out notifications
- [ ] Health checks
- [ ] More tools?
- [ ] Access all the databases running on an arangodb instance
- [ ] Release on npm somehow so it can be used with npx
- [ ] resources/subscribe and notifications/resources/list_changed and resources/unsubscribe
- [x] Properly document tools in the readme
- [x] Like on the SQLite MCP client
- [x] write_query tool separated from read_query -> actually is readWriteQuery
- [x] list_collections (see list_tables)
- [x] Client pool ie one client per database
- [x] Dev environment
- [x] resources/read with a template to read any document by database name, collection, id.
- [x] Add username and passwords as parameters of the command
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





