C

Claude 数据库连接器

@runekaagaard/mcp-alchemy
3 Stars 1.5k 次浏览 runekaagaard 更新于 2026-08-23

通过API层将克劳德桌面版直接连接到数据库,使其能够探索数据库结构、编写SQL查询、分析数据集和创建报告。该API层还包含用于表探索和查询执行的工具。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "my_cratedb": {
      "args": [
        "--from",
        "mcp-alchemy==2025.04.09.091234",
        "--with",
        "sqlalchemy-cratedb\u003e=0.42.0.dev1",
        "mcp-alchemy"
      ],
      "command": "uvx",
      "env": {
        "DB_URL": "crate://user:password@localhost:4200/?schema=testdrive"
      }
    },
    "my_mssql_db": {
      "args": [
        "--from",
        "mcp-alchemy==2025.04.09.091234",
        "--with",
        "pymssql",
        "mcp-alchemy"
      ],
      "command": "uvx",
      "env": {
        "DB_URL": "mssql+pymssql://user:password@localhost/dbname"
      }
    },
    "my_mysql_db": {
      "args": [
        "--from",
        "mcp-alchemy==2025.04.09.091234",
        "--with",
        "pymysql",
        "mcp-alchemy"
      ],
      "command": "uvx",
      "env": {
        "DB_URL": "mysql+pymysql://user:password@localhost/dbname"
      }
    },
    "my_oracle_db": {
      "args": [
        "--from",
        "mcp-alchemy==2025.04.09.091234",
        "--with",
        "cx_oracle",
        "mcp-alchemy"
      ],
      "command": "uvx",
      "env": {
        "DB_URL": "oracle+cx_oracle://user:password@localhost/dbname"
      }
    },
    "my_postgres_db": {
      "args": [
        "--from",
        "mcp-alchemy==2025.04.09.091234",
        "--with",
        "psycopg2-binary",
        "mcp-alchemy"
      ],
      "command": "uvx",
      "env": {
        "DB_URL": "postgresql://user:password@localhost/dbname"
      }
    },
    "my_sqlite_db": {
      "args": [
        "--from",
        "mcp-alchemy==2025.04.09.091234",
        "mcp-alchemy"
      ],
      "command": "uvx",
      "env": {
        "DB_URL": "sqlite:///path/to/database.db"
      }
    }
  }
}

该服务需要配置环境变量:CLAUDE_LOCAL_FILES_PATH、DB_URL、EXECUTE_QUERY_MAX_CHARS

服务介绍

MCP Alchemy

状态:运行良好,日常使用中未发现任何已知错误。

状态2:我刚刚将该包添加到了 PyPI,并更新了使用说明。请报告任何问题 :)

让 Claude 成为您的数据库专家!MCP Alchemy 将 Claude Desktop 直接连接到您的数据库,使其能够:

  • 帮助您探索和理解数据库结构
  • 协助编写和验证 SQL 查询
  • 显示表之间的关系
  • 分析大型数据集并创建报告
  • Claude Desktop 可以使用 claude-local-files 分析非常大的数据集并创建工件。

支持 PostgreSQL, MySQL, MariaDB, SQLite, Oracle, MS SQL Server, CrateDB 以及许多其他 SQLAlchemy 兼容的 数据库。

MCP Alchemy 实际应用

安装

确保已安装 uv:

# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh

与 Claude Desktop 的使用

在您的 claude_desktop_config.json 中添加配置。您需要在 --with 参数中添加适当的数据库驱动程序。

SQLite (内置在 Python 中)

{
  "mcpServers": {
    "my_sqlite_db": {
      "command": "uvx",
      "args": ["--from", "mcp-alchemy==2025.04.09.091234", "mcp-alchemy"],
      "env": {
        "DB_URL": "sqlite:///path/to/database.db"
      }
    }
  }
}

PostgreSQL

{
  "mcpServers": {
    "my_postgres_db": {
      "command": "uvx",
      "args": ["--from", "mcp-alchemy==2025.04.09.091234", "--with", "psycopg2-binary", "mcp-alchemy"],
      "env": {
        "DB_URL": "postgresql://user:password@localhost/dbname"
      }
    }
  }
}

MySQL/MariaDB

