シンプルなPostgreSQL MCPサーバー
これは、独自のMCPサーバーを構築しようとしている方のためのテンプレートプロジェクトです。非常にシンプルに理解し、適応できるように設計しました。コードは分かりやすく、MCPドキュメントも付属しているので、すぐに使いこなせるようになります。
MCPとは何ですか?
TL;DR - AI用のプラグインを書く方法です
モデルコンテキストプロトコル(MCP)は、LLMが外部ツールやデータとやり取りするための標準的な方法です。簡単に言うと、
- ツールを使用すると、LLM はコマンドを実行できます (データベース クエリの実行など)
- リソースは会話に添付できるデータです(プロンプトにファイルを添付するなど)
- プロンプトは、一貫したLLM指示を生成するテンプレートです。
特徴
この PostgreSQL MCP サーバーは以下を実装します。
- ツール
execute_query
- データベースに対してSQLクエリを実行するtest_connection
- データベース接続が機能していることを確認する
- リソース
db://tables
- スキーマ内のすべてのテーブルのリストdb://tables/{table_name}
- 特定のテーブルのスキーマ情報db://schema
- データベース内のすべてのテーブルの完全なスキーマ情報
- プロンプト
- クエリ生成テンプレート
- 分析クエリビルダー
- このリポジトリのテンプレートに基づいて
前提条件
- Python 3.8以上
- uv - 最新の Python パッケージ マネージャーとインストーラー
- npx (Node.js に含まれています)
- 接続できるPostgreSQLデータベース
クイックセットアップ
- 仮想環境を作成し、依存関係をインストールします。
- MCP Inspector を使用してサーバーを実行します。
このコマンドを実行すると、ブラウザでMCP Inspectorインターフェースが起動します。次のようなメッセージが表示されます。注: npx を初めて実行する場合は、インストールの承認を求めるメッセージが表示されます。「y」と入力して続行してください。
ブラウザが自動的に開かない場合は、URLをコピーしてブラウザに貼り付けてください。次のような画面が表示されます。 - インスペクターの使用:
- インターフェースの「接続」ボタンをクリックします(左下のコンソールにエラーメッセージが表示されていない場合)
- 「ツール」、「リソース」、「プロンプト」タブで利用可能な機能を確認してください。
- リストされているコマンドをクリックするか、リソース名を入力してリソースとプロンプトを取得してください。
- このインターフェースではクエリをテストし、MCPサーバーの応答を確認することができます。
- 公式ドキュメントをご覧ください公式サーバー開発者ガイド: https://modelcontextprotocol.io/quickstart/serverインスペクターの詳細: https://modelcontextprotocol.io/docs/tools/inspector
AIツールをサーバーに接続する
MCP 構成ファイルを作成することで、AI アシスタント用に MCP サーバーを構成できます。
あるいは、付属のスクリプトを使用してこの構成ファイルを生成することもできます。
プロンプトが表示されたら、PostgreSQL DSN とスキーマ名を入力します。
使い方
これで、LLM にデータに関する自然言語での質問ができるようになりました。
- 「データベース内のすべてのテーブルとは何ですか?」
- 「作成日順に上位5人のユーザーを表示」
- 「州別に住所を数える」
テスト用に、Claude Desktop は MCP をネイティブにサポートしており、すぐにすべての機能 (ツール、リソース、プロンプト) を使用できます。
サンプルデータベース(オプション)
データベースの準備ができていない、または接続の問題が発生した場合は、付属のサンプル データベースを使用できます。
このスクリプトは、サンプルのユーザーテーブルとアドレステーブルがあらかじめ設定されたPostgreSQLデータベースを含むDockerコンテナを作成します。実行後、以下のコマンドで接続できます。
次のステップ
このプロジェクトを独自の MCP サーバーで拡張するには:
/src
の下に新しいディレクトリを作成します (例:/src/my-new-mcp
)- PostgreSQLの例に従ってMCPサーバーを実装する
- 新しい MCP を
pyproject.toml
に追加します。
その後、次のコマンドで新しい MCP を実行できます。
ドキュメント
- LLM 開発を容易にする MCP ドキュメントが含まれています
- 次のアプローチに基づいています: https://modelcontextprotocol.io/tutorials/building-mcp-with-llms
安全
これは、開発者が独自のMCPサーバーを作成できるようにするための実験的なプロジェクトです。試用時にすぐに停止しないよう最低限の対策は講じましたが、このツールではSQLインジェクションが非常に簡単に実行できるので、ご注意ください。サーバーはクエリがSELECTで始まっているかどうかを確認しますが、それ以上の保証はありません。要約すると、あなたが創設者であり、かつ有料クライアントがいない限り、本番環境では実行しないでください。
ライセンス
マサチューセッツ工科大学
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.
PostgreSQL データベースへの直接アクセスを可能にし、モデル コンテキスト プロトコルを通じて SQL クエリの実行とスキーマ情報の取得を可能にするカスタム MCP サーバーを構築するためのテンプレート プロジェクト。
Related MCP Servers
- AsecurityAlicenseAqualityA powerful Model Context Protocol (MCP) tool for exploring and managing different types of databases including PostgreSQL, MySQL, and Firestore.Last updated -93TypeScriptMIT License
- -securityFlicense-qualityA server implementing the Model Context Protocol (MCP) for Cursor that allows using a PostgreSQL database as storage for model contexts, enabling secure database exploration and querying.Last updated -JavaScript
- -securityFlicense-qualityA Model Context Protocol server that enables performing PostgreSQL database operations (create, read, update, delete) on User and Post entities through MCP tools.Last updated -TypeScript
- -securityFlicense-qualityA Model Context Protocol server that enables interaction with PostgreSQL databases to list tables, retrieve schemas, and execute read-only SQL queries.Last updated -16,948JavaScript