Token导航 LogoToken导航

MCP Server · 数据服务

AI To SQL

MCP Server是一个基于Spring Boot 3+的应用,实现了LLM代理与数据库系统通过JDBC交互的标准化协议,支持多种数据库并提供安全查询、模式自省等功能。

stdio官方级别未说明来源级核验工具 0
JavaClaude数据分析

快速开始

作者 / 组织
magacho
提供方
magacho
运行时
Docker

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

AI To SQL 属于数据服务类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

数据服务

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

docker run -d \

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

PromptToSql-MCP服务器

描述

MCP服务器(模型上下文协议) 是一个Spring Boot 3+应用程序,它实现了LLM代理通过JDBC与数据库系统交互的标准化协议。该服务器充当桥梁,将静态AI知识转换为能够检索当前信息并执行操作的动态代理。

主要特点

  • 数据库不可知:支持Oracle、MySQL、PostgreSQL和MSSQL
  • 🎯 驾驶员自动检测:从URL模式解析智能JDBC驱动程序
  • JSON-RPC 2.0传输:MCP的标准通信协议
  • 图式反思:完成数据库元数据发现
  • 安全查询:具有只读强制的SQL注入预防
  • 触发器发现:数据库触发自检
  • 缓存:元数据操作的性能优化
  • 性能指标:详细的标记化和性能跟踪
  • 成本估算:自动LLM API成本计算

技术

  • Java 21
  • 弹簧靴3.2.1
  • Spring JDBC (JdbcTemplate-无JPA)
  • JSON-RPC 2.0
  • 梅文

建筑

com.magacho.aiToSql
├── AiToSqlApplication.java          # Main application
├── config/
│   ├── CachingConfig.java           # Cache configuration
│   └── McpServerConfig.java         # MCP server settings
├── controller/
│   └── McpController.java           # JSON-RPC 2.0 endpoint
├── service/
│   ├── SchemaIntrospectionService.java
│   ├── TableDetailsService.java
│   ├── TriggerService.java
│   └── SecureQueryService.java
├── tools/
│   └── McpToolsRegistry.java        # MCP tools registry
├── jsonrpc/
│   ├── JsonRpcRequest.java
│   ├── JsonRpcResponse.java
│   └── JsonRpcError.java
└── dto/
    ├── SchemaStructure.java
    ├── TableDetails.java
    ├── TriggerList.java
    └── QueryResult.java

🚀 快速开始

选项1:Docker(推荐)🐳

运行MCP服务器最简单的方法是使用Docker:

# Pull the image from Docker Hub
docker pull flaviomagacho/aitosql:latest

# Run with PostgreSQL
docker run -d \
  --name aitosql-mcp \
  -e DB_URL="jdbc:postgresql://your-host:5432/your_db" \
  -e DB_USERNAME="readonly_user" \
  -e DB_PASSWORD="your_password" \
  -p 8080:8080 \
  flaviomagacho/aitosql:latest

# Test the server
curl http://localhost:8080/actuator/health
curl http://localhost:8080/mcp/tools/list
✨ 新功能:无需指定 DB_TYPE 或 DB_DRIVER -它们会被自动检测到!看 JDBC驱动程序自动检测

或者使用Docker Compose进行本地开发:

# Clone the repository
git clone https://github.com/magacho/aiToSql.git
cd aiToSql

# Start with PostgreSQL (or mysql, sqlserver)
docker-compose -f docker-compose-postgres.yml up -d

# View logs
docker-compose -f docker-compose-postgres.yml logs -f mcp-server

# Stop
docker-compose -f docker-compose-postgres.yml down

📖 全部文件:

______________________________________________________________________

选项2:从源代码构建

先决条件

  1. Java 21+ 安装
  2. Maven 3.6+ 安装
  3. 数据库 用户配置为只读

配置

1.添加JDBC驱动程序

编辑 pom.xml 并取消对相应驾驶员的注释:


    org.postgresql
    postgresql
    runtime

2.配置数据库连接

编辑 src/main/resources/application.properties:

# PostgreSQL Example
spring.datasource.url=jdbc:postgresql://localhost:5432/production_db
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.username=mcp_readonly_user
spring.datasource.password=secure_password

关键安全性:数据库用户必须具有只读权限(仅限SELECT)。这是针对SQL注入的主要防御措施。

构建并运行

# Compile
mvn clean install

# Run
mvn spring-boot:run

服务器将在以下时间启动 http://localhost:8080

MCP工具

