使用说明
项目简介
该项目是一个基于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的配置示例。
安装步骤
- 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm。
- 下载仓库代码: 从 GitHub 仓库 https://github.com/executeautomation/mcp-database-server 下载代码到本地。
- 进入项目目录: 使用命令行工具进入下载的仓库目录。
- 安装依赖: 在项目根目录下运行命令 'npm install' 安装项目依赖。
- 构建项目: 运行命令 '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 使用连接字符串。
基本使用方法
- 启动服务器: 在配置完成后,启动 MCP 客户端(例如 Claude Desktop)。客户端会自动启动配置的 MCP 服务器。
- 在 LLM 中使用工具: 在 LLM 客户端中,你可以指示 LLM 使用服务器提供的工具来访问数据库。例如,你可以向 Claude 提出类似以下指令:
- "查询 users 表中的所有用户" (使用 'read_query' 工具)
- "创建名为 orders 的表,包含 order_id, user_id, order_date 列" (使用 'create_table' 工具)
- "将查询 users 表的结果导出为 CSV 格式" (使用 'export_query' 工具)
- "记录一个关于用户增长的业务洞察" (使用 'append_insight' 工具)
LLM 将根据你的指令,调用相应的工具与数据库服务器交互,并将结果返回给你。
信息
分类
数据库与文件