mcp-server-duckdb
为DuckDB提供数据库交互能力的模型上下文协议(MCP)服务器实现。
简介
mcp-server-duckdb 是一个模型上下文协议(MCP)服务器,允许语言模型(如 Claude)通过 SQL 与 DuckDB 数据库交互。
功能
- 执行 SQL 查询(SELECT, JOIN 等)
- 创建表和数据库结构
- 支持只读模式保护数据
安装
通过 Smithery 安装(推荐)
npx -y @smithery/cli install mcp-server-duckdb --client claude
手动安装
-
安装包:
pip install mcp-server-duckdb
-
配置 Claude Desktop:
在 Claude Desktop 配置文件中添加:
{ "mcpServers": { "duckdb": { "command": "uvx", "args": [ "mcp-server-duckdb", "--db-path", "~/mcp-server-duckdb/data/data.db" ] } } }
配置文件位置:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
- MacOS:
配置选项
- db-path(必需):DuckDB 数据库文件路径
- --readonly(可选):以只读模式运行,防止数据被修改
使用示例
在 Claude 中使用以下提示来与数据库交互:
请创建一个名为 employees 的表,包含 id、name 和 salary 字段,然后插入几行数据并查询所有员工。
Claude 将使用 SQL 执行这些操作并返回结果。
调试
使用 MCP Inspector 进行调试:
npx @modelcontextprotocol/inspector uv --directory ~/codes/mcp-server-duckdb run mcp-server-duckdb --db-path ~/mcp-server-duckdb/data/data.db
注意事项
- 服务器提供统一的
query
工具,适用于所有 SQL 操作 - 只读模式可防止任何写入操作,保护数据完整性
- 如果数据库文件不存在,服务器会自动创建(非只读模式)
更多信息请访问 Smithery 页面。