Repolode
dosco

dosco/graphjin

データベース、ファイル、コードをGraphQLとMCP経由でAIエージェントに公開するGo製コンパイラ兼ランタイム。アクセスを制御し、実行経路を監査できます。

スター
3,234
フォーク
206
未解決の Issue
18
最終コミット
11 時間前

これは何?

GraphJinはGraphQLクエリをPostgreSQL、MySQL、MongoDB、SQLite、Oracle、MSSQLなどのデータベース向けにSQLへコンパイルし、REST、リアルタイムサブスクリプション、Apollo Federationのサブグラフも提供します。テーブル間のリレーションはたどれるJOINとして扱われるため、1つのGraphQLリクエストが、resolverやORMなしで最適化された単一のクエリになります。

AIエージェント向けには、スキーマの確認、フィルターの検証、承認済みの保存クエリの実行をモデルに許可するMCPインターフェースを提供し、生のデータベース認証情報を渡さずに済みます。また、tree-sitterでソースコードをインデックス化してSQLiteキャッシュ(CodeSQL)に保存し、S3、GCS、ローカルファイルなどのオブジェクトストアをテーブルとして公開します。さらに、サーバーサイドのエージェント用エンドポイントと、サブスクリプションを再実行して変更をinboxに記録するwatch機能も備えています。

単一バイナリとして提供され、npm、Homebrew、Scoop、Docker、deb/rpmパッケージからインストールできます。ローカルで試せる組み込みデモとWebコンソールも含まれています。

主な機能

  • 01多数のデータベースに対し、GraphQLクエリを最適化された単一のSQL文にコンパイルします。
  • 02データベース、オブジェクトストア、ソースコードを、共通のGraphQLおよびMCPインターフェースから利用できます。
  • 03スキーマの確認、フィルターの検証、承認済みクエリの実行に使えるMCPツールを提供します。
  • 04WebSocketsとServer-Sent Eventsによるリアルタイムサブスクリプションに対応します。
  • 05tree-sitterでソースツリーをインデックス化し、データとあわせてコードをクエリできます。
  • 06サーバーサイドのエージェント用エンドポイントと、結果をinboxまたはwebhookに送るwatch機能を提供します。

ユースケース

  • 生の認証情報を共有せずに、AIアシスタントへ本番データベースの読み取りアクセスを与える。
  • resolverを書かずに、既存のSQLデータベース上にGraphQL APIを構築する。
  • オブジェクトストア内のファイルを、GraphQLまたはRESTからデータベースのテーブルのようにクエリする。
  • データベースのテーブルと、それらを利用するソースコードを関連付けた質問に答える。

クイックスタート

  1. 1

    npm で GraphJin をインストールする

    npm install -g graphjin
  2. 2

    組み込みのデモアプリを起動する

    graphjin serve --demo

使う前に知っておきたいこと

  • 組み込みの AI エージェントを利用するには、OpenAI、Anthropic、または Google のモデル API キーが必要です。
  • デモとサンプルは SQLite と Docker ベースの環境で動作します。そのため、独自のデータベースに接続するには、アプリを作成して設定する必要があります。

収録されている特集

トピック

よくある質問

graphjin とは?
データベース、ファイル、コードをGraphQLとMCP経由でAIエージェントに公開するGo製コンパイラ兼ランタイム。アクセスを制御し、実行経路を監査できます。 GraphJinはGraphQLクエリをPostgreSQL、MySQL、MongoDB、SQLite、Oracle、MSSQLなどのデータベース向けにSQLへコンパイルし、REST、リアルタイムサブスクリプション、Apollo Federationのサブグラフも提供します。テーブル間のリレーションはたどれるJOINとして扱われるため、1つのGraphQLリクエストが、resolverやORMなしで最適化された単一のクエリになります。
graphjin は無料で使えますか?ライセンスは?
graphjin は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
graphjin は今もメンテナンスされていますか?
活発にメンテナンス中。graphjin の最終コミットは 2026年11月6日 です。
graphjin は何に使えますか?
生の認証情報を共有せずに、AIアシスタントへ本番データベースの読み取りアクセスを与える。 resolverを書かずに、既存のSQLデータベース上にGraphQL APIを構築する。 オブジェクトストア内のファイルを、GraphQLまたはRESTからデータベースのテーブルのようにクエリする。 データベースのテーブルと、それらを利用するソースコードを関連付けた質問に答える。
graphjin のインストール方法は?
npm で GraphJin をインストールする: npm install -g graphjin 組み込みのデモアプリを起動する: graphjin serve --demo
graphjin はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/dosco/graphjin

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト