MCP Connector Featured

Manage ArangoDB Graph Operations

Run ArangoDB graph operations from Claude: create named graphs, traverse relationships, find shortest paths, and back up graph data via 46 MCP tools.

Works with arangodb

91
Spark score
out of 100
Status Verified Official
Updated 6 months ago
Version 0.5.4
Models
claudeuniversal

Add to Favorites

Why it matters

Automate complex ArangoDB operations, including graph management, data querying, and content conversion, for AI assistants. Enables efficient data manipulation and analysis within your ArangoDB instance.

Outcomes

What it gets done

01

Execute AQL queries and build query plans.

02

Manage ArangoDB collections, indexes, and graphs.

03

Perform backup and restore operations for collections and graphs.

04

Convert data between JSON, Markdown, YAML, and table formats.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-arangodb-graph | bash

Capabilities

Tools your agent gets

arango_query

Execute AQL queries against ArangoDB

arango_list_collections

List all collections in the database

arango_insert

Insert documents into collections

arango_update

Update documents in collections

arango_remove

Delete documents from collections

arango_create_collection

Create new collections in the database

arango_backup

Backup collections and graphs

arango_list_indexes

List all indexes on collections

+7 tools

Overview

ArangoDB Graph MCP Server

A Python-based MCP server exposing 46 ArangoDB tools to AI assistants, with dedicated support for creating, traversing, and backing up graphs alongside core AQL queries, indexing, and multi-tenant database management. Reach for this when you need an AI assistant to work with graph-structured data in ArangoDB - dependency mapping, relationship traversal, or graph backup and analytics - rather than plain document storage.

What it does

This MCP server exposes ArangoDB's multi-model database to AI assistants like Claude Desktop and Augment Code, with a focus on graph operations. It is a production-ready, async-first Python server (mcp-arangodb-async) offering 46 MCP tools across 11 categories, including a dedicated graph management set: creating named graphs, adding vertex collections and edge definitions, inserting vertices and edges, traversing graphs, and computing shortest paths. It also supports graph-level backup and restore, integrity validation, and graph statistics.

Beyond graphs, the server covers core data operations (AQL queries, collection CRUD, bulk insert/update), index management, query analysis (explain plans, query profiling), data validation against JSON schemas, and multi-tenancy (working across multiple databases with environment switching and cross-database operations). Content can be converted between JSON, Markdown, YAML, and Table formats. The server runs over stdio (for desktop MCP clients) or HTTP (for web/containerized use).

pip install mcp-arangodb-async

When to use - and when NOT to

Use this when you want an AI assistant to model relationships as a graph - for example, mapping codebase dependencies (modules, functions, and call edges), then asking the assistant to traverse the graph, detect circular dependencies, or export the structure as a diagram. It also fits general ArangoDB administration: running AQL queries, managing collections and indexes, or profiling slow queries, all through natural-language requests.

Do NOT use this if you don't already have (or are unwilling to run) an ArangoDB instance - the server requires Docker and Python 3.11+, plus a running ArangoDB deployment with a configured database and user. It's also not the right fit if you only need simple key-value storage; ArangoDB's graph and multi-model features are the main value here, and simpler tools may suffice for basic document storage.

Capabilities

  • Graph management: create named graphs, add vertex collections and edge definitions, insert vertices and edges
  • Graph traversal: traverse graphs, find shortest paths between nodes
  • Graph backup/restore: back up and restore individual graphs or all named graphs, validate graph integrity, retrieve graph statistics
  • Core data operations: execute AQL queries, list/create collections, insert/update/remove documents, collection backup
  • Index management: list, create, and delete indexes
  • Query analysis: explain query execution plans, build AQL queries, profile query performance
  • Data validation: validate document references, create JSON schemas, validate documents against schemas
  • Bulk operations: bulk insert and update documents
  • Multi-tenancy: set/get focused database, list configured databases, view database resolution logic
  • Content conversion: JSON, Markdown, YAML, and Table output formats
  • MCP design patterns: progressive tool discovery, workflow context switching, tool unloading for token savings

How to install

Requires Docker and Python 3.11+. First stand up ArangoDB via Docker Compose, then install the server:

pip install mcp-arangodb-async

Create the database and user:

maa db add mcp_arangodb_test \
  --url http://localhost:8529 \
  --with-user mcp_arangodb_user \
  --env-file .env

Then add it to your MCP client config (Claude Desktop example):

