A Model Context Protocol server for ArangoDB
Project description
ArangoDB MCP Server for Python
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-stdio.md
๐ง Installation: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/getting-started/installation.md
๐ Tools Reference: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/user-guide/tools-reference.md
๐ Issues: https://github.com/PCfVW/mcp-arango-async/issues
Features
โ
34 MCP Tools - Complete ArangoDB operations (queries, collections, indexes, graphs)
โ
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)
โ
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) โ
โ โ โ โข 34 Tools โ โ โข Multi-Model โ
โ โ โ โข Graph Mgmt โ โ โข Graph Engine โ
โ โ โ โข Analytics โ โ โข AQL Engine โ
โโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
Installation
Prerequisites
- Python 3.11+
- Docker Desktop (for ArangoDB)
Quick Install
# Install from PyPI
pip install mcp-arangodb-async
# Start ArangoDB
docker run -d \
--name arangodb \
-p 8529:8529 \
-e ARANGO_ROOT_PASSWORD=changeme \
arangodb:3.11
# Verify installation
python -m mcp_arangodb_async --health
Expected output:
{"status": "healthy", "database_connected": true, "database_info": {"version": "3.11.x", "name": "mcp_arangodb_test"}}
๐ Detailed installation guide: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/getting-started/installation.md
Quick Start
stdio Transport (Desktop Clients)
1. Configure Claude Desktop
Edit %APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/.config/Claude/claude_desktop_config.json (macOS/Linux):
{
"mcpServers": {
"arangodb": {
"command": "python",
"args": ["-m", "mcp_arangodb_async", "server"],
"env": {
"ARANGO_URL": "http://localhost:8529",
"ARANGO_DB": "mcp_arangodb_test",
"ARANGO_USERNAME": "mcp_arangodb_user",
"ARANGO_PASSWORD": "mcp_arangodb_password"
}
}
}
}
2. Restart Claude Desktop
3. Test the connection:
Ask Claude: "List all collections in the ArangoDB database"
๐ Full stdio quickstart: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/getting-started/quickstart-stdio.md
HTTP Transport (Web/Containerized)
1. Start HTTP server:
python -m mcp_arangodb_async --transport http --host 0.0.0.0 --port 8000
2. Test health endpoint:
curl http://localhost:8000/health
3. Connect from web client:
import { MCPClient } from '@modelcontextprotocol/sdk';
const client = new MCPClient({
transport: 'http',
url: 'http://localhost:8000/mcp'
});
await client.connect();
const tools = await client.listTools();
๐ HTTP transport guide: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/developer-guide/http-transport.md
Configuration
Environment Variables
Required:
ARANGO_URL=http://localhost:8529
ARANGO_DB=mcp_arangodb_test
ARANGO_USERNAME=root
ARANGO_PASSWORD=changeme
Optional:
# Transport configuration
MCP_TRANSPORT=stdio # stdio or http
MCP_HTTP_HOST=0.0.0.0 # HTTP bind address
MCP_HTTP_PORT=8000 # HTTP port
MCP_HTTP_STATELESS=false # Stateless mode
# Connection tuning
ARANGO_TIMEOUT_SEC=30.0 # Request timeout
ARANGO_CONNECT_RETRIES=3 # Connection retries
ARANGO_CONNECT_DELAY_SEC=1.0 # Retry delay
# Logging
LOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERROR
๐ Complete configuration reference: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/configuration/environment-variables.md
Available Tools
The server exposes 34 MCP tools organized into 9 categories:
Core Data Operations (7 tools)
arango_query- Execute AQL queriesarango_list_collections- List all collectionsarango_insert- Insert documentsarango_update- Update documentsarango_remove- Remove documentsarango_create_collection- Create collectionsarango_backup- Backup collections
Index Management (3 tools)
arango_list_indexes- List indexesarango_create_index- Create indexesarango_delete_index- Delete indexes
Query Analysis (3 tools)
arango_explain_query- Explain query execution planarango_query_builder- Build AQL queriesarango_query_profile- Profile query performance
Data Validation (4 tools)
arango_validate_references- Validate document referencesarango_insert_with_validation- Insert with validationarango_create_schema- Create JSON schemasarango_validate_document- Validate against schema
Bulk Operations (2 tools)
arango_bulk_insert- Bulk insert documentsarango_bulk_update- Bulk update documents
Graph Management (7 tools)
arango_create_graph- Create named graphsarango_list_graphs- List all graphsarango_add_vertex_collection- Add vertex collectionsarango_add_edge_definition- Add edge definitionsarango_add_vertex- Add verticesarango_add_edge- Add edgesarango_graph_traversal- Traverse graphs
Graph Traversal (2 tools)
arango_traverse- Graph traversalarango_shortest_path- Find shortest paths
Graph Backup/Restore (4 tools)
arango_backup_graph- Backup single grapharango_restore_graph- Restore single grapharango_backup_named_graphs- Backup all named graphsarango_validate_graph_integrity- Validate graph integrity
Analytics (2 tools)
arango_graph_statistics- Graph statisticsarango_database_status- Database status
๐ Complete tools reference: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/user-guide/tools-reference.md
Use Case Example: Codebase Graph Analysis
Model your codebase as a graph to analyze dependencies, find circular references, and understand architecture:
# 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: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/examples/codebase-analysis.md
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
python -m mcp_arangodb_async --health
Server won't start in Claude Desktop:
# Verify Python installation
python --version # Must be 3.11+
# Test module directly
python -m mcp_arangodb_async --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: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/user-guide/troubleshooting.md
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
License
- This project: Apache License 2.0
- ArangoDB 3.11: Apache License 2.0
- ArangoDB 3.12+: Business Source License 1.1 (BUSL-1.1)
โ ๏ธ Important: This repository does not grant rights to ArangoDB binaries. You must comply with ArangoDB's license for your deployment version.
๐ License details: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/getting-started/installation.md#arangodb-licensing
Contributing
Contributions are welcome! Please see our documentation for guidelines.
๐ Architecture decisions: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/developer-guide/low-level-mcp-rationale.md
Support
- Issues: https://github.com/PCfVW/mcp-arango-async/issues
- Discussions: https://github.com/PCfVW/mcp-arango-async/discussions
- Documentation: https://github.com/PCfVW/mcp-arango-async/tree/master/docs
Acknowledgments
Built with:
- Model Context Protocol by Anthropic
- python-arango - Official ArangoDB Python driver
- Pydantic - Data validation
- Starlette - HTTP transport
- ArangoDB - Multi-model database
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_arangodb_async-0.3.1.tar.gz.
File metadata
- Download URL: mcp_arangodb_async-0.3.1.tar.gz
- Upload date:
- Size: 138.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d064f72bcd59a6dd64b69653ade811e242e690c60d9fa78598a2ccb6397dca5d
|
|
| MD5 |
a7fcb20193b26b9b01329792a362e385
|
|
| BLAKE2b-256 |
286fa0979ac7eeb0ae155106dda1f7e2db8cf0da13ce3fd3f43ff3c2162d4845
|
Provenance
The following attestation bundles were made for mcp_arangodb_async-0.3.1.tar.gz:
Publisher:
publish-new-mcp-arangodb-async-to-pypi.yml on PCfVW/mcp-arangodb-async
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_arangodb_async-0.3.1.tar.gz -
Subject digest:
d064f72bcd59a6dd64b69653ade811e242e690c60d9fa78598a2ccb6397dca5d - Sigstore transparency entry: 622942040
- Sigstore integration time:
-
Permalink:
PCfVW/mcp-arangodb-async@80eb18416204c03ffb519cdd0a0a087e3d01c930 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/PCfVW
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-new-mcp-arangodb-async-to-pypi.yml@80eb18416204c03ffb519cdd0a0a087e3d01c930 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mcp_arangodb_async-0.3.1-py3-none-any.whl.
File metadata
- Download URL: mcp_arangodb_async-0.3.1-py3-none-any.whl
- Upload date:
- Size: 53.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a89751b1cbd42ad1256e41f7c1f82d67b16fe1ae9891bd588f72a21a90043d1c
|
|
| MD5 |
29c348f002a91f8b1c25b072be2f630f
|
|
| BLAKE2b-256 |
26d777e80c2150111d1ca81f68a3a749151de7d3d64104c7172b16dd3e2aebac
|
Provenance
The following attestation bundles were made for mcp_arangodb_async-0.3.1-py3-none-any.whl:
Publisher:
publish-new-mcp-arangodb-async-to-pypi.yml on PCfVW/mcp-arangodb-async
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_arangodb_async-0.3.1-py3-none-any.whl -
Subject digest:
a89751b1cbd42ad1256e41f7c1f82d67b16fe1ae9891bd588f72a21a90043d1c - Sigstore transparency entry: 622942042
- Sigstore integration time:
-
Permalink:
PCfVW/mcp-arangodb-async@80eb18416204c03ffb519cdd0a0a087e3d01c930 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/PCfVW
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-new-mcp-arangodb-async-to-pypi.yml@80eb18416204c03ffb519cdd0a0a087e3d01c930 -
Trigger Event:
push
-
Statement type: