Skip to main content
Glama

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 8080

STDIOモード

標準入出力を介して通信するツールの場合は、 --stdioオプションを使用できます。

npx mcp-dbs --stdio

クロードデスクトップ統合

Claude 構成ファイルに mcp-dbs を追加することで、Claude Desktop と統合できます。

設定手順

  1. Claude Desktop 構成ファイルを開くか作成します

  2. 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"
      }
    }
  }
}

環境変数を独自のデータベース接続の詳細に置き換えます。

注記

  • commandnode

  • argsには、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 : データベースの種類 ( sqlitepostgresmssql 、または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 : 接続ID

  • query : 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 : 接続ID

  • query : 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 コードをスキャンするか、ここをクリックしてください

ライセンス

マサチューセッツ工科大学

-
security - not tested
A
license - permissive license
-
quality - not tested

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