mcpField
U
USQLMCP

USQLMCP

本地服务
github.com/thesoulless数据库360 周前更新

关于 USQLMCP

USQLMCP 是面向数据库访问的通用 SQL MCP 服务。它允许 MCP 客户端查询和修改数据、创建表并查看表结构。

主要功能

  1. 01执行 SELECT 查询
  2. 02执行 INSERT、UPDATE、DELETE 和 ALTER 查询
  3. 03创建数据库表
  4. 04以 JSON 获取表结构
  5. 05将表结构作为 MCP 资源提供

适用场景

  1. 01通过 MCP 客户端读取数据库记录
  2. 02修改数据行并查看受影响行数
  3. 03创建表并检查列类型

MCP 相关

USQLMCP 将 SQL 操作作为 MCP 工具提供,并将表结构作为资源提供。MCP 客户端可通过 stdio 连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

usqlmcp

通用 SQL MCP(Model Context Protocol)。

功能

  • 工具

    • read_query:执行 SELECT 查询并返回结果。
    • write_query:执行 INSERT、UPDATE、DELETE 或 ALTER 查询,并返回受影响的行数。
    • create_table:执行 CREATE TABLE 查询,在数据库中定义新表。
    • describe_table_schema:获取给定表的 JSON 架构,包括所有受支持数据库中的列名和数据类型。
  • 资源

    • usqlmcp://<table>/schema:以 JSON 资源的形式访问数据库中任意表的架构。
    • 系统会自动发现并注册每个表各自的架构资源。

安装

usqlmcp 可通过[发布版本][]获取。

通过发布版本安装
  1. 下载适用于你平台的发布版本
  2. 从 .tar.bz2 或 .zip 文件中提取 usqlmcp 或 usqlcmp.exe 文件
  3. 将提取出的可执行文件移动到 $PATH(Linux/macOS)或 %PATH%(Windows)中的某个位置

设置

在 Cursor 中集成 MCP

将以下配置添加到 ~/.cursor/mcp.json 文件中,或通过 Cursor 的设置菜单进行配置。

{
    "mcpServers": {
        "usqlmcp": {
            "command": "usqlmcp",
            "args": ["--dsn", "sqlite3:///your/db/dsn/file.db"]
        }
    }
}

其他工具

{
    "servers": {
        "usqlmcp": {
            "type": "stdio",
            "command": "usqlmcp",
            "args": ["--dsn", "sqlite3:///your/db/dsn/file.db"]
        }
    }
}

Docker 用法

你可以在 MCP JSON 配置中指定相应的命令和参数,从而将 usqlmcp 配置为在 Cursor 中通过 Docker 运行。

示例:Postgres(Docker)

将以下内容添加到 ~/.cursor/mcp.json:

{
    "mcpServers": {
        "usqlmcp": {
            "command": "docker",
            "args": [
                "run", "-i", "--rm",
                "ghcr.io/thesoulless/usqlmcp:latest",
                "--dsn", "postgres://username:[email protected]:5432/dbname?sslmode=disable"
            ]
        }
    }
}

注意:连接主机上的数据库时,请使用 host.docker.internal,而不是 localhost 或 127.0.0.1。

示例:SQLite 与卷挂载(Docker)

若要使用本地计算机上的 SQLite 数据库文件,请将以下内容添加到 ~/.cursor/mcp.json:

{
    "mcpServers": {
        "usqlmcp": {
            "command": "docker",
            "args": [
                "run", "-i", "--rm",
                "-v", "/path/to/local/mydatabase.db:/data/mydatabase.db",
                "ghcr.io/thesoulless/usqlmcp:latest",
                "--dsn", "sqlite3:///data/mydatabase.db"
            ]
        }
    }
}

这会将本地 SQLite 数据库文件直接挂载到容器中,使容器仅能访问所需内容。

致谢

本项目依赖 usql,这是一个用于 SQL 数据库的通用命令行界面。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。