This is an implementation of the Model Context Protocol for ArangoDB.
To be filled.
readQuery
- Execute read-only query on the database
- Input:
databaseName
(string): The database to queryaql
(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 queryaql
(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>" }
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"
]
}
}
}
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.
- Properly study the spec to see if the current implementation of resources actually make sense (I don't think it does)
- 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
andnotifications/resources/list_changed
andresources/unsubscribe
- Properly document tools in the readme
- Like on the SQLite MCP client
-
write_query
tool separated fromread_query
-> actually isreadWriteQuery
-
list_collections
(seelist_tables
)
-
- Client pool ie one client per database
- Dev environment
-
resources/read
with a template to read any document by database name, collection, id. - Add username and passwords as parameters of the command