io.github.PCfVW/mcp-arangodb-async
平台与服务by pcfvw
面向 ArangoDB 的异步 MCP server,提供 46 个工具,支持图数据、查询与多租户场景。
什么是 io.github.PCfVW/mcp-arangodb-async?
面向 ArangoDB 的异步 MCP server,提供 46 个工具,支持图数据、查询与多租户场景。
README
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.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
# 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
# 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"
}
}
}
}
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.
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 sessionarango_get_focused_database- Get currently focused databasearango_list_available_databases- List all configured databasesarango_get_database_resolution- Show database resolution algorithm
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 (5 tools)
arango_backup_graph- Backup single grapharango_restore_graph- Restore single grapharango_backup_named_graphs- Backup all named graphsarango_validate_graph_integrity- Validate graph integrityarango_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_traversearango_add_vertex- Alias for arango_insert
MCP Design Pattern Tools (8 tools)
arango_search_tools- Search for tools by keywordsarango_list_tools_by_category- List tools by categoryarango_switch_workflow- Switch workflow contextarango_get_active_workflow- Get active workflowarango_list_workflows- List all workflowsarango_advance_workflow_stage- Advance workflow stagearango_get_tool_usage_stats- Get tool usage statisticsarango_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"
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
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.
Contributing
Contributions are welcome! Please see our documentation for guidelines.
Support
Acknowledgments
Built with:
- Model Context Protocol by Anthropic
- python-arango - Official ArangoDB Python driver
- Pydantic - Data validation
- Starlette - HTTP transport
- ArangoDB - Multi-model database
常见问题
io.github.PCfVW/mcp-arangodb-async 是什么?
面向 ArangoDB 的异步 MCP server,提供 46 个工具,支持图数据、查询与多租户场景。
相关 Skills
MCP构建
by anthropics
聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。
✎ 想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。
Slack动图
by anthropics
面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。
✎ 帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。
MCP服务构建器
by alirezarezvani
从 OpenAPI 一键生成 Python/TypeScript MCP server 脚手架,并校验 tool schema、命名规范与版本兼容性,适合把现有 REST API 快速发布成可生产演进的 MCP 服务。
✎ 帮你快速搭建 MCP 服务与后端 API,脚手架完善、扩展顺手,尤其适合想高效验证服务能力的开发者。
相关 MCP Server
Slack 消息
编辑精选by Anthropic
Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。
✎ 这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。
by netdata
io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。
✎ 这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。
by d4vinci
Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。
✎ 这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。