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で行レベルのセキュリティを実装する
機密性の高いフィールドにデータマスキングを追加することを検討してください
インストールガイド
地域開発
リポジトリをクローンする
git clone https://github.com/yourusername/mcp-server-supabase.git cd mcp-server-supabase依存関係をインストールする
npm install例から
.envファイルを作成するcp .env.example .envSupabaseの認証情報で
.envを編集しますサーバーを起動する
node src/index.js
VSコード統合
VS Codeの
settings.jsonサーバー構成で更新しますVS Codeを再起動する
VS Code MCPパネルでサーバーが実行中であることを確認します
使用例
統合すると、Supabase MCP サーバーをさまざまな方法で使用できるようになります。
スキーマ探索:
What tables do I have in my Supabase database?テーブル情報:
What columns are in the users table?クエリのサポート:
Help me write a query to get all users who signed up in the last 7 days
トラブルシューティング
サーバーが起動しません
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
- -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 -71
- -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.
- -securityFlicense-qualityA Model Context Protocol server that integrates with Supabase, allowing AI assistants to access and manipulate store data through tools for product searching, filtering, and analysis.
- AsecurityAlicenseAqualityAI-powered code assistant that provides advanced search and discovery capabilities across GitHub and NPM ecosystems, helping users understand code patterns, implementations, and connections between repositories.Last updated -10526494TypeScriptMIT License