{
  "mcpServers": {
    "arangodb": {
      "command": "python",
      "args": ["-m", "mcp_arangodb_async"],
      "env": {
        "ARANGO_URL": "http://localhost:8529",
        "ARANGO_DB": "mcp_arangodb_test",
        "ARANGO_USERNAME": "mcp_arangodb_user",
        "ARANGO_PASSWORD": "mcp_arangodb_password"
      }
    }
  }
}

Restart the MCP client after updating the config. Alternative install paths via Conda/Mamba/Micromamba and uv are also supported.

Who it's for

Developers and data engineers using Claude Desktop or Augment Code who need graph-based analysis (dependency mapping, relationship traversal, circular-reference detection) or general ArangoDB administration without hand-writing AQL for every task.

Source README

ArangoDB MCP Server for Python

Python
License
MCP
PyPI

A production-ready Model Context Protocol (MCP) server exposing advanced ArangoDB operations to AI assistants like Claude Desktop and Augment Code. Features async-first Python architecture, comprehensive graph management, flexible content conversion (JSON, Markdown, YAML, Table), backup/restore functionality, and analytics capabilities.


Quick Links

📚 Documentation: https://github.com/PCfVW/mcp-arango-async/tree/master/docs

🚀 Quick Start: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/getting-started/quickstart.md

🔧 ArangoDB Setup: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/getting-started/install-arangodb.md

🗄️ Multi-Tenancy Guide: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/user-guide/multi-tenancy-guide.md

⚙️ CLI Reference: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/user-guide/cli-reference.md

📖 Tools Reference: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/user-guide/tools-reference.md

🎯 MCP Design Patterns: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/user-guide/mcp-design-patterns.md

📝 Changelog: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/developer-guide/changelog.md

🐛 Issues: https://github.com/PCfVW/mcp-arango-async/issues


Features

  • 46 MCP Tools - Complete ArangoDB operations (queries, collections, indexes, graphs)
  • Multi-Tenancy - Work with multiple databases, environment switching, cross-database operations
  • MCP Design Patterns - Progressive discovery, context switching, tool unloading (98.7% token savings)
  • Graph Management - Create, traverse, backup/restore named graphs
  • Content Conversion - JSON, Markdown, YAML, and Table formats
  • Backup/Restore - Collection and graph-level backup with validation
  • Analytics - Query profiling, explain plans, graph statistics
  • Dual Transport - stdio (desktop clients) and HTTP (web/containerized)
  • Docker Support - Run in Docker for isolation and reproducibility
  • Production-Ready - Retry logic, graceful degradation, comprehensive error handling
  • Type-Safe - Pydantic validation for all tool arguments

Architecture

┌────────────────────┐      ┌─────────────────────┐       ┌──────────────────┐
│   MCP Client       │      │  ArangoDB MCP       │       │   ArangoDB       │
│ (Claude, Augment)  │─────▶│  Server (Python)    │─────▶│  (Docker)        │
│                    │      │  • 46 Tools         │       │  • Multi-Model   │
│                    │      │  • Multi-Tenancy    │       │  • Graph Engine  │
│                    │      │  • Graph Mgmt       │       │  • AQL Engine    │
│                    │      │  • MCP Patterns     │       │                  │
└────────────────────┘      └─────────────────────┘       └──────────────────┘

Getting Started with ArangoDB

Prerequisites

  • Docker and Docker Compose installed
  • Python 3.11+ (for mcp-arangodb-async)

Step 1: Install ArangoDB

Create a docker-compose.yml file:

services:
  arangodb:
    image: arangodb:3.11
    environment:
      ARANGO_ROOT_PASSWORD: ${ARANGO_ROOT_PASSWORD:-changeme}
    ports:
      - "8529:8529"
    volumes:
      - arangodb_data:/var/lib/arangodb3
      - arangodb_apps:/var/lib/arangodb3-apps
    healthcheck:
      test: arangosh --server.username root --server.password "$ARANGO_ROOT_PASSWORD" --javascript.execute-string "require('@arangodb').db._version()" > /dev/null 2>&1 || exit 1
      interval: 5s
      timeout: 2s
      retries: 30
    restart: unless-stopped

volumes:
  arangodb_data:
    driver: local
  arangodb_apps:
    driver: local

Create a .env file:

# ArangoDB root password
ARANGO_ROOT_PASSWORD=changeme

