Mcp 伺服器用於 Arangodb
這是一個基於 TypeScript 的 MCP 伺服器,通過 ArangoDB 提供數據庫交互功能。它實現了核心數據庫操作,並允許通過 MCP 工具與 ArangoDB 無縫集成。您可以將其與 Claude 應用程序一起使用,還可以使用與 MCP 兼容的 VSCode 擴展,如 Cline!
概覽
什麼是 MCP Server ArangoDB?
MCP Server ArangoDB 是一個基於 TypeScript 的伺服器,旨在促進使用 ArangoDB 的資料庫互動。它作為中介軟體,實現基本的資料庫操作,實現與各種 MCP 工具的無縫整合。這個伺服器對於希望增強其應用程式的開發者來說,提供了強大的資料庫功能。
MCP Server ArangoDB 的特點
- TypeScript 支援:使用 TypeScript 構建,確保類型安全和更好的開發體驗。
- 資料庫操作:實現核心操作,如創建、讀取、更新和刪除(CRUD),以便高效管理數據。
- 與 ArangoDB 整合:允許與 ArangoDB 的輕鬆整合,這是一個支持文檔、圖形和鍵/值數據模型的多模型資料庫。
- 與 MCP 工具的兼容性:與 MCP 工具無縫協作,增強應用程式的能力,如 Claude 和 Visual Studio Code(VSCode)的擴展。
- 開源:該項目公開可用,鼓勵社區貢獻和合作。
如何使用 MCP Server ArangoDB
-
安裝:從 GitHub 克隆存儲庫並使用 npm 或 yarn 安裝必要的依賴項。
git clone https://github.com/ravenwits/mcp-server-arangodb.git cd mcp-server-arangodb npm install
-
配置:在配置文件中設置您的 ArangoDB 連接詳細信息。確保您的資料庫正在運行並可訪問。
-
啟動伺服器:使用以下命令啟動伺服器:
npm start
-
API 使用:利用提供的 API 端點執行資料庫操作。請參考文檔以獲取詳細的 API 規範和示例。
-
整合:將 MCP 伺服器與您的應用程式整合,利用其能力有效管理數據。
常見問題
什麼是 ArangoDB?
ArangoDB 是一個多模型資料庫,支持多種數據模型,包括文檔、圖形和鍵/值。它旨在靈活和可擴展,適合各種應用程式。
我可以為 MCP Server ArangoDB 項目做貢獻嗎?
可以!MCP Server ArangoDB 是一個開源項目,歡迎貢獻。您可以分叉存儲庫,進行更改,並提交拉取請求以供審核。
MCP Server ArangoDB 是否有可用的文檔?
有,存儲庫中提供了全面的文檔。它包括設置說明、API 參考和示例,幫助您入門。
我該如何報告問題或請求功能?
您可以通過在 GitHub 存儲庫中打開問題來報告問題或請求功能。請務必提供詳細信息,以幫助維護者理解您的請求。
MCP Server ArangoDB 採用什麼許可證?
MCP Server ArangoDB 採用 MIT 許可證,允許自由使用、修改和分發。
詳細
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:
npm install -g arango-server
Running via NPX
To run arango-server
directly without installation, use the following command:
npx arango-server
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.
-
-
Add the following configuration:
{ "servers": { "arango-mcp": { "type": "stdio", "command": "npx", "args": ["arango-server"], "env": { "ARANGO_URL": "http://localhost:8529", "ARANGO_DB": "v20", "ARANGO_USERNAME": "app", "ARANGO_PASSWORD": "75Sab@MYa3Dj8Fc" } } } }
-
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:
npx -y @smithery/cli install @ravenwits/mcp-server-arangodb --client claude
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:
{
"mcpServers": {
"arango": {
"command": "node",
"args": ["/path/to/arango-server/build/index.js"],
"env": {
"ARANGO_URL": "your_database_url",
"ARANGO_DB": "your_database_name",
"ARANGO_USERNAME": "your_username",
"ARANGO_PASSWORD": "your_password"
}
}
}
}
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:
{
"query": "FOR user IN users RETURN user"
}
Insert a new document:
{
"collection": "users",
"document": {
"name": "John Doe",
"email": "john@example.com"
}
}
Update a document:
{
"collection": "users",
"key": "123456",
"update": {
"name": "Jane Doe"
}
}
Remove a document:
{
"collection": "users",
"key": "123456"
}
List all collections:
{
} // No parameters required
Backup database collections:
{
"outputDir": "./backup" // Specify an absolute output directory path for the backup files (optional)
"collection": "users" // Specify a collection name to backup (optional) If no collection name is provided, all collections will be backed up
"docLimit": 1000 // Specify the maximum number of documents to backup per collection (optional), if not provided, all documents will be backed up (not having a limit might cause timeout for large collections)
}
Create a new collection:
{
"name": "products",
"type": "document", // "document" or "edge" (optional, defaults to "document")
"waitForSync": false // Optional, defaults to false
}
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:
npm run build
-
For development with auto-rebuild:
npm run watch
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. recommended debugging can be done by using MCP Inspector for development:
npm run inspector
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.
伺服器配置
{
"mcpServers": {
"mcp-server-arangodb": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--ravenwits--mcp-server-arangodb--mcp-server-arangodb",
"npm run start"
],
"env": {
"ARANGO_URL": "arango-url",
"ARANGO_DB": "arango-db",
"ARANGO_USERNAME": "arango-username",
"ARANGO_PASSWORD": "arango-password"
}
}
}
}