AI编程_claude中的MCP_duckdb

MCP

MCP 何时比 CLI 更合适? 
    LLM  非常擅长使用命令行工具。他们已经学习过数百万份手册页
	   命令行界面 (CLI) 可以进行组合操作
    优秀的 API,优秀的 CLI
 身份验证功能 
 拥有一个标准化的接口是有价值的	 
MCP 使用 JSON-RPC 2.0 协议进行通信,这是一种轻量级的远程过程调用协议 
 
‌stdio transport‌(标准输入/输出传输)是一种基于操作系统标准流(stdin/stdout)实现的‌本地进程间通信(IPC)机制‌ 
     stdio 传输是最简单也最常见的内置 Transport
	 
	官方标准 Transport
官方给出了两种开箱即用的实现:
    stdio:利用 stdin/stdout,面向本地进程通信(modelcontextprotocol.io, mcp-framework.com)。
    SSE / Streamable HTTP:基于长连接的服务器推送,适合多客户端、跨网络场景(modelcontextprotocol.io, medium.com)
  
案例
  Python  FastMCP 实战 依赖:pip install fastmcp
     Server:对外暴露工具的服务端 一个 Python 脚本,声明"这些函数可以被 LLM 调用",跑起来之后就在监听请求。
        Tool:希望 LLM 使用的函数,可以是任何东西:查天气、查数据库、发邮件。这跟写普通 Python 函数没什么区别,加个装饰器剩下的交给 MCP。
     Client:连接 Server 并调用工具的客户端。生产环境里一般就是 LLM 应用本身。测试阶段可以用 FastMCP 自带的客户端,开箱即用	  

增加MCP

 命令行 
   方法1:命令行添加(推荐新手)
      Claude Code提供了简单的命令行工具来添加MCP服务器:
      
      # 基本语法
       claude mcp add [选项] <名称> <命令或URL> [参数...]
      
      # 实际例子:添加本地文件系统访问
         claude mcp add my-filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/Documents
      
      # 带环境变量的例子
         claude mcp add api-server -e API_KEY=your-key-here -- /path/to/server
配置文件  Project作用域(团队共享   User作用域(全局
    claude mcp add --scope user duckdb --transport stdio -- uvx mcp-server-motherduck --db-path /absolute/path/to/db.duckdb

   -s user
   --scope user	

  command
   npx 是一个用于执行 Node.js 包的便捷工具
   uvx 是 Python 包管理工具 uv 的重要组成部分,主要用于在隔离环境中快速运行 Python 命令行工具或脚本,无需永久安装工具包	
         uvx 是uv 的一个功能扩展,专门用于运行Python工具

常见的命令 
    claude mcp list 
    claude mcp remove [选项] <名称>	
    claude mcp add-json <名称> <JSON字符串>	
        add-json命令允许通过JSON字符串直接添加MCP服务器配置,特别适合复杂配置。


mcp-server-duckdb
mcp-server-motherduck	

Skills

Claude Skills 是一种模块化的能力包(modular skill package), 用简单点的比喻:它就像给 AI 装插件
 每个 Skill 是一个文件夹,通常包含:SKILL.md:说明书,描述用途、操作流程

duckdb MCP

 claude mcp add MotherDuck --transport http https://api.motherduck.com/mcp

参数 
   "--allow-switch-databases"
   
###S3的权限 
   AWS_ACCESS_KEY_ID  AWS_SECRET_ACCESS_KEY  AWS_DEFAULT_REGION	
   src/mcp_server_motherduck/database.py
        if aws_access_key and aws_secret_key and not aws_session_token:
            # Use CREATE SECRET for better credential management
            conn.execute(f"""
                CREATE SECRET IF NOT EXISTS s3_secret (
                    TYPE S3,
                    KEY_ID '{aws_access_key}',
                    SECRET '{aws_secret_key}',
                    REGION '{aws_region}'
                );
            """)
        elif aws_session_token:
            # Use credential_chain provider to automatically fetch credentials
            # This supports IAM roles, SSO, instance profiles, etc.
            conn.execute(f"""
                CREATE SECRET IF NOT EXISTS s3_secret (
                    TYPE S3,
                    PROVIDER credential_chain,
                    REGION '{aws_region}'
                );
            """)
###tools 
   src/mcp_server_motherduck/tools

UV工具

一个是 UV_DEFAULT_INDEX          (给 pip 包用的),
一个是 UV_PYTHON_INSTALL_MIRROR  (给 Python 版本下载用的)	
  UV_PYTHON_INSTALL_MIRROR
    述压缩包放入这个目录,
	然后将环境变量UV_PYTHON_INSTALL_MIRROR设置成这个目录,
	这样就uv就会去这个目录里面找压缩包,然后快速安装python了。比如
	export UV_PYTHON_INSTALL_MIRROR=file:///mnt/workspace/uv_python_install_mirror/20250409

pip install uv  -i https://pypi.tuna.tsinghua.edu.cn/simple
echo 'export UV_DEFAULT_INDEX=https://mirrors.aliyun.com/pypi/simple/' >> ~/.bashrc
echo 'export UV_PYTHON_INSTALL_MIRROR=https://mirrors.ustc.edu.cn/github-release/astral-sh/python-build-standalone/' >> ~/.bashrc
	
claude mcp add --scope user duckdb --transport stdio -- uvx mcp-server-motherduck --db-path /data/database/test.db
	

https://github.com/astral-sh/python-build-standalone/releases/download
该地址是 uv 工具在未设置镜像时默认使用的源,
   用于下载由 astral-sh/python-build-standalone 提供的 Python 独立构建版本
  南京大学 
      https://mirror.nju.edu.cn/github-release/indygreg/python-build-standalone/LatestRelease/

UV_CACHE_DIR
   等同于 --cache-dir 命令行参数。如果设置,uv 将使用此目录进行缓存,而不是默认的缓存目录	

参考

 Claude Code 添加 MCP 服务器完整指南
 https://pypi.org/project/mcp-server-motherduck/
 https://github.com/motherduckdb/mcp-server-motherduck
 https://hellowac.github.io/uv-zh-cn/configuration/environment/
 https://motherduck.com/docs/sql-reference/mcp/
posted @ 2026-03-02 18:50  辰令  阅读(21)  评论(0)    收藏  举报