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个数据库连接运行应用程序。 推荐 为多个连接、并发查询和基于ML的提示注入保护(~180 MB ONNX模型)提供了空间。
对于高负载场景(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_ADMIN_USERNAME | admin | 管理员登录 |
STUDIO_ADMIN_PASSWORD | *(自动生成)* | 管理员密码 |
STUDIO_SSL_STAGING | false | 使用Let’s Encrypt测试环境进行测试 |
STUDIO_EXTERNAL_HTTPS_PORT | 443 | HTTP的外部HTTPS端口→HTTPS重定向 |
卷
| 体积 | 容器路径 | 内容 |
|---|---|---|
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}"
STUDIO_ADMIN_PASSWORD: "your-secure-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/数据库工具包 |
| aiosqlite Async SQLite 驱动程序 | ||
| 蒸馏器 | MIT | 数据库迁移 |
| 派丹蒂克 | MIT | 数据验证 |
| 媒染剂设置 | MIT | 配置管理 |
| Jinja2 | BSD-3 | 模板引擎(代码生成器) |
| asyncpg | Apache-2.0 | PostgreSQL异步驱动程序 |
| aiomysql 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 代币 |
| 一次性密码 | MIT | TOTP 2FA |
| 二维码 | BSD-3 | 二维码生成 |
| httpx | BSD-3 | HTTP客户端 |
| websockets | BSD-3 | WebSocket支持 |
| redis-py Redis 客户端 | ||
| ONNX 运行时 | MIT | 机器学习推理(提示保护) |
| 令牌化器 | Apache-2.0 | 文本标记化 |
| FastMCP | Apache-2.0 | MCP服务器框架 |
| maxminddb | Apache-2.0 | GeoIP查找 |
前端(JavaScript/TypeScript)
| 软件包 | 许可证 | 目的 |
|---|---|---|
| 反应 | MIT | 用户界面框架 |
| React DOM | MIT | DOM渲染 |
| React路由器 | MIT | 客户端路由 |
| 反应流(@xyflow/React) | MIT | 流/图编辑器 |
| TanStack反应查询 | MIT | 服务器状态管理 |
| Recharts | MIT | 图表和数据 |
| Monaco 编辑器 | MIT | 代码编辑器 |
| 状态 | 麻省理工学院 | 州管理 |
| 黄道带 | MIT | 模式验证 |
| Lucide反应 | 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 | 运行时 |
| MIT | 构建工具链 | |
| 引擎X | BSD-2 | 反向代理 |
| 瑞迪斯 | BSD-3 | 内存存储 |
| 码头工人 | Apache-2.0 | 集装箱化 |
| 监督员 | 类似BSD的进程管理器 | |
| 盖斯特字体 | OFL-1.1 | UI排版 |
| shadcn/ui | MIT | UI组件集合 |
SMKRV MCP Studio许可证中的任何内容都不限制您在这些开源许可证下的权利。
