项目简介

SQL-Assistant 是一个基于 Model Context Protocol (MCP) 构建的服务器应用。它旨在通过将特定网站(希冀 - course.educg.net)上的 SQL 编程练习相关的操作暴露为 AI 可调用的工具,从而辅助用户自动化完成这些作业,节省时间。

主要功能点

该服务通过 MCP 向连接的 AI 或 MCP 客户端提供以下功能:

  • 设置题目范围 (StartNum): 指定需要处理的 SQL 练习的起始题号和结束题号。
  • 获取题目内容 (GetQuestion): 导航至指定题号的页面,提取并返回题目描述。
  • 设置代码内容 (SetCode): 将 AI 生成或提供的 SQL 代码填充到网页上的代码编辑器中。
  • 提交代码 (SubmitCode): 模拟点击网页上的提交按钮,提交当前编辑器的代码进行评测。服务会自动推进到下一题(如果未达到结束题号)。

这些功能通过与一个以调试模式启动并连接到特定网站的 Chrome 浏览器进行交互来实现。

安装步骤

  1. 前置条件:

    • 安装 Go 1.24.2 或更高版本。
    • 安装 VS Code 编辑器。
    • 在 VS Code 中安装 Cline 插件(或其他支持连接 MCP 服务的客户端)。
    • 安装 Chrome 浏览器。
  2. 下载: 打开终端或命令行,执行以下命令进行安装:

    go install github.com/crazyfrankie/sqlassistant@latest

    等待安装完成。安装成功后,'sqlassistant' 可执行文件将被放置在你的 Go bin 路径下(通常是 '$GOPATH/bin' 或 '$HOME/go/bin')。

服务器配置

SQL-Assistant 是一个 MCP 服务器,需要由 MCP 客户端(如 Cline)来连接和使用。你需要配置你的 MCP 客户端,告知它如何启动 SQL-Assistant 服务器。

在 Cline 插件的设置界面中,找到配置 MCP 服务器的部分(通常是 JSON 格式)。你需要添加一个服务器配置项,至少包含以下信息:

  • 服务器名称: 可以自定义一个名称,例如 '"sqlassistant"'。
  • 启动命令 (command): 指定 'sqlassistant' 可执行文件的路径。如果你将 Go bin 目录添加到了系统 PATH 环境变量,可以直接填写 '"sqlassistant"' (Linux/macOS) 或 '"sqlassistant.exe"' (Windows)。
  • 自动批准工具 (autoApprove): 为了让 AI 能顺畅地调用,建议配置自动批准一些关键工具,例如 '"GetQuestion"', '"SetCode"', '"StartNum"', '"SubmitCode"'。

一个示例配置结构(概念上):

{
  "mcpServers": {
    "你的服务器名称": {
      "command": "sqlassistant 或 sqlassistant.exe", // 根据你的操作系统和PATH环境填写
      // 可选:
      "autoApprove": [
        "StartNum",
        "GetQuestion",
        "SetCode",
        "SubmitCode"
        // 其他需要自动批准的工具名称
      ]
      // 其他MCP客户端支持的配置,例如args等
    }
  }
}

完成配置后,保存设置,客户端即可识别并尝试连接 SQL-Assistant 服务器。

基本使用方法

  1. 确保已完成上述安装和配置步骤。

  2. 通过 MCP 客户端的设置,启动一个连接到本地调试端口的 Chrome 浏览器(通常客户端会有“Launch Browser with Debug Mode”等选项,并且需要勾选“Use Remote browser connection”)。务必在通过此方式启动的 Chrome 窗口中打开并登录 'https://course.educg.net/' 网站。这个浏览器窗口在完成任务前不能关闭。

  3. 在连接到配置好的 AI 模型的聊天界面中,向 AI 发出指令。提示 AI 你需要使用 'sqlassistant' 服务器,并指导 AI 调用其暴露的工具来完成任务。例如,可以这样描述你的需求(具体措辞取决于你使用的 AI):

    “我需要使用 sqlassistant 协助完成 SQL 练习。请先调用 'StartNum' 工具设置起始题号和结束题号,然后循环调用 'GetQuestion' 获取题目,接着调用 'SetCode' 填入你生成的 SQL 代码,最后调用 'SubmitCode' 提交。如果提交成功且未到结束题号,则继续下一题;如果遇到其他问题,请尝试重试或告知我。”

    根据你的指令,AI 会解析你的意图,并通过 MCP 客户端调用 SQL-Assistant 服务器提供的工具,服务器则会操作之前打开的 Chrome 浏览器来完成网页上的具体操作。

信息

分类

AI与计算