数据库AI查询工具

SMKRV MCP Studio是一款将数据库转化为AI数据源的Docker化工具,支持多种数据库连接并通过MCP协议实现AI助手直接查询数据。

  • by SMKRV-MCP-Studio
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 SMKRV-MCP-Studio/SMKRV-MCP-Studio

使用说明

SMKRV MCP Studio

Turn Your Database Into an AI Data Source.


连接您的分析数据库,编写SQL,让Claude、GPT或Cursor通过以下方式查询您的数据 主控程序.

没有样板。没有后端代码。一个Docker镜像-部署需要60秒。

系统要求

最低 推荐
中央处理器 2芯 4+芯
随机存取存储器 2GB 4GB
磁盘 4 GB 10 GB
拱 x86_64(amd64)或ARM64 -

最小 在轻负载下以1-2个数据库连接运行应用程序。 推荐 为多个连接和并发查询提供了空间。该图像开箱即用地运行L0正则表达式提示注入检测。包含L1 ML层(DeBERTa ONNX),但选择加入:set STUDIO_PROMPT_GUARD_ML_DOWNLOAD=true 获取模型(约180 MB,在首次启动时下载到数据卷中)并启用它。当L1打开时,添加大约300 MB的RAM。

对于高负载场景(10+连接,大量并发查询):4-8个CPU内核,8 GB RAM,20 GB磁盘。

快速开始

# 1. Pull the image
docker pull smkrv/smkrv-mcp-studio:latest

# 2. Generate secrets
export STUDIO_ENCRYPTION_KEY=$(python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())")
export STUDIO_JWT_SECRET=$(python3 -c "import secrets; print(secrets.token_urlsafe(32))")
export STUDIO_AGENT_SERVICE_TOKEN=$(python3 -c "import secrets; print(secrets.token_urlsafe(32))")
export REDIS_PASSWORD=$(openssl rand -base64 32)

# 3. Run
docker run -d \
  --name mcp-studio \
  -p 3000:3000 \
  -p 80:80 \
  -p 443:443 \
  -e STUDIO_ENCRYPTION_KEY=$STUDIO_ENCRYPTION_KEY \
  -e STUDIO_JWT_SECRET=$STUDIO_JWT_SECRET \
  -e STUDIO_AGENT_SERVICE_TOKEN=$STUDIO_AGENT_SERVICE_TOKEN \
  -e REDIS_PASSWORD=$REDIS_PASSWORD \
  -v mcp-studio-data:/app/data \
  -v mcp-studio-generated:/shared/generated \
  -v mcp-studio-certs:/etc/letsencrypt \
  -v mcp-studio-redis:/data/redis \
  smkrv/smkrv-mcp-studio:latest

# 4. Open http://localhost:3000

端口80/443是可选的,只需要通过Let's Encrypt进行SSL/HTTPS。如果没有SSL,端口3000就足够了。

运作原理

┌──────────────┐    ┌──────────────────┐    ┌────────────────┐    ┌──────────────┐
│  1. Connect  │───▶│  2. Write SQL    │───▶│  3. Test Live  │───▶│ 4. AI Queries│
│  Database    │    │  Define Tools    │    │  Preview Data  │    │  Your Data   │
└──────────────┘    └──────────────────┘    └────────────────┘    └──────────────┘
 PostgreSQL          SELECT revenue         Execute against       Claude, GPT,
 ClickHouse          FROM analytics         real database         Cursor - via MCP
 BigQuery            WHERE date > :start    with parameters
 + 7 more

连接 您的分析数据库-PostgreSQL、ClickHouse、BigQuery、Snowflake或6个以上。静态加密凭据。

编写SQL -使用参数化查询定义工具。每个工具都成为MCP端点。

现场测试 -使用类型化参数对真实数据库执行只读查询。

AI查询您的数据 -部署后,任何兼容MCP的AI助手都会从您的数据库中提取实时数据。

支持的数据库

