Skip to main content
Glama
agts86

database-remote-mcp

by agts86

DataBase Remote MCP Server

リモートデータベースへのアクセス機能を Model Context Protocol (MCP) ツールとして公開するサーバーです。HTTPstdio の両トランスポートに対応しています。

概要

  • MCP_TRANSPORT 環境変数でトランスポートを切替

    • 未設定 / http → HTTP サーバーモード(/mcp, /mcp/stream

    • stdio → stdin/stdout MCP プロトコルモード

  • DB_TYPE に応じてランタイムを自動切替

    • sqlserver / postgres / mysql -> RDBMS runtime

    • mongodb -> NoSQL runtime

  • ツールの有効化は環境変数で制御

    • RDBMS: ENABLED_TOOLS

    • NoSQL: ENABLED_NOSQL_TOOLS

Related MCP server: Postgres MCP Server

現在の対応機能

RDBMS ツール

  • read_query

  • write_query

  • export_query

  • list_tables

  • describe_table

  • get_schema

  • create_table

  • alter_table

  • drop_table

  • append_insight

  • list_insights

NoSQL ツール

  • list_collections(MongoDB のコレクション一覧取得)

NoSQL は現在 list_collections のみ実装済みです。

サポートDB

  • SQL Server(mssql

  • PostgreSQL(pg

  • MySQL(mysql2

  • MongoDB(mongodb

システム要件

  • Node.js >= 24

  • pnpm 推奨

起動

pnpm install
pnpm build
pnpm start          # HTTPモード(デフォルト)

stdioモード:

MCP_TRANSPORT=stdio pnpm start

開発モード(HTTP):

pnpm start:dev

MCP クライアント設定例

stdio

Claude Code / Claude Desktop

Claude Code — グローバル登録(全プロジェクトで利用可能):

claude mcp add database-remote-mcp --scope user -e MCP_TRANSPORT=stdio -- \
  node --env-file=/path/to/database-remote-mcp/.env /path/to/database-remote-mcp/dist/main.js

Claude Code — プロジェクトローカル(.mcp.json):

{
  "mcpServers": {
    "database-remote-mcp": {
      "command": "node",
      "args": [
        "--env-file=/path/to/database-remote-mcp/.env",
        "/path/to/database-remote-mcp/dist/main.js"
      ],
      "env": {
        "MCP_TRANSPORT": "stdio"
      }
    }
  }
}

Claude Desktopclaude_desktop_config.json:

{
  "mcpServers": {
    "database-remote-mcp": {
      "command": "node",
      "args": [
        "--env-file=/path/to/database-remote-mcp/.env",
        "/path/to/database-remote-mcp/dist/main.js"
      ],
      "env": {
        "MCP_TRANSPORT": "stdio"
      }
    }
  }
}

Codex

~/.codex/config.toml:

[mcp_servers.database-remote-mcp]
command = "node"
args = [
  "--env-file=/path/to/database-remote-mcp/.env",
  "/path/to/database-remote-mcp/dist/main.js"
]

[mcp_servers.database-remote-mcp.env]
MCP_TRANSPORT = "stdio"

GitHub Copilot(VS Code)

.vscode/mcp.json:

{
  "servers": {
    "database-remote-mcp": {
      "type": "stdio",
      "command": "node",
      "args": [
        "--env-file=/path/to/database-remote-mcp/.env",
        "/path/to/database-remote-mcp/dist/main.js"
      ],
      "env": {
        "MCP_TRANSPORT": "stdio"
      }
    }
  }
}

HTTP

Claude Code / Claude Desktop

Claude Code — グローバル登録:

claude mcp add database-remote-mcp --scope user --transport http \
  http://localhost:3000/mcp/stream

Claude Desktopclaude_desktop_config.json:

{
  "mcpServers": {
    "database-remote-mcp": {
      "type": "http",
      "url": "http://localhost:3000/mcp/stream"
    }
  }
}

Codex

~/.codex/config.toml:

[mcp_servers.database-remote-mcp]
url = "http://localhost:3000/mcp/stream"
enabled = true

GitHub Copilot(VS Code)

.vscode/mcp.json:

{
  "servers": {
    "database-remote-mcp": {
      "type": "http",
      "url": "http://localhost:3000/mcp/stream"
    }
  }
}

環境変数

.env.sample.env にコピーして設定します。

共通

APP_PORT=3000          # HTTPモードのみ使用
ALLOWED_ORIGINS=
DB_TYPE=postgres
MCP_TRANSPORT=         # 未設定またはhttp=HTTPモード / stdio=stdioモード

ツール有効化

ENABLED_TOOLS=
ENABLED_NOSQL_TOOLS=

RDBMS 接続

SERVER=localhost
PORT=5432
DATABASE=postgres
USER=postgres
PASSWORD=
DB_SSL=

DB_TYPEsqlserver / postgres / mysql のときに利用されます。

MongoDB 接続

MONGO_URI=mongodb://localhost:27017
MONGO_DATABASE=admin

MONGO_URI 未設定時は mongodb://SERVER:PORT を使用します。

アーキテクチャ

依存方向: Presentation -> Application -> Domain <- Infrastructure

src/
├── app.module.ts          # HTTPモード用ルートモジュール
├── app-stdio.module.ts    # stdioモード用ルートモジュール(Presentation層なし)
├── presentation/          # HTTPモードのみ使用
│   └── mcp/
│       ├── mcp.controller.ts
│       ├── mcp.controller.module.ts
│       └── sse.interceptor.ts
├── application/
│   └── mcp/
│       ├── mcp.service.ts
│       ├── runtime-resolver.service.ts
│       ├── shared/           # connectStdio() を含む共通実装
│       ├── rdbms/
│       └── nosql/
├── domain/
│   ├── mcp/
│   │   ├── shared/
│   │   ├── rdbms/
│   │   └── nosql/
│   ├── rdbms/
│   └── nosql/
└── infrastructure/
    ├── config/
    ├── rdbms/
    └── nosql/

テスト・品質チェック

pnpm lint
pnpm build
pnpm test
F
license - not found
-
quality - not tested
C
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.

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/agts86/database-remote-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server