ArangoDB MCP Server について
ArangoDB MCP Server は MCP クライアントを ArangoDB に接続し、データベースやコレクションの一覧取得と AQL の実行を提供します。読み取り専用と読み書き可能なクエリを使い分けられます。
主な機能
- 01読み取り専用 AQL クエリの実行
- 02読み書き可能な AQL クエリの実行
- 03データベース一覧の取得
- 04データベース内のコレクション一覧取得
活用シーン
- 01データを変更せずにクエリ結果を確認
- 02データを変更する AQL クエリの実行
- 03ArangoDB サーバー内のデータベース確認
- 04指定したデータベース内のコレクション検索
MCP 対応
MCP ツールを通じて ArangoDB クエリを実行し、データベースとコレクションを一覧表示します。データベース、コレクション、ID を指定してドキュメントを読むリソーステンプレートも記載されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ArangoDB MCP サーバー
これは ArangoDB 用の Model Context Protocol の実装です。
概要
未記入です。
コンポーネント
リソース
ツール
クエリツール
readQuery- データベースに対して読み取り専用クエリを実行します
- 入力:
databaseName(文字列):クエリ対象のデータベースaql(文字列):実行する読み取り専用の AQL クエリ
- 戻り値:オブジェクトの配列としてのクエリ結果
readWriteQuery- データベースに対してクエリを実行します
- 入力:
databaseName(文字列):クエリ対象のデータベースaql(文字列):実行する AQL クエリ
- 戻り値:オブジェクトの配列としてのクエリ結果
listDatabases- ArangoDB サーバー上のすべてのデータベースを一覧表示します
- 戻り値:データベース名の配列
listCollections- ArangoDB データベース内のすべてのコレクションを一覧表示します
- 入力:
databaseName(文字列):データベース名
- 戻り値:
{ "name": "<collectionName>" }形式のオブジェクトの配列
使用方法
localhost:2434 で実行中の ArangoDB インスタンスの「account」データベースに接続するには、このプロジェクトのパスが /home/yourcoolname/arango-mcp-server であるとして、claude_desktop_config.json に以下を追加します。
{
"mcpServers": {
"arangodb-account": {
"command": "npx",
"args": [
"-y",
"arango-mcp-server",
"http://localhost:8529",
"root",
"root"
]
}
}
}
開発
リポジトリをクローンします。 すべてをインストールします。 開発環境をセットアップします。 ウォッチャーを実行します。 index.ts を編集します。
$ npm install
$ npm run dev:setup
$ npm run dev
http://localhost:5173/ にアクセスすると、インスペクターを確認できます。
TODO
- 現在のリソースの実装が実際に妥当かどうか、仕様をきちんと調べます(妥当ではないと思います)
- リソーステンプレートは妥当です
- すべての「arango」を「arangodb」に変更します(リポジトリ名も含む……)
- ArangoDB のパスワードを再び追加します
- 適切な README
- 公式の anthropic のものに沿った形式でツール/リソースなどを記載します
- 通知について確認します
- ヘルスチェック
- ツールを追加する?
- ArangoDB インスタンスで実行中のすべてのデータベースにアクセスします
-
npxで使えるように、なんとかして npm でリリースします -
resources/subscribe、notifications/resources/list_changed、resources/unsubscribe - readme でツールを適切にドキュメント化します
- SQLite MCP クライアントのようにします
-
write_queryツールをread_queryと分離します → 実際にはreadWriteQueryです -
list_collections(list_tablesを参照)
-
- クライアントプール、つまりデータベースごとに 1 つのクライアント
- 開発環境
- データベース名、コレクション、ID を指定して任意のドキュメントを読み取るテンプレートを備えた
resources/read - コマンドのパラメーターとしてユーザー名とパスワードを追加します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。