Data Nexus MCP
Data Nexus MCP
모듈형이며 안전한 플랫폼으로, REST API, MCP(Model Context Protocol) 및 Vue.js 웹 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+ (웹 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. 웹 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
웹 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