数据库 驱动程序 状态
PostgreSQL asyncpg 稳定
ClickHouse ClickHouse连接 稳定
MySQL/MariaDB aiomysql 稳定
SQLite aiosqlite 稳定
Microsoft SQL Server pymssql 稳定
Cassandra/ScyllaDB 卡桑德拉驱动程序 稳定
Greenplum asyncpg 稳定
Supabase(PostgreSQL) asyncpg 稳定
雪花 雪花连接器 稳定
谷歌BigQuery 谷歌云BigQuery 稳定

建筑学

单个Docker镜像,由supervisord管理的5个服务:

┌─────────────────────────────────────────────────────┐
│              Ports 3000 / 80 / 443 (nginx)            │
│  ┌──────────┐  ┌──────────┐  ┌───────┐  ┌────────┐ │
│  │ Frontend │  │ Backend  │  │  MCP  │  │ Agent  │ │
│  │   SPA    │  │ FastAPI  │  │FastMCP│  │  MCP   │ │
│  │          │  │  :8000   │  │ :8080 │  │ :8090  │ │
│  └──────────┘  └────┬─────┘  └───┬───┘  └───┬────┘ │
│                     │            │           │      │
│                     └────────┬───┘           │      │
│                           ┌──┴──┐            │      │
│                           │Redis│────────────┘      │
│                           │:6379│                    │
│                           └─────┘                    │
└─────────────────────────────────────────────────────┘
服务 端口 角色
nginx 3000、80、443(暴露) 反向代理、SPA、SSL
后端 8000 FastAPI REST API,代码生成,身份验证
mcp 8080 生成的FastMCP v3服务器
代理mcp 8090 AI代理mcp接口(45个工具)
redis 6379 队列、信号量、指标

配置

所需的环境变量

变量 描述
STUDIO_ENCRYPTION_KEY 用于凭证加密的Fernet密钥
STUDIO_JWT_SECRET JWT签名秘密
STUDIO_AGENT_SERVICE_TOKEN 代理mcp和后端通信的共享令牌

可选环境变量

变量 默认值 描述
REDIS_PASSWORD -(必填) Redis身份验证密码。生成: openssl rand -base64 32
STUDIO_DATABASE_URL sqlite+aiosqlite:///data/studio.db 后端数据库URL
STUDIO_SSL_STAGING false 使用Let’s Encrypt测试环境进行测试
STUDIO_EXTERNAL_HTTPS_PORT 443 用于HTTP到HTTPS重定向的外部HTTPS端口

管理员帐户不是通过环境变量设置的。首次启动时,打开web UI并通过创建管理员用户名/密码 设置 屏幕。

卷

体积 容器路径 内容
mcp-studio-data /app/data SQLite数据库,配置
mcp-studio-generated /shared/generated 生成的MCP服务器文件
mcp-studio-certs /etc/letsencrypt SSL证书(SSL持久性所需)
mcp-studio-redis /data/redis Redis持久性(指标、令牌、速率限制)

Docker Compose

services:
  studio:
    image: smkrv/smkrv-mcp-studio:latest
    ports:
      - "3000:3000"
      - "80:80"
      - "443:443"
    environment:
      STUDIO_ENCRYPTION_KEY: "${STUDIO_ENCRYPTION_KEY}"
      STUDIO_JWT_SECRET: "${STUDIO_JWT_SECRET}"
      STUDIO_AGENT_SERVICE_TOKEN: "${STUDIO_AGENT_SERVICE_TOKEN}"
      REDIS_PASSWORD: "${REDIS_PASSWORD}"
    volumes:
      - studio-data:/app/data
      - studio-generated:/shared/generated
      - studio-certs:/etc/letsencrypt
      - studio-redis:/data/redis
    restart: unless-stopped

volumes:
  studio-data:
  studio-generated:
  studio-certs:
  studio-redis:

链接

网站 smcps.net
文件 docs.smcps.net
Docker Hub smkrv/smkrv mcp工作室

许可证

专有软件许可协议v1.0

版权所有(c)2025-2026谢尔盖·马卡罗夫。保留所有权利。

  • 非商业用途 -免费(个人、教育、研究、评估)
  • 商业用途 -需要单独的许可证(ms@smcps.net)
  • 无逆向工程 混淆的组件

完整许可证: 许可证


