mcp-server-duckdb

mcp-server-duckdb

site icon
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-querycreate-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

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。