这是一个针对DuckDB的模型上下文协议(MCP)服务器实现,通过MCP工具提供数据库交互功能。让大型语言模型(LLM)分析它会很有趣。DuckDB适合本地分析。
<a href="https://glama.ai/mcp/servers/fwggl49w22"><img width="380" height="200" src="https://gips3.baidu.com/it/u=483188660,4248207115&fm=3081&app=3081&f=PNG?w=760&h=400" alt="mcp-server-duckdb MCP服务器" /></a>
此服务器通过模型上下文协议与DuckDB数据库进行交互,允许执行数据库操作如查询、表创建和模式检查。
目前没有实现自定义资源。
目前没有实现自定义提示。
服务器实现了以下数据库交互工具:
query (字符串) - 任何有效的DuckDB SQL语句[!NOTE] 服务器提供了一个统一的
query函数,而不是单独的专业化函数,因为现代大型语言模型(LLM)可以生成适用于任何数据库操作(如SELECT、CREATE TABLE、JOIN等)的适当SQL,而无需单独的端点。
[!NOTE] 当服务器以
readonly模式运行时,会强制执行DuckDB的原生只读保护。 这确保了语言模型(LLM)不能执行任何写入操作(如CREATE、INSERT、UPDATE、DELETE),从而维护数据完整性并防止意外更改。
--readonly且数据库文件不存在,则服务器将以错误启动失败false)
read_only=True打开,阻止任何写入操作。false)
要通过Smithery自动安装DuckDB服务器用于Claude桌面:
npx -y @smithery/cli install mcp-server-duckdb --client claude
在Claude桌面的配置文件中配置MCP服务器:
位置: ~/Library/Application Support/Claude/claude_desktop_config.json
位置: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"duckdb": {
"command": "uvx",
"args": [
"mcp-server-duckdb",
"--db-path",
"~/mcp-server-duckdb/data/data.db"
]
}
}
}
~/mcp-server-duckdb/data/data.db 应替换为实际的DuckDB数据库文件路径。uv包管理器的Python由于MCP服务器基于标准I/O通信,调试可能具有挑战性。我们建议使用MCP Inspector获得最佳调试体验。
npx @modelcontextprotocol/inspector uv --directory ~/codes/mcp-server-duckdb run mcp-server-duckdb --db-path ~/mcp-server-duckdb/data/data.db
检查器提供了以下可见性: