使用说明

项目简介

该项目是一个基于Model Context Protocol (MCP) 的服务器,旨在为大型语言模型(LLM)提供访问和操作数据库的能力。通过此服务器,LLM可以查询数据库信息、执行SQL语句,并将数据库数据作为上下文信息进行利用。目前支持SQLite和SQL Server两种数据库。

主要功能点

  • 资源管理: 提供数据库表结构的资源访问,LLM可以获取表的schema信息。
  • 工具注册与执行: 提供一系列预定义的工具,允许LLM执行SQL查询(SELECT, INSERT, UPDATE, DELETE)、管理表结构(创建、修改、删除表)、导出数据以及记录业务洞察。
  • 支持多种数据库: 目前支持连接和操作SQLite和SQL Server数据库。
  • 安全访问控制: 工具设计上对SQL操作类型进行了限制,例如'read_query'工具仅允许执行SELECT查询,'write_query'工具限制为INSERT、UPDATE、DELETE操作,增强了安全性。
  • 易于集成: 可以通过标准的MCP协议与LLM客户端进行通信,并提供了Claude Desktop的配置示例。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm。
  2. 下载仓库代码: 从 GitHub 仓库 https://github.com/executeautomation/mcp-database-server 下载代码到本地。
  3. 进入项目目录: 使用命令行工具进入下载的仓库目录。
  4. 安装依赖: 在项目根目录下运行命令 'npm install' 安装项目依赖。
  5. 构建项目: 运行命令 'npm run build' 编译 TypeScript 代码。

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)集成,您需要在客户端的 MCP 服务器配置文件中添加以下配置。

SQLite 数据库配置示例:

{
  "mcpServers": {
    "database": {
      "command": "node",
      "args": [
        "/path/to/mcp-database-server/dist/src/index.js", // 替换为服务器 index.js 文件的实际路径
        "/path/to/your_database.db" // 替换为你的 SQLite 数据库文件路径
      ]
    }
  }
}

SQL Server 数据库配置示例:

{
  "mcpServers": {
    "database": {
      "command": "node",
      "args": [
        "/path/to/mcp-database-server/dist/src/index.js", // 替换为服务器 index.js 文件的实际路径
        "mssql://username:password@server:port/database" // 替换为你的 SQL Server 连接字符串
      ]
    }
  }
}

配置参数说明:

  • 'server name': 可以自定义服务器名称,例如 "database"。
  • 'command': 启动服务器的命令,这里是 'node'。
  • 'args': 启动命令的参数,包括:
    • 服务器入口文件路径 ('/path/to/mcp-database-server/dist/src/index.js'):请替换为实际的 'index.js' 文件路径。
    • 数据库连接字符串或文件路径 ('/path/to/your_database.db' 或 'mssql://username:password@server:port/database'):请替换为你的数据库连接信息。SQLite 使用数据库文件路径,SQL Server 使用连接字符串。

基本使用方法

  1. 启动服务器: 在配置完成后,启动 MCP 客户端(例如 Claude Desktop)。客户端会自动启动配置的 MCP 服务器。
  2. 在 LLM 中使用工具: 在 LLM 客户端中,你可以指示 LLM 使用服务器提供的工具来访问数据库。例如,你可以向 Claude 提出类似以下指令:
    • "查询 users 表中的所有用户" (使用 'read_query' 工具)
    • "创建名为 orders 的表,包含 order_id, user_id, order_date 列" (使用 'create_table' 工具)
    • "将查询 users 表的结果导出为 CSV 格式" (使用 'export_query' 工具)
    • "记录一个关于用户增长的业务洞察" (使用 'append_insight' 工具)

LLM 将根据你的指令,调用相应的工具与数据库服务器交互,并将结果返回给你。

信息

分类

数据库与文件