使用说明
项目简介
'mcp-server-duckdb' 是一个实现了 Model Context Protocol (MCP) 的服务器,它允许大型语言模型 (LLM) 通过预定义的工具与 DuckDB 数据库进行交互。DuckDB 是一个快速的、嵌入式的分析型数据库,非常适合本地数据分析。该服务器使得 LLM 能够执行数据库查询、数据修改和模式检查等操作。
主要功能点
- 数据库交互工具: 提供了一系列工具,允许 LLM 执行常见的数据库操作,包括:
- 'read-query': 执行 SELECT 查询以读取数据。
- 'write-query': 执行 INSERT、UPDATE 或 DELETE 查询以修改数据 (在非只读模式下)。
- 'create-table': 创建新的数据库表 (在非只读模式下)。
- 'list-tables': 列出数据库中所有表的名称。
- 'describe-table': 获取指定表的结构信息。
- 只读模式支持: 服务器可以配置为只读模式,禁用所有写操作工具,保护数据库数据安全。
- MCP 协议标准: 遵循 Model Context Protocol,确保与兼容的 LLM 客户端进行标准化通信。
- 易于安装和配置: 可以通过 Smithery 快速安装,并提供简单的配置文件集成到 Claude Desktop 等 MCP 客户端。
安装步骤
- 环境准备: 确保你的系统已安装 Python 和 'uv' 包管理器。
- 使用 Smithery 安装 (推荐 Claude Desktop 用户): 打开终端并运行以下命令,即可自动安装 'mcp-server-duckdb' 并配置 Claude Desktop 客户端:
如果你不使用 Claude Desktop 或希望手动安装,请参考仓库 README 中的开发指南进行操作。npx -y @smithery/cli install mcp-server-duckdb --client claude
服务器配置
MCP 服务器需要配置在 MCP 客户端中才能使用。以 Claude Desktop 为例,你需要编辑其配置文件 'claude_desktop_config.json',添加 'mcpServers' 配置项。以下是一个配置示例,你需要根据你的实际情况修改数据库路径:
{ "mcpServers": { "duckdb": { "command": "uvx", "args": [ "mcp-server-duckdb", "--db-path", "~/mcp-server-duckdb/data/data.db" ] } } }
配置参数说明:
- 'server name': 'duckdb' (服务器名称,可以自定义,用于在客户端中引用)
- 'command': 'uvx' (启动命令,假设 'mcp-server-duckdb' 可执行文件已添加到 uvx 的可执行路径中。根据实际安装方式和环境可能有所不同,例如直接使用 'python -m mcp_server_duckdb' )
- 'args': 启动参数列表
- '--db-path': DuckDB 数据库文件路径。请将 '~/mcp-server-duckdb/data/data.db' 替换为你实际的数据库文件路径。如果数据库文件不存在,在非只读模式下服务器会自动创建。
- '--readonly': (可选) 添加此参数以启用只读模式。
请注意: 实际的 'command' 和 'args' 可能需要根据你的安装方式和环境进行调整。 详细信息请参考仓库的 README 文件和文档。
基本使用方法
- 启动 MCP 服务器: 根据你的安装方式,启动 'mcp-server-duckdb' 服务器。如果使用 Smithery 安装并配置 Claude Desktop,服务器通常会自动启动。
- 配置 MCP 客户端: 在 MCP 客户端 (如 Claude Desktop) 中,配置并启用名为 'duckdb' (或你在 'server name' 中设置的名称) 的 MCP 服务器。
- 在 LLM 中使用工具: 在支持 MCP 协议的 LLM 应用中,你可以指示 LLM 使用 'duckdb' 服务器提供的工具来查询或操作 DuckDB 数据库。例如,你可以要求 LLM "使用 'read-query' 工具查询表 'my_table' 中的数据" 或 "使用 'list-tables' 工具查看当前数据库中的所有表"。
信息
分类
数据库与文件