Data Nexus MCP
Data Nexus MCP
モジュール式でセキュアなプラットフォーム。REST API、MCP(Model Context Protocol)、Vue.js Web UI を介して SQL および NoSQL データベースに接続します。
アーキテクチャ
┌─────────────┐ ┌──────────────┐ ┌─────────────────┐
│ Web UI │────▶│ REST API │────▶│ core-db-command │
│ (Vue.js) │ │ (FastAPI) │ │ (Python lib) │
└─────────────┘ └──────┬───────┘ └────────┬────────┘
│ │
┌──────▼───────┐ │
│ MCP Server │───────────────┘
└──────┬───────┘
│
┌──────▼───────┐
│ MCP Client │──▶ AI Agents / LLMs
└──────────────┘モジュール
モジュール | パッケージ | 説明 |
core-db-command |
| すべてのデータベースドライバ向けのプラグインベースの Python ライブラリ |
rest-api-command |
| OAuth2/LDAP/基本認証を備えた FastAPI REST レイヤー |
mcp-server |
| MCP ツール: |
mcp-client |
| エージェント統合のための MCP クライアントブリッジ |
web-ui |
| Vue 3 + Pinia + Monaco Editor クエリスタジオ |
config |
|
|
Related MCP server: Database MCP Server
サポートされているデータベースタイプ
ドライバレジストリは 13 カテゴリ、50 以上のデータベースタイプ をサポートしています:
リレーショナル: PostgreSQL, MySQL, MSSQL, Oracle, CockroachDB, TiDB, YugabyteDB, TimescaleDB, pgvector
ドキュメント: MongoDB, DocumentDB, Firestore, Couchbase (スタブ)
キー・バリュー: Redis, DynamoDB, Memcached/etcd/RocksDB (スタブ)
ワイドカラム: Cassandra, ScyllaDB, Bigtable/HBase (スタブ)
グラフ: Neo4j, Neptune/JanusGraph/ArangoDB (スタブ)
時系列: InfluxDB, ClickHouse, Prometheus/QuestDB (スタブ)
ベクトル: Qdrant, Weaviate, Milvus, Pinecone
検索: Elasticsearch, OpenSearch, Splunk/Solr (スタブ)
ウェアハウス: BigQuery, Snowflake, Redshift/Databricks (スタブ)
マルチモデル: Cosmos DB, OrientDB (スタブ)
組み込み: SQLite, DuckDB, Realm/LMDB (スタブ)
台帳: QLDB/BigchainDB (スタブ)
NewSQL: Spanner (スタブ)
完全実装されたドライバには、PostgreSQL、MySQL、MSSQL、Oracle、MongoDB、Redis、SQLite、DuckDB、Elasticsearch、ClickHouse、Neo4j、InfluxDB、Cassandra、DynamoDB、BigQuery、Snowflake、Qdrant、Weaviate、Milvus、Pinecone、Cosmos DB、Firestore が含まれます。スタブドライバは登録されており、拡張可能です。
クイックスタート
前提条件
Python 3.11+
Node.js 20+(Web UI 開発用)
Docker & Docker Compose(オプション)
1. Python 依存関係のインストール
cp .env.example .env
pip install -e ".[dev]"2. 接続の設定
config/connections.yaml を編集し、環境変数でシークレットを設定します:
connections:
- name: postgres_prod
type: postgresql
host: localhost
port: 5432
database: mydb
user: readonly_user
password: ${PG_PASSWORD}3. REST API の起動
db-rest-api
# or: uvicorn rest_api_command.app:app --reloadAPI ドキュメント: http://localhost:8000/docs
4. Web UI の起動(開発)
cd web-ui
cp .env.example .env
npm install
npm run devhttp://localhost:5173 を開く — デフォルトの認証情報: admin / changeme
5. Docker Compose で実行
docker compose up -dサービス:
REST API: http://localhost:8000
Web UI: http://localhost:5173
PostgreSQL, MySQL, MongoDB, Redis, Elasticsearch
REST API エンドポイント
メソッド | パス | 説明 |
GET |
| 接続一覧(認証情報なし) |
POST |
| パラメータ化クエリ |
POST |
| 生 SQL / ネイティブコマンド |
GET |
| データベーススキーマ |
GET |
| テーブル/コレクション一覧 |
GET |
| テーブル構造 |
GET/POST |
| クエリ履歴 |
MCP サーバー
.env または Cursor MCP env で設定:
MCP_REST_API_URL=http://localhost:8000
# Option A: bearer token (when REST_API_AUTH_MODE=oauth2)
MCP_REST_API_TOKEN=<jwt-from-/api/auth/token>
# Option B: username/password (works with basic auth; auto-fetches JWT if oauth2)
MCP_REST_API_USER=admin
MCP_REST_API_PASSWORD=changeme実行:
db-mcp-serverCursor/Claude MCP 設定に追加:
{
"mcpServers": {
"data-nexus-mcp": {
"command": "db-mcp-server",
"cwd": "/path/to/data_nexus_mcp",
"env": {
"MCP_REST_API_URL": "http://localhost:8000",
"MCP_REST_API_USER": "admin",
"MCP_REST_API_PASSWORD": "changeme"
}
}
}
}注: REST_API_* 変数は REST API プロセス(db-rest-api)に属し、MCP サーバー設定には含めません。
MCP クライアント
db-mcp-client # list available tools
db-mcp-client query local_sqlite "SELECT 1"認証
REST_API_AUTH_MODE を次のいずれかに設定:
basic— HTTP 基本認証(開発時のデフォルト)oauth2—/api/auth/token経由の JWT ベアラートークンldap— LDAP バインド(REST_API_LDAP_SERVERとREST_API_LDAP_BASE_DNが必要)
新しいドライバの追加
core_db_command/drivers/mydb.pyを作成BaseDriverをサブクラス化し、driver_typeを設定@DriverRegistry.registerでデコレートcore_db_command/drivers/registry_loader.pyでインポート
from core_db_command.base import BaseDriver, DriverRegistry
@DriverRegistry.register
class MyDBDriver(BaseDriver):
driver_type = "mydb"
async def connect(self): ...
async def disconnect(self): ...
async def query(self, query, params=None): ...
async def execute(self, command, params=None): ...
async def list_tables(self, schema=None): ...
async def describe_table(self, table, schema=None): ...テスト
pytest tests/ -vセキュリティに関する注意
認証情報は REST API や MCP サーバーによって 決して返されません
シークレットは YAML 設定で
${ENV_VAR}プレースホルダーを使用する必要がありますすべての API エンドポイントは認証を必要とします
クエリ入力は検証され、長さ制限があります
プロジェクト構造
data-nexus-mcp/
├── core_db_command/ # Core library + drivers
├── rest_api_command/ # FastAPI REST API
├── mcp_server/ # MCP server
├── mcp_client/ # MCP client
├── web-ui/ # Vue.js frontend
├── config/ # YAML connection config
├── tests/ # Unit tests
├── docker-compose.yml
├── Dockerfile
└── pyproject.tomlライセンス
MIT
Maintenance
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
- Flicense-qualityCmaintenanceEnables LLMs and agents to interact with relational databases (SQL Server, MySQL, PostgreSQL) through MCP tools. Supports executing queries, inserting records, listing tables, and exposing database schemas with secure credential management.
- Alicense-qualityDmaintenanceProvides universal database operations for AI assistants through MCP, supporting 40+ databases including PostgreSQL, MySQL, MongoDB, Redis, and SQLite with built-in introspection tools for schema exploration.29MIT
- Alicense-qualityCmaintenanceEnables AI agents to query live schema, lineage, and query-context across data warehouses, dbt projects, orchestration systems, and BI tools via MCP tools.Apache 2.0
- AlicenseAqualityCmaintenanceGive your AI agent safe, plain-English access to any database via MCP. Ask questions in natural language, get SQL queries and results, run read-only queries, and set up scheduled alerts.960MIT
Related MCP Connectors
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/HumanSamadian/data-nexus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server