SQL Server MCP后端服务

一个基于Model Context Protocol (MCP)的SQL Server后端概念验证,提供数据库操作工具和模块化架构。

  • by DiegoIpaez
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 DiegoIpaez/sql-server-mcp

使用说明

SQL Server MCP PoC

这是使用模型上下文协议(MCP)的SQL Server后端的概念验证(PoC)。

先决条件

安装

  1. 克隆存储库:

    git clone https://github.com/DiegoIpaez/sql-server-mcp
    cd sql-server-mcp
    
  2. 安装依赖项:

    bun install
    
  3. 复制并配置环境变量:

    cp .env.example .env
    # Edit .env with your SQL Server credentials if needed
    
  4. 使用Docker启动SQL Server:

    docker-compose up -d
    
  5. 生成Prisma客户端:

    bun run prisma generate
    

运行MCP服务器

在开发模式下启动服务器:

bun run dev

或者,构建并运行:

bun run build
bun run start

脚本

这 package.json 文件定义了以下脚本来自动化常见的项目任务:

脚本 命令 描述
dev bun run--watch。/src/index.ts 在开发模式下启动MCP服务器,并在文件更改时自动重新加载。
build bun build。/src/index.ts--outdir。/build-minify-target节点 将TypeScript源代码编译并压缩为生产就绪的JavaScript。
开始 包子跑。/build/index.js 在生产模式下运行编译后的MCP服务器。
format 生物组格式--写入。 使用Biome格式化所有项目源代码。
lint 生物群落lint——写。 应用并自动修复Biome检测到的起毛问题。
检查 生物群落检查。 使用Biome执行静态代码分析。
postinstall prisma-generate 安装依赖项后自动生成prisma客户端。
测试:mcp npx@modelcontextprotocol/inspector节点。/build/index.js 运行MCP检查器以测试编译的MCP服务器。

您可以使用以下命令运行这些脚本 bun run <script> (例如, bun run dev).

工具架构

这 tools 该文件夹专为SQL Server操作的MCP工具的模块化和可扩展集成而设计。每个工具都按照以下模式组织在自己的子目录中:

  • <tool-name>.service.ts:业务逻辑和数据库访问。
  • <tool-name>.tool.ts:MCP工具定义、注册和输入/输出模式。

这 tools/index.ts 集中所有可用工具的注册。

结构

tools/
   index.ts
   create-table/
      create-table.service.ts
      create-table.tool.ts
   execute-raw-queries/
      execute-raw-queries.service.ts
      execute-raw-queries.tool.ts
   get-table-schema/
      get-table-schema.service.ts
      get-table-schema.tool.ts
   insert-data/
      insert-data.service.ts
      insert-data.tool.ts

建筑原则

  • 模块化: 每个工具都隔离在自己的子目录中,便于维护和扩展。
  • 关注点分离: .service.ts 处理数据访问逻辑, .tool.ts 定义了MCP合同和集成。
  • 可扩展性: 可以按照相同的文件夹和文件模式添加新工具。
  • 集中化: tools/index.ts 注册并向MCP服务器公开所有工具。

整合

工具通过MCP服务器注册和公开,允许客户端(如VS Code扩展)通过创建表、执行查询、获取模式和插入数据等操作与SQL server交互。