Open-Source Attribution

SMKRV MCP Studio包含以下开源组件,每个组件都有自己的许可证:

后端(Python)

软件包 许可证 目的
快速API MIT Web框架
Uvicorn BSD-3 ASGI服务器
SQLAlchemy 麻省理工学院 ORM/数据库工具包
异步SQLite Async SQLite 驱动程序
蒸馏器 MIT 数据库迁移
皮丹提克 MIT 数据验证
媒染剂设置 MIT 配置管理
Jinja2 BSD-3 模板引擎(代码生成器)
asyncpg Apache-2.0 PostgreSQL异步驱动程序
异步MySQL MySQL异步驱动程序
卡桑德拉司机 Apache-2.0 Cassandra驱动程序
雪花连接器python Apache-2.0 雪花驱动程序
谷歌云bigquery Apache-2.0 BigQuery客户端
clickhouse连接 Apache-2.0 ClickHouse驱动程序
pymssql LGPL-2.1 MSSQL驱动程序
密码学 Apache-2.0/BSD-3 Fernet加密
bcrypt Apache-2.0 密码哈希
PyJWT MIT JWT 代币
pyotp MIT TOTP 2FA
二维码 BSD-3 二维码生成
httpx BSD-3 HTTP客户端
websockets BSD-3 WebSocket支持
redis-py Redis 客户端
ONNX 运行时 MIT L1提示保护层的ML推理(选择加入)
令牌化器 Apache-2.0 L1提示保护层的文本标记化(选择加入)
FastMCP Apache-2.0 MCP服务器框架
maxminddb Apache-2.0 GeoIP查找

前端(JavaScript/TypeScript)

软件包 许可证 目的
反应 MIT 用户界面框架
React DOM MIT DOM渲染
React路由器 MIT 客户端路由
反应流(@xyflow/React) MIT 流/图编辑器
TanStack React Query MIT 服务器状态管理
Recharts MIT 图表和数据
摩纳哥编辑器 MIT 代码编辑器
状态 麻省理工学院 州管理
佐德 MIT 模式验证
Lucide React ISC 图标
Radix UI MIT 可访问的UI原语
Tailwind CSS MIT 实用程序优先的CSS
维特 MIT 构建工具
TypeScript Apache-2.0 类型系统
sql格式化程序 MIT SQL格式化
类差异权限 Apache-2.0 组件变体
扩大的封闭圆环状支持体系 MIT 类名实用程序
顺风合并 麻省理工学院 顺风级合并

基础设施

组件 许可证 目的
python PSF-2.0 运行时
Node.js MIT 构建工具链
Nginx BSD-2 反向代理
瑞迪斯 BSD-3 内存存储
码头工人 Apache-2.0 集装箱化
超级守护进程 类似BSD的进程管理器
盖斯特字体 OFL-1.1 UI排版
shadcn/ui MIT UI组件集合

SMKRV MCP Studio许可证中的任何内容都不限制您在这些开源许可证下的权利。


Trademark Notice

SMKRV MCP Studio是一个独立的产品,不隶属于本文引用的任何第三方商标所有者,也不受其认可或赞助。

PostgreSQL®和Postgres®是加拿大PostgreSQL社区协会的商标。MySQL®是Oracle公司的注册商标。Redis®是Redis有限公司的注册商标。Apache Cassandra™和Apache™是Apache软件基金会在美国和/或其他国家/地区的商标。ClickHouse®是ClickHouse,股份有限公司的注册商标。Snowflake®是Snowflak,股份有限公司的注册商标,Google BigQuery™和Google Cloud™是Google LLC的商标。Microsoft SQL Server®是Microsoft Corporation的商标。Subabase™是Subabase,股份有限公司的商标。Greenplum®是VMware,股份有限公司的商标。Docker®是Docker,股份有限公司的注册商标。Claude™是Anthropic,PBC的商标。GPT™和OpenAI™是OpenAI,股份有限公司的商标。Cursor™是Anysphere,股份有限公司的商标。

本项目中使用的所有其他商标、徽标和品牌名称均为其各自所有者的财产,仅用于识别目的。