MCP Server for ArangoDB

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Provides database interaction capabilities with ArangoDB, implementing core operations like executing AQL queries, inserting/updating/removing documents, creating and listing collections, and backing up data to JSON files.

ArangoDB 用 MCP サーバー

ArangoDB 用のモデルコンテキストプロトコルサーバー

これはTypeScriptベースのMCPサーバーで、ArangoDBを介してデータベースとの連携機能を提供します。コアとなるデータベース操作を実装し、MCPツールを介してArangoDBとのシームレスな統合を可能にします。Claudeアプリや、ClineなどのMCPと連携するVSCode拡張機能でも使用できます。

特徴

ツール

  • arango_query - AQLクエリを実行する
    • 必須パラメータとしてAQLクエリ文字列を受け取ります
    • オプションでパラメータ化されたクエリのバインド変数を受け入れる
    • クエリ結果をJSONとして返します
  • arango_insert - コレクションにドキュメントを挿入する
    • コレクション名とドキュメントオブジェクトを必須パラメータとして受け取ります
    • 提供されていない場合はドキュメントキーを自動的に生成します
    • 作成されたドキュメントのメタデータを返します
  • arango_update - 既存のドキュメントを更新する
    • コレクション名、ドキュメントキー、更新オブジェクトを必須パラメータとして受け取ります
    • 更新されたドキュメントのメタデータを返します
  • arango_remove - コレクションからドキュメントを削除する
    • コレクション名とドキュメントキーを必須パラメータとして受け取ります
    • 削除されたドキュメントのメタデータを返します
  • arango_backup - すべてのコレクションをJSONファイルにバックアップします
    • 出力ディレクトリのパスを必須パラメータとして受け取ります
    • 現在のデータを含む各コレクションのJSONファイルを作成します
    • データのバックアップや移行に役立ちます
  • arango_list_collections - データベース内のすべてのコレクションを一覧表示する
    • 名前、ID、タイプを含むコレクション情報の配列を返します
  • arango_create_collection - データベースに新しいコレクションを作成する
    • コレクション名を必須パラメータとして受け取ります
    • オプションでコレクションタイプ(ドキュメントまたはエッジコレクション)を指定します
    • 書き込み操作の waitForSync 動作を構成する
    • 名前、タイプ、ステータスなどのコレクション情報を返します

データベース構造

サーバーはデータベース構造に依存せず、ArangoDB のドキュメントおよびエッジ コレクション モデルに従っている限り、任意のコレクション名または構造で動作します。

発達

依存関係をインストールします:

npm run build

自動リビルドを使用した開発の場合:

npm run watch

インストール

Smithery経由でインストール

Smithery経由で Claude Desktop 用の ArangoDB を自動的にインストールするには:

npx -y @smithery/cli install @ravenwits/mcp-server-arangodb --client claude

Claude Desktop で使用するには、サーバー設定を追加します。

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json

Cline VSCode 拡張機能で使用するには、サーバー構成を追加します。

  • MacOS: ~/Library/Application Support/Code/User/globalStorage/cline.cline/config.json
  • Windows: %APPDATA%/Code/User/globalStorage/cline.cline/config.json

mcpServersセクションに次の構成を追加します。

{ "mcpServers": { "arango": { "command": "node", "args": ["/path/to/arango-server/build/index.js"], "env": { "ARANGO_URL": "your_database_url", "ARANGO_DATABASE": "your_database_name", "ARANGO_USERNAME": "your_username", "ARANGO_PASSWORD": "your_password" } } } }

環境変数

サーバーには次の環境変数が必要です。

  • ARANGO_URL - ArangoDB サーバーの URL (注: 8529 はローカル開発用の ArangoDB のデフォルト ポートです)
  • ARANGO_DATABASE - データベース名
  • ARANGO_USERNAME - データベースユーザー
  • ARANGO_PASSWORD - データベースパスワード

使用例

意味のあるプロンプトであれば何でも提供でき、Claude は適切な機能を実行しようとします。

いくつかの例のプロンプト:

  • 「データベース内のすべてのコレクションを一覧表示する」
  • 「すべてのユーザーを照会する」
  • 「「John Doe」という名前の新しいドキュメントを挿入し、「 john@example.com 」を「users」コレクションにメールで送信します」
  • 「キー「123456」または名前「Jane Doe」でドキュメントを更新して、年齢を48歳に変更します」
  • 「「products」という名前の新しいコレクションを作成します」

Claudeアプリでの使用

Cline VSCode拡張機能を使用する

すべてのユーザーを照会:

{ "query": "FOR user IN users RETURN user" }

新しいドキュメントを挿入します:

{ "collection": "users", "document": { "name": "John Doe", "email": "john@example.com" } }

ドキュメントを更新します。

{ "collection": "users", "key": "123456", "update": { "name": "Jane Doe" } }

ドキュメントを削除します。

{ "collection": "users", "key": "123456" }

すべてのコレクションを一覧表示します:

{} // No parameters required

バックアップ データベース コレクション:

{ "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) }

新しいコレクションを作成します。

{ "name": "products", "type": 2, // 2 for document collection, 3 for edge collection (optional, defaults to document collection) "waitForSync": false // Optional, defaults to false }

デバッグ

MCPサーバーはstdio経由で通信するため、デバッグが困難になる場合があります。開発にはMCP Inspectorの使用をお勧めします。

npm run inspector

インスペクターは、ブラウザでデバッグ ツールにアクセスするための URL を提供します。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

モデル コンテキスト プロトコルを使用して ArangoDB と対話する TypeScript ベースのサーバー。データベース操作を可能にし、Claude や VSCode 拡張機能などのツールとの統合により、データ管理を合理化します。

  1. Features
    1. Tools
  2. Database Structure
    1. Development
      1. Installation
        1. Installing via Smithery
        2. Environment Variables
        3. Usage Examples
        4. Debugging
      2. License
        ID: soeqalh2v9