mcpField
S
SQL MCP Server (TypeScript)

SQL MCP Server (TypeScript)

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

SQL MCP Server (TypeScript) について

SQL MCP Server (TypeScript)は、PostgreSQLを照会するTypeScript製MCPサーバーで、SSHバスティオン経由のAWS RDS接続にも対応します。stdioで読み取り専用のデータベースアクセスを必要とするLLMやMCPクライアント向けです。

主な機能

  1. 01読み取り専用PostgreSQLクエリ
  2. 02SSHバスティオンのトンネル対応
  3. 03STDIO MCPトランスポート
  4. 04環境変数による設定
  5. 05Jestとモックによるテスト

活用シーン

  1. 01SSHバスティオン経由でプライベートPostgreSQLを照会
  2. 02MCPクライアントに読み取り専用PostgreSQLアクセスを提供

MCP 対応

stdinとstdoutを介して、MCP対応クライアントにPostgreSQLのクエリ機能を公開します。プライベートRDSへの接続にはSSHバスティオントンネルを利用できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"sql": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres"
]
}
}
}
起動コマンドnpx -y @modelcontextprotocol/server-postgres

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

パッケージ
npm@modelcontextprotocol/server-postgres

ツール

1

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
sqlstringいいえ

詳細

SQL MCP サーバー(TypeScript)

TypeScript Build License: MIT Platform

このプロジェクトは、言語モデルやその他の MCP 互換クライアントが PostgreSQL データベースにクエリを実行できるようにする、Model Context Protocol(MCP)サーバーの TypeScript 実装を提供します。必要に応じて、SSH 踏み台トンネル経由で接続できます。

柔軟性と安全なデータベースアクセスを重視して開発されており、読み取り専用トランザクションで AWS RDS をサポートします。また、標準入力/標準出力を使用した通信を採用しているため、ローカル環境、コンテナー環境、AI 主導のユースケースに適しています。

機能

  • 🔒 SSH トンネル経由でプライベート RDS インスタンスに安全にアクセスするための SSH 踏み台サポート
  • 🐘 pg ライブラリを使用した PostgreSQL 読み取り専用クエリエンジン
  • 📡 STDIO ベースの MCP プロトコルトランスポート
  • 🧠 memory-bank-mcp-server と互換性があります
  • ⚙️ .env または環境変数で簡単に設定できます
  • 🧪 Jest とモックを使用して完全にテストできます

インストール

リポジトリをクローンして、依存関係をインストールします。

git clone https://github.com/your-org/sql-mcp-server.git
cd sql-mcp-server
npm install
npm run build

Configuration (Optional .env file)

Create a .env file in the project root:

DB_USER=postgres
DB_PASS=yourpassword
DB_HOST=localhost
DB_PORT=5432
DB_NAME=mydatabase
USE_SSH_TUNNEL=true
SSH_BASTION_HOST=bastion.example.com
SSH_BASTION_USER=ec2-user
SSH_PRIVATE_KEY_PATH=~/.ssh/id_rsa

Usage

Run the server using npx:

npx -y @modelcontextprotocol/server-postgres postgresql://<user>:<pass>@localhost:5433/<dbname>

For direct connection without SSH tunneling, set the appropriate environment variables:

DB_HOST=rds-host.amazonaws.com DB_PORT=5432 npx -y @modelcontextprotocol/server-postgres postgresql://<user>:<pass>@rds-host.amazonaws.com/<dbname>

Sample Input

{
  "type": "call_tool",
  "params": {
    "name": "query",
    "arguments": {
      "sql": "SELECT * FROM users LIMIT 10"
    }
  }
}

Sample Output

{
  "content": [
    {
      "type": "text",
      "text": "[{\"id\":1,\"name\":\"Alice\"}]"
    }
  ],
  "isError": false
}



⸻

Related Docs
	•	Architecture
	•	Domain Models
	•	Glossary
	•	Coding Standards
	•	Tech Stack
	•	User Guide

⸻

License

MIT

⸻

Contribution Guide

We welcome community contributions! Please see CONTRIBUTING.md for details.

⸻

Compatibility

This implementation follows the Model Context Protocol (MCP) and has been tested for compatibility with:
	•	memory-bank-mcp-server
	•	Claude Desktop (via STDIO)
	•	Cursor IDE
	•	Supabase + MCP integration

コメント

MCP は初めてですか?

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

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