ゲルデータベースMCPサーバー
TypeScriptベースのモデルコンテキストプロトコル(MCP)サーバーは、EdgeQLクエリによるGelデータベース操作を効率化するために設計されています。このプロジェクトは、LLMエージェント(Cursor Agent、Claude Codeなど)向けのツールを提供し、スキーマの学習、データベースクエリの作成、検証、実行を自動化します。自然言語でGelデータベースを簡単に操作できます。Vibeコーダーの皆様、お待たせしました!
注: LLMはより柔軟なクエリを記述できるため、クエリ生成は含まれていません。Claude-3.7-sonnet-thinkingを使用したカーソルエージェントでこれをテストし、関連ウェブページへのリンクを含むGelドキュメントを提供した後、良好な結果が得られました。

クイックスタートガイド
カーソルでMCPサーバーに接続
右上の歯車アイコンをクリック > MCP > +新しいサーバーを追加
好きな名前を付けてください
タイプを選択: コマンド
これを入力します: node your/full/path/to/build/index.js

**注:**このサーバーは主にCursorのエージェントでテストされていますが、モデルコンテキストプロトコルをサポートする他のエージェントやLLMでも動作するはずです。他のエージェントでテストした場合は、ぜひ結果をお寄せください。
Related MCP server: MCP Docs RAG Server
利用可能なツール
Gel データベース MCP サーバーは次のツールを提供します。
スキーマの記述
これにより、LLMエージェントは手動でコードを検査することなく、データベース構造を学習・理解できるようになります。エージェントは利用可能なエンティティタイプ、そのプロパティ、リレーションシップ、制約を検出し、より正確なクエリを生成できます。
**使用する場合:**エージェントがクエリを実行する前にデータベース エンティティの構造を理解する必要があるとき。
検証クエリ
これにより、LLM エージェントは生の EdgeQL クエリ構文を実行せずに検証できるため、生成されたクエリをデータベースに対して実行する前に安全に検証できます。
**使用する場合:**クエリの開発中に、実行による副作用のリスクなしに構文をチェックします。
実行エッジQL
これにより、LLMエージェントはEdgeQLクエリの実行、データの取得、そしてユーザーの指示に基づいた操作の実行を通じて、データベースと直接やり取りできるようになります。LLMはEdgeQLクエリを生成し、自律的に実行することができます。
例:
ゲルドキュメントを検索
このツールにより、LLMエージェントはGelドキュメントを検索し、EdgeQLの構文、機能、例などに関する関連情報を見つけることができます。また、Gelデータベースの概念をより深く理解できるよう、コンテキストを含む包括的な結果を返します。
**使用する場合:**エージェントが特定の Gel/EdgeQL 機能について学習したり、構文を理解したり、データベース操作を実装するための例を見つけたりする必要がある場合。
例:
**ドキュメントのハイブリッド アプローチに関する注意:**最適な結果を得るには、次の両方をお勧めします。
gel_llm.txtファイルをプロジェクトルートに含める(直接ファイルにアクセスするために)対象を絞ったクエリにsearch-gel-docsツールを使用する
このハイブリッド アプローチにより、LLM エージェントは特定の用語を柔軟に検索できると同時に、より広範なコンテキストが必要な場合には完全なドキュメントにアクセスできるようになります。
TypeScript を実行する
execute-edgeql に似ていますが、クエリ ビルダー構文で作成された Typescript Gel クエリのテストと実行に使用できます。
ツールには指示が含まれていますが、エージェントにどのような指示があるのかを尋ねて、状況に応じて読み込んでもらうことをお勧めします。こうすることで、指示が飛ばされることがなくなります。
注意: 一般的な JavaScript 構文エラーによってサーバーがクラッシュする可能性があるため、接続が閉じられているように見える場合は、カーソル MCP 設定でクラッシュしたサーバーを更新するか、サーバーを再起動する必要があります。
LLM に次のベストプラクティスを伝えます。
結果を表示するには、console.log で
await gelClient.query()を使用します。ORDER BY はカンマではなく THEN と一緒に使用します (例: ORDER BY .field1 THEN .field2)
コードをシンプルに保ち、単一の操作に集中する
例:
**使用する場合:**プログラムによるロジックを必要とする複雑なクエリの場合、または JavaScript を使用してクエリ結果を処理する必要がある場合。
もっと詳しく知る
モデル コンテキスト プロトコルの詳細については、 modelcontextprotocol.io/quickstartをご覧ください。