mcp-server-duckdb

mcp-server-duckdb

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

  1. 安装 inspector:
npx @modelcontextprotocol/inspector uv --directory ~/codes/mcp-server-duckdb run mcp-server-duckdb --db-path ~/mcp-server-duckdb/data/data.db
  1. 在浏览器中打开提供的 URL 访问调试界面

调试工具提供以下功能: - 请求/响应通信 - 工具执行 - 服务器状态 - 错误消息

许可证

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