
mcp-server-duckdb

2025.03.18
100
Python数据库交互本地数据分析数据库
mcp-server-duckdb 是一个基于 Model Context Protocol (MCP) 的 DuckDB 数据库交互服务,提供通过 MCP 工具进行数据库操作的能力。它适合本地数据分析,允许执行查询、表创建和模式检查等数据库操作。
View on GitHub
Overview
基本能力
产品定位
mcp-server-duckdb 是一个基于 Model Context Protocol (MCP) 的 DuckDB 数据库交互服务,旨在通过 MCP 工具提供数据库操作能力。
核心功能
- 数据库交互:通过 MCP 协议与 DuckDB 数据库进行交互。
- SQL 查询:支持执行任何有效的 DuckDB SQL 语句。
- 只读模式:支持只读模式,防止对数据库进行写操作。
适用场景
- 本地数据分析
- 数据库查询和管理
- 通过 MCP 工具进行数据库操作
工具列表
- query:执行任何 DuckDB SQL 查询
- 输入:
query
(字符串) - 任何有效的 DuckDB SQL 语句 - 输出:查询结果或成功消息
常见问题解答
- 只读模式:当服务器在只读模式下运行时,DuckDB 的原生只读保护会被强制执行,防止任何写操作。
- 数据库文件不存在:如果数据库文件不存在且未指定只读模式,服务器会自动创建数据库文件和父目录。
使用教程
使用依赖
- Python 和
uv
包管理器 - DuckDB Python 包
- MCP 服务器依赖
安装教程
通过 Smithery 安装
npx -y @smithery/cli install mcp-server-duckdb --client claude
Claude Desktop 集成
在 Claude Desktop 的配置文件中配置 MCP 服务器:
MacOS
位置:~/Library/Application Support/Claude/claude_desktop_config.json
Windows
位置:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"duckdb": {
"command": "uvx",
"args": [
"mcp-server-duckdb",
"--db-path",
"~/mcp-server-duckdb/data/data.db"
]
}
}
}
调试方式
使用 MCP Inspector
- 安装 inspector:
npx @modelcontextprotocol/inspector uv --directory ~/codes/mcp-server-duckdb run mcp-server-duckdb --db-path ~/mcp-server-duckdb/data/data.db
- 在浏览器中打开提供的 URL 访问调试界面
调试工具提供以下功能: - 请求/响应通信 - 工具执行 - 服务器状态 - 错误消息