mcp-dbs
MCP データベース サーバー
さまざまなデータベース システムに接続して操作するためのモデル コンテキスト プロトコル (MCP) 実装。
サポートされているデータベース
SQLite
PostgreSQL
マイクロソフトSQLサーバー
モンゴDB
Related MCP server: Database MCP Server
インストール
npm install -g mcp-dbs使用法
MCP データベース サーバーは、次の 2 つのモードで使用できます。
SSEモード(デフォルト)
デフォルトでは、サーバーはポート 3001 で SSE (Server-Sent Events) モードで実行されます。
npx mcp-dbsこれによりhttp://localhost:3001/mcpに SSE エンドポイントを持つ HTTP サーバーが起動します。
カスタムポート
--portオプションを使用してカスタム ポートを指定できます。
npx mcp-dbs --port 8080STDIOモード
標準入出力を介して通信するツールの場合は、 --stdioオプションを使用できます。
npx mcp-dbs --stdioクロードデスクトップ統合
Claude 構成ファイルに mcp-dbs を追加することで、Claude Desktop と統合できます。
設定手順
Claude Desktop 構成ファイルを開くか作成します
mcpServersセクションに mcp-dbs 構成を追加します。
{
"mcpServers": {
"mcp-dbs": {
"command": "node",
"args": [
"/path/to/your/mcp-dbs/dist/cli.js",
"--stdio"
],
"env": {
"MCP_MONGODB_URI": "mongodb://localhost:27017",
"MCP_MONGODB_DATABASE": "your-database-name"
}
}
}
}環境変数を独自のデータベース接続の詳細に置き換えます。
注記
commandはnodeargsには、mcp-dbs インストール内の cli.js ファイルへの絶対パスを指定します。データベースの種類に応じて適切な環境変数を設定します(以下の環境変数のセクションを参照)。
サポートされているデータベース(SQLite、PostgreSQL、SQL Server、MongoDB)のいずれかに環境変数を使用できます。
クロードと一緒に使う
設定が完了すると、Claude は以下に説明する MCP ツールを使用してデータベースにアクセスできるようになります。Claude に以下の操作を依頼できます。
データベースに接続する
クエリを実行して結果を取得する
データベーススキーマを調べる
テーブルとデータの操作
ツール
connect-database : データベースに接続する
disconnect-database : データベースから切断する
execute-query : クエリを実行して結果を返す
execute-update : 結果を返さずにクエリを実行する
リソース
database-schema : 完全なデータベーススキーマを取得する
table-schema : 特定のテーブルのスキーマを取得する
tables-list : すべてのテーブルのリストを取得する
環境変数を使用して設定する
環境変数を使用してデータベース接続を構成できます。
SQLite
# Set these environment variables before connecting
export MCP_SQLITE_FILENAME="path/to/database.db"
export MCP_SQLITE_CREATE_IF_NOT_EXISTS="true"PostgreSQL
# Set these environment variables before connecting
export MCP_POSTGRES_HOST="your-postgres-host"
export MCP_POSTGRES_PORT="5432"
export MCP_POSTGRES_DATABASE="your-database-name"
export MCP_POSTGRES_USER="your-username"
export MCP_POSTGRES_PASSWORD="your-password"
export MCP_POSTGRES_SSL="false"SQL サーバー
# Set these environment variables before connecting
export MCP_MSSQL_SERVER="your-server-address"
export MCP_MSSQL_PORT="1433"
export MCP_MSSQL_DATABASE="your-database-name"
export MCP_MSSQL_USER="your-username"
export MCP_MSSQL_PASSWORD="your-password"
export MCP_MSSQL_ENCRYPT="true"
export MCP_MSSQL_TRUST_SERVER_CERTIFICATE="true"モンゴDB
# Set these environment variables before connecting
export MCP_MONGODB_URI="mongodb://localhost:27017"
export MCP_MONGODB_DATABASE="your-database-name"
export MCP_MONGODB_MAX_POOL_SIZE="10"
export MCP_MONGODB_USE_UNIFIED_TOPOLOGY="true"これらの環境変数は、connect-database ツールに渡されるすべての構成よりも優先されます。
MCPツール
サーバーは次の MCP ツールを公開します。
データベース接続
データベースに接続します。
パラメータ:
connectionId: 接続の一意の識別子type: データベースの種類 (sqlite、postgres、mssql、またはmongodb)
SQLite の例:
{
"connectionId": "my-sqlite-db",
"type": "sqlite"
}PostgreSQLの例:
{
"connectionId": "my-postgres-db",
"type": "postgres"
}SQL Server の例:
{
"connectionId": "my-mssql-db",
"type": "mssql"
}MongoDB の例:
{
"connectionId": "my-mongodb-db",
"type": "mongodb"
}データベースを切断する
データベースから切断します。
パラメータ:
connectionId: 切断する接続ID
クエリ実行
結果を返すクエリを実行します。
パラメータ:
connectionId: 接続IDquery: SQLクエリまたはMongoDB集計パイプライン(JSON文字列として)params: (オプション) クエリのパラメータの配列。MongoDBの場合、最初のパラメータはコレクション名です。
SQLの例:
{
"connectionId": "my-postgres-db",
"query": "SELECT * FROM users WHERE age > $1",
"params": [21]
}MongoDB の例:
{
"connectionId": "my-mongodb-db",
"query": "[{\"$match\": {\"age\": {\"$gt\": 21}}}, {\"$sort\": {\"name\": 1}}]",
"params": ["users"]
}MongoDB の例 (埋め込みコレクションを含む新しい形式):
{
"connectionId": "my-mongodb-db",
"query": "{\"collection\": \"users\", \"pipeline\": [{\"$match\": {\"age\": {\"$gt\": 21}}}, {\"$sort\": {\"name\": 1}}]}"
}MongoDB の例 (シェル構文):
{
"connectionId": "my-mongodb-db",
"query": "db.getCollection('users').find({\"age\": {\"$gt\": 21}})"
}MongoDB の例 (直接コレクション参照シェル構文):
{
"connectionId": "my-mongodb-db",
"query": "db.users.find({\"age\": {\"$gt\": 21}})"
}MongoDB の例 (raw コマンド):
{
"connectionId": "my-mongodb-db",
"query": "{\"find\": \"users\", \"filter\": {\"age\": {\"$gt\": 21}}}"
}更新実行
結果を返さないクエリ (INSERT、UPDATE、DELETE) を実行します。
パラメータ:
connectionId: 接続IDquery: SQLクエリまたはMongoDBコマンド(JSON文字列として)params: (オプション) クエリのパラメータの配列。MongoDBの場合、最初のパラメータはコレクション名です。
SQLの例:
{
"connectionId": "my-postgres-db",
"query": "INSERT INTO users (name, age) VALUES ($1, $2)",
"params": ["John Doe", 30]
}MongoDB の例:
{
"connectionId": "my-mongodb-db",
"query": "{\"insertOne\": {\"name\": \"John Doe\", \"age\": 30}}",
"params": ["users"]
}MongoDB の例 (埋め込みコレクションを含む新しい形式):
{
"connectionId": "my-mongodb-db",
"query": "{\"collection\": \"users\", \"operation\": {\"insertOne\": {\"name\": \"John Doe\", \"age\": 30}}}"
}MongoDB の例 (シェル構文):
{
"connectionId": "my-mongodb-db",
"query": "db.getCollection('users').insertOne({\"name\": \"John Doe\", \"age\": 30})"
}MongoDB の例 (直接コレクション参照シェル構文):
{
"connectionId": "my-mongodb-db",
"query": "db.users.insertOne({\"name\": \"John Doe\", \"age\": 30})"
}MongoDB の例 (raw コマンド):
{
"connectionId": "my-mongodb-db",
"query": "{\"insert\": \"users\", \"documents\": [{\"name\": \"John Doe\", \"age\": 30}]}"
}MCPリソース
サーバーは次の MCP リソースを公開します。
データベーススキーマ
URI: database://{connectionId}/schema
すべてのテーブルとその列を含む、データベースに関するスキーマ情報を返します。
テーブルスキーマ
URI: database://{connectionId}/tables/{tableName}
特定のテーブルに関するスキーマ情報(その列を含む)を返します。
テーブルリスト
URI: database://{connectionId}/tables
データベース内のすべてのテーブルのリストを返します。
発達
テスト
テストを実行します。
npm testプロジェクトを支援する
このプロジェクトが役に立つと思ったら、私にコーヒーをご馳走していただけると嬉しいです。
このプロジェクトの開発をサポートするには、上記の QR コードをスキャンするか、ここをクリックしてください。
ライセンス
マサチューセッツ工科大学
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/cuongtl1992/mcp-dbs'
If you have feedback or need assistance with the MCP directory API, please join our Discord server