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 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>" } 
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) 
    
- 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/subscribeandnotifications/resources/list_changedandresources/unsubscribe- Properly document tools in the readme
 - Like on the SQLite MCP client 
    
write_querytool separated fromread_query-> actually isreadWriteQuerylist_collections(seelist_tables)
 - Client pool ie one client per database
 - Dev environment
 resources/readwith a template to read any document by database name, collection, id.- Add username and passwords as parameters of the command