使用说明

项目简介

MCP Alchemy 是一个 MCP 服务器,旨在连接 Claude Desktop 与各种 SQL 数据库(如 PostgreSQL, MySQL, SQLite 等),使 Claude 能够直接与数据库交互。它提供了一系列工具,帮助用户通过 Claude 探索数据库结构、编写和执行 SQL 查询、分析数据以及生成报告。

主要功能点

  • 数据库连接: 支持多种 SQLAlchemy 兼容的数据库,包括 PostgreSQL, MySQL, MariaDB, SQLite, Oracle, MS SQL Server 等。
  • 表名检索: 提供工具列出数据库中所有表名或根据关键词过滤表名。
  • Schema定义: 获取指定表的详细 schema 信息,包括列名、数据类型、主键、外键关系和可空性等。
  • SQL查询执行: 执行 SQL 查询并以清晰易读的格式返回结果,支持参数化查询和结果截断,并能集成 'claude-local-files' 处理大型结果集。
  • Claude Desktop 集成: 无缝集成到 Claude Desktop,通过简单的配置即可使用。

安装步骤

  1. 克隆仓库: 在本地克隆 MCP Alchemy 仓库:

    git clone https://github.com/runekaagaard/mcp-alchemy.git
  2. 安装 uv (如果尚未安装): 按照 uv 安装指南 安装 'uv' 包管理器。

  3. 配置 Claude Desktop: 编辑你的 'claude_desktop_config.json' 文件,添加 MCP Alchemy 服务器配置。

服务器配置 (claude_desktop_config.json)

在 'claude_desktop_config.json' 文件中,'mcpServers' 字段下添加一个新的服务器配置,例如 "my_database":

{
  "mcpServers": {
    "my_database": {
      "command": "uv",
      "args": ["--directory", "/path/to/mcp-alchemy", "run", "server.py"],
      "env": {
        "DB_URL": "your_database_connection_string"
      }
    }
  }
}

配置参数说明:

  • 'server name': 服务器名称,可以自定义,例如 'my_database'。
  • 'command': 启动服务器的命令,这里使用 'uv' 运行 'server.py' 脚本。
  • 'args': 传递给 'command' 的参数,'["--directory", "/path/to/mcp-alchemy", "run", "server.py"]',你需要将 '/path/to/mcp-alchemy' 替换为 MCP Alchemy 仓库在你的本地路径。
  • 'env': 环境变量配置。
    • 'DB_URL': 必需。数据库连接字符串,用于指定数据库类型、用户名、密码、主机和数据库名。请根据你使用的数据库类型,将 '"your_database_connection_string"' 替换为实际的连接字符串。例如:
      • PostgreSQL: '"postgresql://user:password@localhost/dbname"'
      • MySQL: '"mysql+pymysql://user:password@localhost/dbname"'
      • SQLite: '"sqlite:///path/to/database.db"'

基本使用方法

  1. 启动 MCP Alchemy 服务器: 配置完成后,当 Claude Desktop 启动时,会自动尝试连接到配置的 MCP 服务器。确保数据库服务器已运行,并且 'DB_URL' 配置正确。

  2. 在 Claude 中使用工具: 在 Claude Desktop 中,你可以通过自然语言指令调用 MCP Alchemy 提供的工具。例如:

    • 询问 Claude "列出数据库中的所有表名" (对应 'all_table_names' 工具)。
    • 询问 Claude "查找表名包含 'user' 的表" (对应 'filter_table_names' 工具)。
    • 询问 Claude "获取 users 和 orders 表的 schema 定义" (对应 'schema_definitions' 工具)。
    • 询问 Claude "执行 SQL 查询 'SELECT * FROM users LIMIT 10'" (对应 'execute_query' 工具)。

Claude 将调用相应的 MCP 工具并返回结果,从而实现与数据库的交互。

信息

分类

数据库与文件