mcpField
G
Gel Database MCP Server

Gel Database MCP Server

ローカル
github.com/christian561データベース1252 週間前に更新

Gel Database MCP Server について

Gel Database MCP Serverは、Gelのスキーマ確認やEdgeQLクエリ操作をエージェントから行うための、古い非公式TypeScript製MCPサーバーです。READMEでは、より簡単に設定できるGel公式MCPサーバーを案内しています。

主な機能

  1. 01データベーススキーマの確認
  2. 02EdgeQL構文の検証
  3. 03EdgeQLクエリの実行
  4. 04Gelドキュメントの検索
  5. 05TypeScriptクエリの実行

活用シーン

  1. 01エンティティと関係の確認
  2. 02クエリ実行前の構文チェック
  3. 03EdgeQLによるデータの読み書き
  4. 04EdgeQLのドキュメント例の検索

MCP 対応

MCP サーバーとして、スキーマ確認、クエリ検証と実行、ドキュメント検索、TypeScriptクエリのツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"gel": {
"command": "npx",
"args": [
"-y",
"gel"
]
}
}
}
起動コマンドnpx -y gel

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmgel

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Gel Database MCP Server[非公式/旧版]

これは、Gel にセットアップがはるかに簡単な公式 MCP サーバーが登場する前に作成されました。ただし、私が作成した MCP サーバーの例でもあるため、このサーバーも公開したままにしています。 公式版はこちらです:https://github.com/geldata/gel-mcp

EdgeQL クエリを使用した Gel データベースの操作を効率化するために設計された、TypeScript ベースの Model Context Protocol(MCP)サーバーです。このプロジェクトでは、LLM エージェント(Cursor Agent、Claude Code など)がスキーマの学習やデータベースクエリの作成、検証、実行を自動化するためのツールを提供します。自然言語を使って Gel データベースを簡単に操作できます。バイブコーディングを楽しむ皆さんに朗報です!

注:クエリの生成機能は含まれていません。LLM のほうが柔軟なクエリを作成できるためです。Cursor エージェントで Claude-3.7-sonnet-thinking を使用してテストし、関連するウェブページへのリンクで Gel のドキュメントを提供したところ、良好な結果が得られました。

プロジェクトのアーキテクチャ図

クイックスタートガイド

# 1. Install dependencies
yarn install

# 2. Copy your dbschema folder into the project if you have one already 
# cp -r /path/to/your/dbschema ./
# or just copy and paste

# 3. Initialize a Gel project
npx gel project init
# Follow prompts to set up a new project 
# Can point to an existing gel instance by providing the name of your instance
#   -Import migrations if it asks

# 4. Generate EdgeQL JavaScript query builder files
npx @gel/generate edgeql-js
# Note: Re-run this command after any schema changes

# 5. Update connection settings
# Edit src/index_gel.ts lines 19-25 with your database, host, port, user, password
# Edit src/index_gel.ts line 37 with your branch name

# 6. Build the project
yarn build

# 7. (optional) Test the server runs without errors
node build/index.js

# 7.1 (if you have errors) Test server with a UI that provides more clear error logs using: 
npx @modelcontextprotocol/inspector node build/index.js

# 8. (Recommended) Include the gel_llm.txt documentation file
# Download the Gel documentation file and place it in your project root
# This allows both the search tool and direct file access for your LLM agent
# curl -o gel_llm.txt https://raw.githubusercontent.com/yourorg/gel-docs/main/gel_llm.txt
# Note: Replace the URL with the actual source of your gel_llm.txt file

Cursor で MCP サーバーに接続する

  1. 右上の歯車アイコンをクリックし、MCP > +Add a new server を選択します
  2. 任意の名前を付けます
  3. 種類として Command を選択します
  4. 次を入力します:node your/full/path/to/build/index.js

Cursor の MCP 設定画面

注: このサーバーは主に Cursor のエージェントでテストしていますが、Model Context Protocol に対応するほかのエージェントや LLM でも動作するはずです。ほかのエージェントでテストした場合は、ぜひ結果を共有してください!

利用可能なツール

Gel Database MCP Server では、次のツールを利用できます。

describe-schema

このツールを使うと、コードを手動で調べなくても、LLM エージェントがデータベースの構造を学習して理解できます。エージェントは利用可能なエンティティ型、そのプロパティ、リレーションシップ、制約を確認し、より正確なクエリを生成できます。

使用するタイミング: クエリを実行する前に、エージェントがデータベースエンティティの構造を理解する必要がある場合。 image

validate-query

このツールを使うと、LLM エージェントは生の EdgeQL クエリを実行せずに構文を検証できるため、データベースに対してクエリを実行する前に安全に確認できます。

使用するタイミング: 実行による副作用のリスクを避けながら、クエリ開発中に構文を確認する場合。 image

execute-edgeql

このツールを使うと、LLM エージェントは生の EdgeQL クエリを実行してデータを取得し、指示に基づく操作を行うことで、データベースと直接やり取りできます。LLM は EdgeQL クエリを生成し、自律的に実行できます。

例:

SELECT Product { name, price } FILTER .price > 100;

image

search-gel-docs

このツールを使うと、LLM エージェントは Gel のドキュメントを検索し、EdgeQL の構文、機能、使用例に関する関連情報を見つけられます。エージェントが Gel データベースの概念をより理解できるよう、コンテキスト付きの包括的な結果を返します。

使用するタイミング: 特定の Gel/EdgeQL の機能について学習したり、構文を理解したり、データベース操作を実装するための使用例を探したりする必要がある場合。

例:

search_term: "for loop"
context_lines: 10  # Optional: Number of context lines to show (default: 5)
match_all_terms: true  # Optional: Require all terms to match (default: false)

ドキュメントのハイブリッドアプローチに関する注記: 最適な結果を得るには、次の両方をおすすめします。

  1. プロジェクトのルートに gel_llm.txt ファイルを含める(ファイルに直接アクセスするため)
  2. 対象を絞った検索に search-gel-docs ツールを使用する

このハイブリッドアプローチにより、LLM エージェントは特定の用語を検索できると同時に、より広いコンテキストが必要な場合にはドキュメント全体にもアクセスできます。

execute-typescript

execute-edgeql と同様ですが、クエリビルダー構文で作成した TypeScript Gel クエリのテストと実行に使用できます。

手順はツールに含まれていますが、エージェントにどのような手順があるかを尋ね、コンテキストに読み込ませておくことをおすすめします。これにより、手順が見落とされないようにできます。

注:一般的な JavaScript の構文エラーによってサーバーがクラッシュすることがあります。そのため、接続が閉じているように見える場合は、Cursor の MCP 設定でクラッシュしたサーバーを更新するか、サーバーを再起動する必要があります。

LLM に以下のベストプラクティスを伝えてください:

  • 結果を表示するには、await gelClient.query() と console.log を使用します
  • カンマではなく THEN を使って ORDER BY を指定します(例:ORDER BY .field1 THEN .field2)
  • コードはシンプルにし、単一の操作に集中させます

例:

console.log(await gelClient.query(`
  SELECT Product { 
    name, 
    price 
  } 
  FILTER .price > 100 
  ORDER BY .price DESC 
  LIMIT 5;
`));

使用する場面: プログラムによるロジックが必要な複雑なクエリや、JavaScript でクエリ結果を処理する必要がある場合に使用します。

image

詳細情報

Model Context Protocol の詳細については、modelcontextprotocol.io/quickstart をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。