项目简介

这是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在通过标准化的接口,让 AI 模型或客户端能够与本地的 SQLite 数据库进行交互。它将数据库操作能力以工具的形式提供给 AI 客户端。

主要功能点

本项目将 SQLite 数据库的操作封装为两个可供 AI 客户端调用的工具:

  • 列出表格 ('list_tables'): 调用此工具可以获取当前连接的 SQLite 数据库中所有表格的名称列表。
  • 执行查询 ('read_query'): 调用此工具可以执行 SQL 的 'SELECT' 查询语句,检索数据库中的数据。为了安全起见,目前仅支持 'SELECT' 查询。

安装步骤

推荐使用 Docker 进行安装和部署,因为它能简化依赖管理和环境配置。

  1. 克隆仓库:
    git clone https://github.com/santos-404/mcp-server.sqlite.git
    cd mcp-server.sqlite
    (注意:README 中克隆命令的仓库 URL 可能与提供的信息不符,请使用 'santos-404' 的仓库地址。)
  2. 构建 Docker 镜像:
    docker build -t mcp/sqlite .

服务器配置

MCP 服务器由支持 MCP 协议的 AI 客户端负责启动和管理。您需要在客户端的配置中添加此服务器的信息,通常包括:

  • 服务器名称: 给这个服务器起一个唯一的名称,例如 'sqlite'。
  • 启动命令 ('command'): 告诉客户端如何启动服务器进程。对于您构建的 Docker 镜像,命令通常是 'docker'。
  • 启动参数 ('args'): 提供启动命令所需的参数。对于 Docker 镜像,这包括运行容器的指令 ('run', '--rm', '-i')、挂载的数据卷 ('-v mcp-test:/mcp',用于持久化数据库文件到宿主机名为 'mcp-test' 的 Docker 卷) 以及指定 SQLite 数据库文件路径的参数 ('--db-path test_db.sqlite3')。

其中,'--db-path <路径>' 参数非常重要,它指定了服务器在容器内部操作的 SQLite 数据库文件的位置(在此配置中是 '/mcp/test_db.sqlite3')。通过 '-v' 参数将容器内的 '/mcp' 目录映射到 Docker 卷,可以确保数据库文件在容器重新创建后仍然存在。

基本使用方法

配置完成后,启动您的 AI 客户端。如果客户端正确识别并连接到此 MCP 服务器,您应该能在客户端界面或通过与模型的交互中看到可用的工具(如 'list_tables' 和 'read_query')。您可以像使用其他工具一样,让模型调用这些工具来获取数据库结构信息或执行查询,从而将数据库数据作为 AI 交互的上下文。

信息

分类

数据库与文件