Supabase MCP サーバー実装計画
このドキュメントでは、Supabase に接続し、GitHub Copilot などの AI アシスタントが Supabase データベースと対話できるようにする Model Context Protocol (MCP) サーバーを作成する計画の概要を説明します。
目次
概要
Supabase MCPサーバーは、AIアシスタント(GitHub Copilotなど)とSupabaseデータベース間のブリッジとして機能します。これにより、AIは以下のことが可能になります。
- データベーススキーマを理解する
- テーブルと関係について知る
- クエリ作成の支援
- データモデルに関連するコンテキストに応じた提案を提供する
前提条件
- Node.js 18以上がインストールされている
- npm または yarn パッケージマネージャー
- 管理者APIキーを使用したSupabaseプロジェクト
- Copilot/MCP サポート付き VS Code
- ギット
実装手順
1. サーバーパッケージを作成する
2. 依存関係をインストールする
3. 基本的なサーバー構造
次のファイルを作成します。
src/index.js
- メインエントリポイントsrc/supabase-client.js
- Supabase 接続処理src/schema-provider.js
- データベーススキーマの抽出src/query-handler.js
- 安全なクエリ実行.env.example
- 環境変数テンプレートconfig.js
- 構成管理
4. サーバー実装の詳細
src/index.js
このファイルは MCP サーバーを初期化し、コンポーネントを接続します。
src/supabase-client.js
src/スキーマプロバイダー.js
src/クエリハンドラ.js
config.js
.env.example
5. Supabaseデータベース関数
Supabase で次のストアド プロシージャを作成する必要があります。
get_schema_information()
- データベーススキーマを返すget_table_information(table_name TEXT)
- 特定のテーブルに関する情報を返しますexecute_query(query_string TEXT, query_params JSONB)
- クエリを安全に実行します
サーバーアーキテクチャ
構成
Supabase MCP サーバーを VS Code のsettings.json
に追加します。
セキュリティに関する考慮事項
- APIキー管理:
- 必要最小限の権限を持つスコープ付き API キーを使用する
- APIキーを安全に保存し、バージョン管理にコミットしないでください
- キーローテーション戦略の使用を検討する
- クエリの制限:
- 安全のため、SELECTのみをデフォルトとする
- クエリ許可リストアプローチの実装を検討する
- 不正使用を防ぐためにレート制限を追加する
- データ保護:
- 個人情報や機密データの公開を避ける
- Supabaseで行レベルのセキュリティを実装する
- 機密性の高いフィールドにデータマスキングを追加することを検討してください
インストールガイド
地域開発
- リポジトリをクローンする
- 依存関係をインストールする
- 例から
.env
ファイルを作成する - Supabaseの認証情報で
.env
を編集します - サーバーを起動する
VSコード統合
- VS Codeの
settings.json
サーバー構成で更新します - VS Codeを再起動する
- VS Code MCPパネルでサーバーが実行中であることを確認します
使用例
統合すると、Supabase MCP サーバーをさまざまな方法で使用できるようになります。
- スキーマ探索:
- テーブル情報:
- クエリのサポート:
トラブルシューティング
サーバーが起動しません
- Node.jsのバージョンを確認してください(18歳以上である必要があります)
- Supabaseの資格情報を確認する
- ターミナルでエラーログを確認する
スキーマが読み込まれません
- Supabaseサービスキーに必要な権限があることを確認してください
- データベース関数が適切に作成されていることを確認する
VS Codeに接続できません
- settings.json のサーバーパスが正しいことを確認してください
- 構成変更後にVS Codeを再起動します
- サーバープロセスが実行中であることを確認する
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
GitHub Copilot などの AI アシスタントと Supabase データベース間のブリッジ。AI がスキーマを理解し、クエリの作成を支援し、データ モデルに関連するコンテキストに応じた提案を提供できるようになります。
Related MCP Servers
- AsecurityAlicenseAqualityAllows AI assistants to list tables, read data, and execute SQL queries through a controlled interface, making database exploration and analysis safer and more structured.Last updated -1556PythonMIT License
- -securityFlicense-qualityEnables AI assistants to interact with Metabase databases and dashboards, allowing users to list and execute queries, access data visualizations, and interact with database resources through natural language.Last updated -25JavaScript
- -securityFlicense-qualityEnables AI assistants to interact with Metabase, providing access to dashboards, questions, databases, and tools for executing queries and viewing data through natural language.Last updated -JavaScript
- -securityFlicense-qualityA Model Context Protocol server that enables querying feature suggestions from a Supabase database, allowing AI tools like Cursor and Claude to access and display feature request data.Last updated -TypeScript