sqlew MCP 服务端
使用说明(Markdown 摘要)
-
项目简介
- sqlew 是一个 MCP 服务器实现,旨在通过结构化的数据库后端,为 AI 客户端提供可查询的资源、可调用的工具以及可渲染的提示模板等能力。服务器通过 JSON-RPC 与客户端通信,支持通过标准输出/输入(stdio)等传输方式接收请求并返回响应。
-
主要功能点
- 资源管理:以关系型数据库形式托管和查询资源(如 ADR、标签、层级等元数据)。
- 工具注册与执行:将可用工具注册到 MCP 端点,LLM 可以调用并得到结果。
- 提示模板与文档:提供可渲染的提示模板和帮助文档数据,方便 AI 进行对话建模。
- 会话与能力声明:服务端维护会话状态、能力清单和多数据库后端的切换能力。
- 多传输协议兼容:当前实现通过 MCP SDK 提供的 Stdio 传输(后续可扩展 SSE、WebSocket 等)。
- 安全与可扩展性:通过模块化设计、插件和帮助系统,支持扩展和企业场景。
-
安装步骤
- 全局安装(推荐)
- 使用 Node.js 版本要求(文档中建议 Node.js 20+)。
- 全局安装 sqlew 命令:
- npm install -g sqlew
- 项目配置(在客户端侧完成,这里只描述服务端可用信息)
- 客户端连接时需要配置一个 MCP 服务器信息,示例参考仓库中提供的常用配置格式。客户端通常只需要知道服务器的启动命令即可与服务器建立连接并使用 MCP 协议进行交互。
- 初始启动
- 使用全局命令启动 sqlew(在终端执行 sqlew 即可),服务器在启动时会创建数据库并加载初始上下文。
- 连接方式
- MCP 客户端通过指定服务器名称和启动命令来连接服务器。sqlew 在配置中可作为一个 MCP 服务器条目被客户端加载连接。
- 全局安装(推荐)
-
服务器配置(MCP 客户端需要的最小信息)
- serverName: sqlew
- command: sqlew
- args: 该字段为数组,表示传给命令的额外参数。若未自定义数据库路径,通常为空或使用默认数据库路径。示例如下(请勿直接粘贴运行代码,只作示意):
- {
- "serverName": "sqlew",
- "command": "sqlew",
- "args": ["/path/to/db.sqlite"] // 例如自定义数据库路径,若不需要则留空
- }
-
基本使用方法
- 启动服务器后,客户端通过 MCP 协议发起请求(如读取资源、调用工具、获取 Prompts)。
- 客户端可根据 MCP 的标准 JSON-RPC 进行请求和接收响应。
- 服务器端负责会话管理、能力声明与对外部工具的执行分发,确保 AI 客户端可以稳定获取资源、执行工具并渲染 Prompt。
- 如需离线本地数据库,sqlew 会在首次启动时自动创建数据库文件(默认为 .sqlew/sqlew.db),并生成相关配置与全局规则。
- 若需要云端协作能力,请参阅官方文档中的 SaaS 后端选项,来与 sqlew 的云后端进行对接。
-
运行与维护提示
- 确保 Node.js 版本符合要求(文档建议 20+)。 asdf
- 依赖和编译通过后,服务器可在多进程/多工作树环境中并发运行,且具备基本的故障保护与日志能力。
- 若需要修改数据库或扩展能力,请在服务端实现中添加新的资源/工具并注册到 MCP 工具注册表中。