LibSQL MCP 服务器使用说明

项目简介

本项目 'mcp-server-libsql' 是一个基于 Model Context Protocol (MCP) 构建的服务器,它充当 LLM 客户端与 LibSQL 数据库之间的桥梁。通过此服务器,LLM 应用能够以标准化的方式获取 LibSQL 数据库的结构信息(schema)并执行 SQL 查询,从而实现与数据库的数据交互。

主要功能点

  • 资源管理: 将 LibSQL 数据库中的表视为资源进行管理,允许客户端获取表的结构信息 (schema)。
  • Prompt 模板: 内置了用于获取表结构 (schema) 和查询表数据的 Prompt 模板,方便 LLM 理解和操作数据库。
  • 工具 (Tools): 提供执行 SQL 查询的工具,允许 LLM 客户端直接发送 SQL 语句到 LibSQL 数据库执行。
  • 标准 MCP 协议: 完全遵循 Model Context Protocol 协议,确保与任何兼容 MCP 协议的 LLM 客户端无缝对接。
  • 灵活的认证: 支持通过 token 进行身份验证,也允许在本地开发等场景下进行无认证访问。

安装步骤

  1. 安装 Deno: 确保你的系统已安装 Deno 2.1 或更高版本。你可以按照 deno 官网 的指引进行安装。
    curl -fsSL https://deno.land/install.sh | sh
  2. 构建服务器: 在仓库根目录下,运行以下命令构建可执行文件:
    deno run build
    构建成功后,会在当前目录下生成名为 'mcp-server-libsql' (或 'mcp-server-libsql.exe' 在 Windows 下) 的可执行文件。

服务器配置 (MCP 客户端配置)

对于 MCP 客户端,你需要配置连接到 'mcp-server-libsql' 服务器的必要信息。以下是一个 JSON 格式的配置示例,你需要将其填入你的 MCP 客户端配置中:

{
  "serverName": "libsql-mcp-server",  //  服务器名称,可以自定义
  "command": "./mcp-server-libsql",   //  服务器启动命令,指向构建生成的可执行文件
  "args": [
    "<database-url>"                 //  LibSQL 数据库 URL,例如 "libsql://<path-to-your-db.db>" 或 "https://<your-turso-db.turso.io"
                                    //  请替换为你的实际数据库连接地址,本地文件路径或远程 Turso 数据库 URL
  ],
  "capabilities": {                  //  声明服务器提供的能力,通常客户端会自动发现,此处仅为参考
    "resources": {},
    "prompts": {},
    "tools": {}
  },
  "transports": [                    //  声明服务器支持的传输协议,通常客户端会自动发现,此处仅为参考
    "stdio"
  ]
}

参数说明:

  • '"serverName"': MCP 服务器的名称,你可以自定义,用于在客户端中标识该服务器。
  • '"command"': 启动 MCP 服务器的命令。如果 'mcp-server-libsql' 可执行文件位于 PATH 环境变量包含的目录下,则可以直接使用 '"mcp-server-libsql"'。否则,需要使用相对或绝对路径指向该文件,例如 '"./mcp-server-libsql"'。
  • '"args"': 传递给服务器启动命令的参数列表。
    • '"<database-url>"': 必需参数。LibSQL 数据库的连接 URL。
      • 对于本地 LibSQL 数据库,使用 'libsql://<数据库文件路径>',例如 '"libsql://./mydb.db"'。
      • 对于远程 Turso 数据库,使用 'https://<your-turso-db.turso.io"',可能还需要配合 '--auth-token' 参数进行认证。
    • '"--auth-token <token>"': 可选参数。如果你的 LibSQL 数据库需要身份验证,则需要添加此参数并替换 '<token>' 为你的身份验证令牌。

完整配置示例 (连接本地数据库):

{
  "serverName": "local-libsql-server",
  "command": "./mcp-server-libsql",
  "args": [
    "libsql://./mydatabase.db"
  ]
}

完整配置示例 (连接远程 Turso 数据库,需要 token):

{
  "serverName": "remote-turso-server",
  "command": "./mcp-server-libsql",
  "args": [
    "--auth-token",
    "your_turso_auth_token",
    "https://your-turso-db.turso.io"
  ]
}

基本使用方法

  1. 启动 MCP 服务器: 根据你的配置,在终端中运行 'mcp-server-libsql' 命令,并传入数据库 URL 和可能的认证 token。
    # 连接本地数据库 (无认证)
    ./mcp-server-libsql libsql://./mydatabase.db
    
    # 连接远程 Turso 数据库 (需要 token)
    ./mcp-server-libsql --auth-token your_turso_auth_token https://your-turso-db.turso.io
  2. 配置并启动 MCP 客户端: 在你的 LLM 应用或 MCP 客户端中,配置上面生成的 JSON 配置信息,并启动客户端。
  3. 通过客户端与 LibSQL 数据库交互: 客户端启动后,即可通过 MCP 协议与 'mcp-server-libsql' 服务器通信,利用服务器提供的资源、Prompt 和工具来访问和操作 LibSQL 数据库。例如:
    • 列出数据库表 (资源): 客户端可以请求服务器列出可用的资源,服务器会返回 LibSQL 数据库中的表列表。
    • 获取表结构 (Prompt): 客户端可以使用 'libsql-schema' Prompt,并指定表名,来获取指定表的 schema 信息,以便 LLM 理解表的结构。
    • 查询表数据 (Prompt 或 Tool): 客户端可以使用 'libsql-query' Prompt 获取表的所有数据,或者使用 'query' 工具执行自定义 SQL 查询来检索数据。

通过以上步骤,你就可以使用 'mcp-server-libsql' 将 LibSQL 数据库集成到你的 LLM 应用中,实现基于数据库上下文的智能应用。

信息

分类

数据库与文件