Data Nexus MCP
Data Nexus MCP
Модульная безопасная платформа для подключения к SQL и NoSQL базам данных через REST API, MCP (Model Context Protocol) и веб-интерфейс на Vue.js.
Архитектура
┌─────────────┐ ┌──────────────┐ ┌─────────────────┐
│ 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 |
| Уровень REST на FastAPI с аутентификацией OAuth2/LDAP/basic |
mcp-server |
| Инструменты MCP: |
mcp-client |
| Мост MCP-клиента для интеграции с агентами |
web-ui |
| Студия запросов на Vue 3 + Pinia + Monaco Editor |
config |
| Определения подключений в YAML с подстановкой |
Related MCP server: Database MCP Server
Поддерживаемые типы баз данных
Реестр драйверов поддерживает более 50 типов баз данных в 13 категориях:
Реляционные: 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+ (для разработки веб-интерфейса)
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 --reloadДокументация API: http://localhost:8000/docs
4. Запуск веб-интерфейса (разработка)
cd web-ui
cp .env.example .env
npm install
npm run devОткройте http://localhost:5173 — учетные данные по умолчанию: admin / changeme
5. Запуск с Docker Compose
docker compose up -dСервисы:
REST API: http://localhost:8000
Веб-интерфейс: 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-serverДобавьте в конфигурацию MCP Cursor/Claude:
{
"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 Basic Auth (по умолчанию для разработки)oauth2— JWT токены через/api/auth/tokenldap— 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-сервером
Секреты должны использовать заполнители
${ENV_VAR}в конфигурации YAMLВсе конечные точки 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