{
  "mcpServers": {
    "my_mysql_db": {
      "command": "uvx",
      "args": ["--from", "mcp-alchemy==2025.04.09.091234", "--with", "pymysql", "mcp-alchemy"],
      "env": {
        "DB_URL": "mysql+pymysql://user:password@localhost/dbname"
      }
    }
  }
}

Microsoft SQL Server

{
  "mcpServers": {
    "my_mssql_db": {
      "command": "uvx",
      "args": ["--from", "mcp-alchemy==2025.04.09.091234", "--with", "pymssql", "mcp-alchemy"],
      "env": {
        "DB_URL": "mssql+pymssql://user:password@localhost/dbname"
      }
    }
  }
}

Oracle

{
  "mcpServers": {
    "my_oracle_db": {
      "command": "uvx",
      "args": ["--from", "mcp-alchemy==2025.04.09.091234", "--with", "cx_oracle", "mcp-alchemy"],
      "env": {
        "DB_URL": "oracle+cx_oracle://user:password@localhost/dbname"
      }
    }
  }
}

CrateDB

{
  "mcpServers": {
    "my_cratedb": {
      "command": "uvx",
      "args": ["--from", "mcp-alchemy==2025.04.09.091234", "--with", "sqlalchemy-cratedb>=0.42.0.dev1", "mcp-alchemy"],
      "env": {
        "DB_URL": "crate://user:password@localhost:4200/?schema=testdrive"
      }
    }
  }
}

对于连接到 CrateDB Cloud,请使用类似以下的 URL:
crate://user:password@example.aks1.westeurope.azure.cratedb.net:4200?ssl=true

环境变量

  • DB_URL: SQLAlchemy 数据库 URL(必需)
  • CLAUDE_LOCAL_FILES_PATH: 用于完整结果集的目录(可选)
  • EXECUTE_QUERY_MAX_CHARS: 最大输出长度(可选,默认为 4000)

API

工具

  • all_table_names

    • 返回数据库中的所有表名
    • 无需输入
    • 返回逗号分隔的表名列表
    users, orders, products, categories
    
  • filter_table_names

    • 查找匹配子字符串的表
    • 输入: q (字符串)
    • 返回匹配的表名
    输入: "user"
    返回: "users, user_roles, user_permissions"
    
  • schema_definitions

    • 获取指定表的详细模式
    • 输入: table_names (字符串数组)
    • 返回表定义,包括:
      • 列名和类型
      • 主键
      • 外键关系
      • 可空标志
    users:
        id: INTEGER, primary key, autoincrement
        email: VARCHAR(255), nullable
        created_at: DATETIME
    
        Relationships:
          id -> orders.user_id
    
  • execute_query

    • 执行 SQL 查询并以垂直格式输出结果
    • 输入:
      • query (字符串): SQL 查询
      • params (对象, 可选): 查询参数
    • 以清晰的垂直格式返回结果:
    1. 行
    id: 123
    name: John Doe
    created_at: 2024-03-15T14:30:00
    email: NULL
    
    结果: 1 行
    
    • 特性:
      • 智能截断大结果
      • 通过 claude-local-files 集成访问完整结果集
      • 清晰显示 NULL 值
      • ISO 格式的日期
      • 清晰的行分隔

Claude Local Files

当配置了 claude-local-files 时:

  • 访问超出 Claude 上下文窗口的完整结果集
  • 生成详细的报告和可视化
  • 对大型数据集进行深入分析
  • 导出结果以进行进一步处理

当设置 CLAUDE_LOCAL_FILES_PATH 时,集成将自动激活。

贡献

欢迎贡献!无论是错误报告、功能请求、文档改进还是代码贡献——所有的输入都是有价值的。请随时:

  • 打开问题报告错误或建议功能
  • 提交带有改进的拉取请求
  • 增强文档或分享您的使用示例
  • 提问并分享您的经验

目标是使与 Claude 的数据库交互更加出色,您的见解和贡献有助于实现这一目标。

许可证

Mozilla Public License Version 2.0

我的其他 LLM 项目

  • MCP Redmine - 让 Claude Desktop 管理您的 Redmine 项目和问题。
  • MCP Notmuch Sendmail - 使用 notmuch 的 Claude Desktop 电子邮件助手。
  • Diffpilot - 带文件分组和标记的多列 git diff 查看器。
  • Claude Local Files - 在 Claude Desktop 工件中访问本地文件。

相关 MCP 服务