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.
π 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
β
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
ββββββββββββββββββββββ βββββββββββββββββββββββ ββββββββββββββββββββ
β MCP Client β β ArangoDB MCP β β ArangoDB β
β (Claude, Augment) βββββββΆβ Server (Python) βββββββΆβ (Docker) β
β β β β’ 34 Tools β β β’ Multi-Model β
β β β β’ Graph Mgmt β β β’ Graph Engine β
β β β β’ Analytics β β β’ AQL Engine β
ββββββββββββββββββββββ βββββββββββββββββββββββ ββββββββββββββββββββ
- Python 3.11+
- Docker Desktop (for ArangoDB)
# 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
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
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
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
The server exposes 34 MCP tools organized into 9 categories:
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
arango_list_indexes
- List indexesarango_create_index
- Create indexesarango_delete_index
- Delete indexes
arango_explain_query
- Explain query execution planarango_query_builder
- Build AQL queriesarango_query_profile
- Profile query performance
arango_validate_references
- Validate document referencesarango_insert_with_validation
- Insert with validationarango_create_schema
- Create JSON schemasarango_validate_document
- Validate against schema
arango_bulk_insert
- Bulk insert documentsarango_bulk_update
- Bulk update documents
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
arango_traverse
- Graph traversalarango_shortest_path
- Find shortest paths
arango_backup_graph
- Backup single grapharango_restore_graph
- Restore single grapharango_backup_named_graphs
- Backup all named graphsarango_validate_graph_integrity
- Validate graph integrity
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
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
π Full documentation: https://github.com/PCfVW/mcp-arango-async/tree/master/docs
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
β
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
- This project: Apache License 2.0
- ArangoDB 3.11: Apache License 2.0
- ArangoDB 3.12+: Business Source License 1.1 (BUSL-1.1)
π License details: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/getting-started/installation.md#arangodb-licensing
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
- 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
Built with:
- Model Context Protocol by Anthropic
- python-arango - Official ArangoDB Python driver
- Pydantic - Data validation
- Starlette - HTTP transport
- ArangoDB - Multi-model database