This MCP Server for ArangoDB is a TypeScript-based service that enables interaction with ArangoDB databases through Model Context Protocol tools, offering seamless integration with applications like Claude and VSCode extensions.
Key capabilities include:
- Execute AQL queries with optional bind variables
- Insert documents into collections (with auto-generated keys if needed)
- Update existing documents
- Remove documents from collections
- Backup collections to JSON files
- List all collections in the database
- Create new collections with customizable type and synchronization behavior
Provides database interaction capabilities with ArangoDB, implementing core operations like executing AQL queries, inserting/updating/removing documents, creating and listing collections, and backing up data to JSON files.
MCP Server for ArangoDB
A Model Context Protocol server for ArangoDB
This is a TypeScript-based MCP server that provides database interaction capabilities through ArangoDB. It implements core database operations and allows seamless integration with ArangoDB through MCP tools. You can use it wih Claude app and also extension for VSCode that works with mcp like Cline!
Features
Tools
arango_query
- Execute AQL queries- Takes an AQL query string as required parameter
- Optionally accepts bind variables for parameterized queries
- Returns query results as JSON
arango_insert
- Insert documents into collections- Takes collection name and document object as required parameters
- Automatically generates document key if not provided
- Returns the created document metadata
arango_update
- Update existing documents- Takes collection name, document key, and update object as required parameters
- Returns the updated document metadata
arango_remove
- Remove documents from collections- Takes collection name and document key as required parameters
- Returns the removed document metadata
arango_backup
- Backup all collections to JSON files- Takes output directory path as required parameter
- Creates JSON files for each collection with current data
- Useful for data backup and migration purposes
arango_list_collections
- List all collections in the database- Returns array of collection information including names, IDs, and types
arango_create_collection
- Create a new collection in the database- Takes collection name as required parameter
- Optionally specify collection type (document or edge collection)
- Configure waitForSync behavior for write operations
- Returns collection information including name, type, and status
Installation
Installing via NPM
To install arango-server
globally via NPM, run the following command:
Running via NPX
To run arango-server
directly without installation, use the following command:
Configuring for VSCode Agent
To use arango-server
with the VSCode Copilot agent, you must have at least VSCode 1.99.0 installed and follow these steps:
- Create or edit the MCP configuration file:
- Workspace-specific configuration: Create or edit the
.vscode/mcp.json
file in your workspace. - User-specific configuration: Optionally, specify the server in the setting(mcp) VS Code user settings to enable the MCP server across all workspaces.Tip: You can refer here to the MCP configuration documentation of VSCode for more details on how to set up the configuration file.
- Workspace-specific configuration: Create or edit the
- Add the following configuration:
- Start the MCP server:
- Open the Command Palette in VSCode (
Ctrl+Shift+P
orCmd+Shift+P
on Mac). - Run the command
MCP: Start Server
and selectarango-mcp
from the list.
- Open the Command Palette in VSCode (
- Verify the server:
- Open the Chat view in VSCode and switch to Agent mode.
- Use the
Tools
button to verify that thearango-server
tools are available.
Installing via Smithery
To install ArangoDB for Claude Desktop automatically via Smithery:
To use with Claude Desktop
Go to: Settings > Developer > Edit Config
or
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
To use with Cline VSCode Extension
Go to: Cline Extension > MCP Servers > Edit Configuration
or
- MacOS:
~/Library/Application Support/Code/User/globalStorage/cline.cline/config.json
- Windows:
%APPDATA%/Code/User/globalStorage/cline.cline/config.json
Add the following configuration to the mcpServers
section:
Environment Variables
The server requires the following environment variables:
ARANGO_URL
- ArangoDB server URL (note: 8529 is the default port for ArangoDB for local development)ARANGO_DB
- Database nameARANGO_USERNAME
- Database userARANGO_PASSWORD
- Database password
Usage
You can pretty much provide any meaningful prompt and Claude will try to execute the appropriate function.
Some example propmts:
- "List all collections in the database"
- "Query all users"
- "Insert a new document with name 'John Doe' and email "john@example.com' to the 'users' collection"
- "Update the document with key '123456' or name 'Jane Doe' to change the age to 48"
- "Create a new collection named 'products'"
Usage with Claude App
Uasge with Cline VSCode extension
Query all users:
Insert a new document:
Update a document:
Remove a document:
List all collections:
Backup database collections:
Create a new collection:
Note: The server is database-structure agnostic and can work with any collection names or structures as long as they follow ArangoDB's document and edge collection models.
Disclaimer
For Development Use Only
This tool is designed for local development environments only. While technically it could connect to a production database, this would create significant security risks and is explicitly discouraged. We use it exclusively with our development databases to maintain separation of concerns and protect production data.
Development
- Clone the repository
- Install dependencies:
- For development with auto-rebuild:
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. recommended debugging can be done by using MCP Inspector for development:
The Inspector will provide a URL to access debugging tools in your browser.
License
This project is licensed under the MIT License - see the LICENSE file for details.
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
A TypeScript-based server to interact with ArangoDB using the Model Context Protocol, enabling database operations and integration with tools like Claude and VSCode extensions for streamlined data management.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA production-ready template for building Model Context Protocol servers in TypeScript, offering fast development with Bun, Biome linting, and automated version management.Last updated -17JavaScriptMIT License
- AsecurityFlicenseAqualityA TypeScript-based template for developing Model Context Protocol servers with features like dependency injection and service-based architecture, facilitating the creation and integration of custom data processing tools.Last updated -12TypeScript
- AsecurityFlicenseAqualityEnables querying Supabase databases and generating TypeScript types through the Model Context Protocol interface, supporting features like schema selection, column filtering, and pagination.Last updated -29JavaScript
- -securityAlicense-qualityAn implementation of the Model Context Protocol that enables interaction with ArangoDB databases, allowing users to perform queries, list databases and collections through natural language.Last updated -83JavaScriptMIT License