鸭子数据库MCP服务器是一个实现,它使像Claude这样的AI助手能够通过模型上下文协议(MCP)与鸭子数据库进行交互,以实现强大的数据分析能力。
鸭子数据库MCP服务器通过模型上下文协议(MCP)将AI助手连接到鸭子数据库——一个高性能分析数据库。这使得AI模型可以:
pip install duckdb-mcp-server
git clone https://github.com/mustafahasankhan/duckdb-mcp-server.git
cd duckdb-mMCP-server
pip install -e .
duckdb-mcp-server --db-path path/to/database.db [options]
--db-path - 鸭子数据库文件的路径(如果不存在则会创建)--readonly - 以只读模式运行(如果数据库不存在则会报错)--s3-region - AWS S3区域(默认:使用AWS_DEFAULT_REGION环境变量)--s3-profile - S3凭证的AWS配置文件(默认:使用AWS_PROFILE或'default')--creds-from-env - 使用来自环境变量的AWS凭证从claude.ai/download安装Claude Desktop。
编辑Claude Desktop的配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
添加鸭子数据库MCP服务器配置:
{
"mcpServers": {
"duckdb": {
"command": "duckdb-mcp-server",
"args": [
"--db-path",
"~/claude-duckdb/data.db"
]
}
}
}
配置完成后,您可以要求您的AI助手使用鸭子数据库分析数据:
"加载sales.csv文件并显示按收入排名前五的产品"
AI将生成并执行相应的SQL:
-- 加载并查询CSV数据
SELECT
product_name,
SUM(quantity * price) AS revenue
FROM read_csv('sales.csv')
GROUP BY product_name
ORDER BY revenue DESC
LIMIT 5;
直接从S3桶查询数据:
"分析我们S3中分析数据中的每日用户注册情况"
AI将生成适当的SQL来查询S3:
SELECT
date_trunc('day', signup_timestamp) AS day,
COUNT(*) AS num_signups
FROM read_parquet('s3://my-analytics-bucket/signups/*.parquet')
GROUP BY day
ORDER BY day DESC;
鸭子数据库MCP服务器按照以下顺序处理AWS认证:
--creds-from-env)--s3-profile)# 克隆仓库
git clone https://github.com/yourusername/duckdb-mcp-server.git
cd duckdb-mcp-server
# 设置虚拟环境
python -m venv venv
source venv/bin/activate # 在Windows上:venv\Scripts\activate
# 以开发模式安装
pip install -e ".[dev]"
# 运行测试
pytest
该项目根据MIT许可证发布 - 查看LICENSE文件了解详情。
欢迎贡献!请随时提交拉取请求。