服务器通过JSON-RPC 2.0公开了4个工具:

1.getSchemaStructure

获取包含表和列的完整数据库架构。

参数:

  • databaseName (可选):数据库名称

退货: 完整的架构结构

2.获取表格详细信息

获取特定表格的详细信息。

参数:

  • tableName (必填):表名

退货: 表详细信息,包括索引、外键和约束

3.列表触发器

列出特定表的所有触发器。

参数:

  • tableName (必填):表名

退货: 触发器及其定义列表

4.安全数据库查询

执行安全的SELECT查询。

参数:

  • queryDescription (必填):SQL SELECT查询
  • maxRows (可选):要返回的最大行数

退货: 带元数据的查询结果

安全: 只允许使用SELECT语句。自动验证并防止危险操作。

JSON-RPC 2.0示例

初始化会话

curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "initialize",
    "params": {},
    "id": 1
  }'

列出可用工具

curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/list",
    "params": {},
    "id": 2
  }'

获取架构结构

curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "getSchemaStructure",
      "arguments": {
        "databaseName": "mydb"
      }
    },
    "id": 3
  }'

执行查询

curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "secureDatabaseQuery",
      "arguments": {
        "queryDescription": "SELECT * FROM customers WHERE age > 50",
        "maxRows": 100
      }
    },
    "id": 4
  }'

安全特性

  • ✅ 只读数据库用户 (主要防御)
  • ✅ 仅选择验证 (拒绝插入/更新/删除/删除)
  • ✅ 危险关键字过滤
  • ✅ 查询结果限制 (防止资源枯竭)
  • ✅ 综合录井 用于审计跟踪

MCP实施的好处

  1. 动态代理:LLM超越静态知识,访问实时数据
  2. 标准化:LLM数据库交互的通用协议
  3. 幻觉减少:访问受信任的外部数据源
  4. 可扩展性:可以部署到Cloud Run、GKE或其他平台
  5. 多数据库:Oracle、MySQL、PostgreSQL、MSSQL的单一接口

部署

Docker(可选)

FROM eclipse-temurin:21-jre
COPY target/aiToSql-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]

云运行/GKE

该服务器是无状态的,可以轻松部署到Google Cloud Run或GKE等托管平台,连接到Cloud SQL实例。

📊 测试和覆盖范围

该项目保持 全面测试覆盖率 随着 无强制性最低要求。我们专注于跟踪不同版本的覆盖范围演变:

在本地运行测试

# Run all tests
mvn clean test

# Generate coverage report
mvn jacoco:report

# View report
firefox target/site/jacoco/index.html

CI/CD

  • ✅ 自动化测试 每一次承诺
  • ✅ 覆盖率报告 自动生成
  • ✅ 发布工作流程 有报道历史
  • ✅ 无阻塞 关于覆盖率

哲学:跟踪,不要阻拦。持续改进。 📈

📈 绩效和指标

MCP服务器包括全面的性能跟踪和标记化指标:

指标端点

# Get all metrics
curl http://localhost:8080/mcp/metrics

# Reset metrics
curl -X POST http://localhost:8080/mcp/metrics/reset

测量什么

  • 执行时间:处理每个工具需要多长时间
  • 令牌估计:近似令牌计数(1个令牌≈4个字符)
  • 成本估算:估计LLM API成本(GPT-4定价)
  • 高速缓存性能:每个工具的缓存命中率
  • 响应大小:每个响应的字符和估计令牌

文档

示例指标响应

{
  "tools": {
    "getSchemaStructure": {
      "totalCalls": 150,
      "avgExecutionTimeMs": 45,
      "avgTokens": 3125,
      "totalCostUSD": 0.001875,
      "cacheHitRate": 80.0
    }
  },
  "summary": {
    "totalCalls": 1880,
    "totalCostUSD": 0.3483,
    "averageCostPerCall": 0.00019
  }
}

备注:实际的标记化发生在LLM主机(Claude、GPT-4等)中,而不是在MCP服务器中。服务器提供 *估计* 用于分析和优化。

许可证

开源项目。

组ID/工件ID

  • 组ID: com.magacho
  • 工件ID: aiToSql

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

数据库代理Java本地部署LLM交互JDBC安全查询模式自省

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
AI To SQL

MCP World · 本页

0stdio有1 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

AI To SQL 怎么安装?

公开资料给出的安装命令是 docker run -d \,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

AI To SQL 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

AI To SQL 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

AI To SQL 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

AI To SQL 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP