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

ライセンス

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

A
license - permissive license
Not graded
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Implements the Model Context Protocol (MCP) to provide AI models with a standardized interface for connecting to external data sources and tools like file systems, databases, or APIs.
    1
    153
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that provides tools for connecting to and interacting with various database systems (SQLite, PostgreSQL, MySQL/MariaDB, SQL Server) through a unified interface.
    3
  • A
    license
    B
    quality
    C
    maintenance
    Provides sophisticated tools for interacting with PocketBase databases, enabling advanced database operations, schema management, and data manipulation through the Model Context Protocol (MCP).
    24
    15
    148
    MIT
  • F
    license
    C
    quality
    D
    maintenance
    A Model Context Protocol server that provides a standardized interface for interacting with SQL databases through the MCP protocol.
    3
    11
    4

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • BGG MCP provides access to the BoardGameGeek API through the Model Context Protocol, enabling retr…

  • MCP server for managing Prisma Postgres.

View all MCP Connectors

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