# MCP Server connection settings
ARANGO_URL=http://localhost:8529
ARANGO_DB=mcp_arangodb_test
ARANGO_USERNAME=mcp_arangodb_user
ARANGO_PASSWORD=mcp_arangodb_password

Start ArangoDB:

docker compose --env-file .env up -d

Step 2: Install mcp-arangodb-async

Install the MCP server package:

pip install mcp-arangodb-async
Alternative: Install with Conda/Mamba/Micromamba
# Create environment and install
conda create -n mcp-arango python=3.11
conda activate mcp-arango
pip install mcp-arangodb-async

# Or with mamba/micromamba:
# mamba create -n mcp-arango python=3.11
# mamba activate mcp-arango
# pip install mcp-arangodb-async
Alternative: Install with uv
# Create environment and install
uv venv .venv --python 3.11
uv pip install mcp-arangodb-async

Step 3: Create Database and User

Create the database and user for the MCP server:

maa db add mcp_arangodb_test \
  --url http://localhost:8529 \
  --with-user mcp_arangodb_user \
  --env-file .env

Expected output:

The following actions will be performed:
  [ADD] Database 'mcp_arangodb_test'
  [ADD] User 'mcp_arangodb_user' (active: true)
  [GRANT] Permission rw: mcp_arangodb_user → mcp_arangodb_test

Are you sure you want to proceed? [y/N]: y
db add:
[ADDED] Database 'mcp_arangodb_test'
[ADDED] User 'mcp_arangodb_user' (active: true)
[GRANTED] Permission rw: mcp_arangodb_user → mcp_arangodb_test

Verify the database connection:

# Set environment variables
export ARANGO_URL=http://localhost:8529
export ARANGO_DB=mcp_arangodb_test
export ARANGO_USERNAME=mcp_arangodb_user
export ARANGO_PASSWORD=mcp_arangodb_password

# Run health check
maa health

Expected output:

{"status": "healthy", "database_connected": true, "database_info": {"version": "3.11.x", "name": "mcp_arangodb_test"}}

Step 4: Configure MCP Host

Configure your MCP host to use the server. The configuration includes environment variables for database connection. The location of the configuration file depends on your MCP host. For Claude Desktop, the file is located at:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Configuration:

{
  "mcpServers": {
    "arangodb": {
      "command": "python",
      "args": ["-m", "mcp_arangodb_async"],
      "env": {
        "ARANGO_URL": "http://localhost:8529",
        "ARANGO_DB": "mcp_arangodb_test",
        "ARANGO_USERNAME": "mcp_arangodb_user",
        "ARANGO_PASSWORD": "mcp_arangodb_password"
      }
    }
  }
}
Alternative: Configuration for Conda/Mamba/Micromamba

If you installed with conda/mamba/micromamba, use the run command:

{
  "mcpServers": {
    "arangodb": {
      "command": "conda",
      "args": ["run", "-n", "mcp-arango", "maa", "server"],
      "env": {
        "ARANGO_URL": "http://localhost:8529",
        "ARANGO_DB": "mcp_arangodb_test",
        "ARANGO_USERNAME": "mcp_arangodb_user",
        "ARANGO_PASSWORD": "mcp_arangodb_password"
      }
    }
  }
}

Replace "conda" with "mamba" or "micromamba" if using those tools.

Alternative: Configuration for uv

If you installed with uv, use uv run:

{
  "mcpServers": {
    "arangodb": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/project", "maa", "server"],
      "env": {
        "ARANGO_URL": "http://localhost:8529",
        "ARANGO_DB": "mcp_arangodb_test",
        "ARANGO_USERNAME": "mcp_arangodb_user",
        "ARANGO_PASSWORD": "mcp_arangodb_password"
      }
    }
  }
}

Replace /path/to/project with the directory containing your .venv folder.

Restart your MCP client after updating the configuration.

Test the connection:

Ask your MCP client: "List all collections in the ArangoDB database"

The assistant should successfully connect and list your collections.

Available Tools

The server exposes 46 MCP tools organized into 11 categories:

Multi-Tenancy Tools (4 tools)

  • arango_set_focused_database - Set focused database for session
  • arango_get_focused_database - Get currently focused database
  • arango_list_available_databases - List all configured databases
  • arango_get_database_resolution - Show database resolution algorithm

