
mcp-server-duckdb

2025.01.09
0
Python数据库服务数据分析数据库
mcp-server-duckdb 是一个基于 Model Context Protocol (MCP) 的 DuckDB 数据库交互服务器,提供通过 MCP 工具进行数据库操作的能力。它支持查询、表创建、模式检查等数据库操作,并可根据需要运行在只读模式以确保数据安全。
View on GitHub
Overview
基本能力
产品定位
mcp-server-duckdb 是一个数据库交互服务,专门为 DuckDB 数据库提供基于 Model Context Protocol (MCP) 的访问接口。
核心功能
- 执行 SELECT 查询读取数据 (
read-query
) - 执行 INSERT、UPDATE 或 DELETE 查询修改数据 (
write-query
) - 创建新表 (
create-table
) - 列出数据库中的所有表 (
list-tables
) - 获取特定表的模式信息 (
describe-table
)
适用场景
- 本地数据分析
- 通过 MCP 工具与 DuckDB 数据库交互
- 需要限制数据库写入操作的场景(通过只读模式)
工具列表
- read-query: 执行 SELECT 查询读取数据
- write-query: 执行 INSERT、UPDATE 或 DELETE 查询修改数据
- create-table: 创建新表
- list-tables: 列出所有表
- describe-table: 获取表模式信息
常见问题解答
- 只读模式下会禁用
write-query
和create-table
工具 - 数据库文件不存在时,只读模式下不会自动创建
使用教程
使用依赖
- Python 和
uv
包管理器 - DuckDB Python 包
- MCP 服务器依赖
安装教程
通过 Smithery 安装:
npx -y @smithery/cli install mcp-server-duckdb --client claude
配置 Claude Desktop 集成:
{
"mcpServers": {
"duckdb": {
"command": "uvx",
"args": [
"mcp-server-duckdb",
"--db-path",
"~/mcp-server-duckdb/data/data.db"
]
}
}
}
调试方式
使用 MCP Inspector 进行调试:
npx @modelcontextprotocol/inspector uv --directory ~/mcp-server-duckdb run mcp-server-duckdb