Dgraph MCP Server について
Dgraph MCP Serverは、MCP対応のLLMアプリケーションとDgraphグラフデータベースを接続します。DQLクエリ、ミューテーション、スキーマ変更のツールに加え、現在のスキーマを取得するリソースを提供します。
主な機能
- 01変数を使ったDQLクエリの実行
- 02RDFミューテーションの適用
- 03データベーススキーマの変更
- 04現在のスキーマの取得
活用シーン
- 01MCPアプリケーションからグラフデータを検索
- 02Dgraphレコードの追加や更新
- 03データベーススキーマの変更や確認
MCP 対応
標準入出力を介して、Dgraphのクエリ、ミューテーション、スキーマ変更ツールと`dgraph://schema`リソースをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Dgraph MCP サーバー
mcp-go ライブラリを使用して構築された、Dgraph グラフデータベース用の Model Context Protocol(MCP)サーバー実装です。
概要
このプロジェクトは、LLM アプリケーションが Dgraph データベースとやり取りできるようにする MCP サーバーを実装しています。次のツールを提供します。
- DQL クエリの実行
- ミューテーションの実行
- スキーマの変更
- 現在のスキーマの取得
前提条件
- Go 1.18 以降
- Dgraph データベース(ローカルまたはリモートで実行中)
インストール
- このリポジトリをクローンします
- 依存関係をインストールします。
go mod download
設定
サーバーは環境変数を使用して設定できます。
DGRAPH_HOST:Dgraph のホストアドレス(デフォルト:localhost:9080)
使用方法
サーバーの実行
go run main.go
サーバーは LLM アプリケーションとの通信に標準入力/出力を使用します。
利用可能なツール
1. dgraph_query
Dgraph に対して DQL クエリを実行します。
パラメーター:
query(文字列、必須):実行する DQL クエリvariables(オブジェクト、任意):クエリ用の変数
例:
{
"tool": "dgraph_query",
"params": {
"query": "{ me(func: has(name)) { name } }"
}
}
2. dgraph_mutate
Dgraph に対してミューテーションを実行します。
パラメーター:
mutation(文字列、必須):実行する RDF ミューテーションcommit(ブール値、任意):トランザクションをコミットするかどうか(デフォルト:true)
例:
{
"tool": "dgraph_mutate",
"params": {
"mutation": "_:person <name> \"John Doe\" .",
"commit": true
}
}
3. dgraph_alter_schema
Dgraph のスキーマを変更します。
パラメーター:
schema(文字列、必須):適用するスキーマ定義
例:
{
"tool": "dgraph_alter_schema",
"params": {
"schema": "name: string @index(exact) ."
}
}
利用可能なリソース
1. dgraph://schema
現在の Dgraph スキーマを返します。
LLM アプリケーションとの統合
このサーバーは、Model Context Protocol(MCP)をサポートするあらゆる LLM アプリケーションと統合できます。サーバーは標準入力/出力を介して通信するため、さまざまな LLM フレームワークと簡単に統合できます。
クエリの例
基本的なクエリ
{
people(func: has(name)) {
name
age
friends {
name
}
}
}
データの追加
_:alice <name> "Alice" .
_:alice <age> "30" .
_:bob <name> "Bob" .
_:bob <age> "32" .
_:alice <friend> _:bob .
スキーマ定義
name: string @index(exact) .
age: int .
friend: [uid] .
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。