Core Data Operations (7 tools)

  • arango_query - Execute AQL queries
  • arango_list_collections - List all collections
  • arango_insert - Insert documents
  • arango_update - Update documents
  • arango_remove - Remove documents
  • arango_create_collection - Create collections
  • arango_backup - Backup collections

Index Management (3 tools)

  • arango_list_indexes - List indexes
  • arango_create_index - Create indexes
  • arango_delete_index - Delete indexes

Query Analysis (3 tools)

  • arango_explain_query - Explain query execution plan
  • arango_query_builder - Build AQL queries
  • arango_query_profile - Profile query performance

Data Validation (4 tools)

  • arango_validate_references - Validate document references
  • arango_insert_with_validation - Insert with validation
  • arango_create_schema - Create JSON schemas
  • arango_validate_document - Validate against schema

Bulk Operations (2 tools)

  • arango_bulk_insert - Bulk insert documents
  • arango_bulk_update - Bulk update documents

Graph Management (7 tools)

  • arango_create_graph - Create named graphs
  • arango_list_graphs - List all graphs
  • arango_add_vertex_collection - Add vertex collections
  • arango_add_edge_definition - Add edge definitions
  • arango_add_vertex - Add vertices
  • arango_add_edge - Add edges
  • arango_graph_traversal - Traverse graphs

Graph Traversal (2 tools)

  • arango_traverse - Graph traversal
  • arango_shortest_path - Find shortest paths

Graph Backup/Restore (5 tools)

  • arango_backup_graph - Backup single graph
  • arango_restore_graph - Restore single graph
  • arango_backup_named_graphs - Backup all named graphs
  • arango_validate_graph_integrity - Validate graph integrity
  • arango_graph_statistics - Graph statistics

Health & Status (1 tool)

  • arango_database_status - Get comprehensive status of all databases

Tool Aliases (2 tools)

  • arango_graph_traversal - Alias for arango_traverse
  • arango_add_vertex - Alias for arango_insert

MCP Design Pattern Tools (8 tools)

  • arango_search_tools - Search for tools by keywords
  • arango_list_tools_by_category - List tools by category
  • arango_switch_workflow - Switch workflow context
  • arango_get_active_workflow - Get active workflow
  • arango_list_workflows - List all workflows
  • arango_advance_workflow_stage - Advance workflow stage
  • arango_get_tool_usage_stats - Get tool usage statistics
  • arango_unload_tools - Unload specific tools

📖 Complete tools reference: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/user-guide/tools-reference.md

📖 MCP Design Patterns Guide: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/user-guide/mcp-design-patterns.md


Use Case Example: Codebase Graph Analysis

Model your codebase as a graph to analyze dependencies, find circular references, and understand architecture. Here is an excerpt from the longer codebase analysis example:

# 1. Create graph structure
Ask Claude: "Create a graph called 'codebase' with vertex collections 'modules' and 'functions', and edge collection 'calls' connecting functions"

# 2. Import codebase data
Ask Claude: "Insert these modules into the 'modules' collection: [...]"

# 3. Analyze dependencies
Ask Claude: "Find all functions that depend on the 'auth' module using graph traversal"

# 4. Detect circular dependencies
Ask Claude: "Check for circular dependencies in the codebase graph"

# 5. Generate architecture diagram
Ask Claude: "Export the codebase graph structure as Markdown for visualization"

📖 More examples


Documentation

Getting Started

Configuration

User Guide

Developer Guide

Examples

📖 Full documentation: https://github.com/PCfVW/mcp-arango-async/tree/master/docs


Troubleshooting

Common Issues

Database connection fails:

# Check ArangoDB is running
docker ps | grep arangodb

# Test connection
curl http://localhost:8529/_api/version

# Check credentials
maa health

Server won't start in Claude Desktop:

# Verify Python installation
python --version  # Must be 3.11+

# Test module directly
maa health

# Check Claude Desktop logs
# Windows: %APPDATA%\Claude\logs\
# macOS: ~/Library/Logs/Claude/

Tool execution errors:

  • Verify ArangoDB is healthy: docker compose ps
  • Check environment variables are set correctly
  • Review server logs for detailed error messages

📖 Complete troubleshooting guide


Why Docker for ArangoDB?

Stability - Isolated environment, no host conflicts
Zero-install - Start/stop with docker compose
Reproducibility - Same image across all environments
Health checks - Built-in readiness validation
Fast reset - Recreate clean instances easily
Portability - Consistent on Windows/macOS/Linux


FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.