使用说明
项目简介
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,通过简单的配置即可使用。
安装步骤
-
克隆仓库: 在本地克隆 MCP Alchemy 仓库:
git clone https://github.com/runekaagaard/mcp-alchemy.git -
安装 uv (如果尚未安装): 按照 uv 安装指南 安装 'uv' 包管理器。
-
配置 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"'
- 'DB_URL': 必需。数据库连接字符串,用于指定数据库类型、用户名、密码、主机和数据库名。请根据你使用的数据库类型,将 '"your_database_connection_string"' 替换为实际的连接字符串。例如:
基本使用方法
-
启动 MCP Alchemy 服务器: 配置完成后,当 Claude Desktop 启动时,会自动尝试连接到配置的 MCP 服务器。确保数据库服务器已运行,并且 'DB_URL' 配置正确。
-
在 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 工具并返回结果,从而实现与数据库的交互。
信息
分类
数据库与文件