项目简介
SQL-Assistant 是一个基于 Model Context Protocol (MCP) 构建的服务器应用。它旨在通过将特定网站(希冀 - course.educg.net)上的 SQL 编程练习相关的操作暴露为 AI 可调用的工具,从而辅助用户自动化完成这些作业,节省时间。
主要功能点
该服务通过 MCP 向连接的 AI 或 MCP 客户端提供以下功能:
- 设置题目范围 (StartNum): 指定需要处理的 SQL 练习的起始题号和结束题号。
- 获取题目内容 (GetQuestion): 导航至指定题号的页面,提取并返回题目描述。
- 设置代码内容 (SetCode): 将 AI 生成或提供的 SQL 代码填充到网页上的代码编辑器中。
- 提交代码 (SubmitCode): 模拟点击网页上的提交按钮,提交当前编辑器的代码进行评测。服务会自动推进到下一题(如果未达到结束题号)。
这些功能通过与一个以调试模式启动并连接到特定网站的 Chrome 浏览器进行交互来实现。
安装步骤
-
前置条件:
- 安装 Go 1.24.2 或更高版本。
- 安装 VS Code 编辑器。
- 在 VS Code 中安装 Cline 插件(或其他支持连接 MCP 服务的客户端)。
- 安装 Chrome 浏览器。
-
下载: 打开终端或命令行,执行以下命令进行安装:
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 服务器。
基本使用方法
-
确保已完成上述安装和配置步骤。
-
通过 MCP 客户端的设置,启动一个连接到本地调试端口的 Chrome 浏览器(通常客户端会有“Launch Browser with Debug Mode”等选项,并且需要勾选“Use Remote browser connection”)。务必在通过此方式启动的 Chrome 窗口中打开并登录 'https://course.educg.net/' 网站。这个浏览器窗口在完成任务前不能关闭。
-
在连接到配置好的 AI 模型的聊天界面中,向 AI 发出指令。提示 AI 你需要使用 'sqlassistant' 服务器,并指导 AI 调用其暴露的工具来完成任务。例如,可以这样描述你的需求(具体措辞取决于你使用的 AI):
“我需要使用 sqlassistant 协助完成 SQL 练习。请先调用 'StartNum' 工具设置起始题号和结束题号,然后循环调用 'GetQuestion' 获取题目,接着调用 'SetCode' 填入你生成的 SQL 代码,最后调用 'SubmitCode' 提交。如果提交成功且未到结束题号,则继续下一题;如果遇到其他问题,请尝试重试或告知我。”
根据你的指令,AI 会解析你的意图,并通过 MCP 客户端调用 SQL-Assistant 服务器提供的工具,服务器则会操作之前打开的 Chrome 浏览器来完成网页上的具体操作。
信息
分类
AI与计算