<a href="https://www.pulsemcp.com/servers/runekaagaard-alchemy"><img src="https://www.pulsemcp.com/badge/top-pick/runekaagaard-alchemy" width="400" alt="PulseMCP 徽章"></a>
状态:运行良好且每日使用中,无已知问题。
状态2:刚刚将包添加到PyPI并更新了使用说明。如有任何问题,请随时报告 :)
让Claude成为你的数据库专家!MCP Alchemy直接连接Claude Desktop到你的数据库,使其能够:
支持PostgreSQL、MySQL、MariaDB、SQLite、Oracle、MS SQL Server、CrateDB、Vertica, 以及许多其他SQLAlchemy兼容的数据库。
确保已经安装了uv:
# 如果尚未安装uv,请执行以下命令
curl -LsSf https://astral.sh/uv/install.sh | sh
在你的claude_desktop_config.json中添加内容。你需要在--with参数中添加适当的数据库驱动程序。
注意:在新版本发布后,可能会有长达600秒的时间,本地缓存清除期间,导致uv抛出版本错误。重新启动MCP客户端即可解决此问题。
{
"mcpServers": {
"my_sqlite_db": {
"command": "uvx",
"args": ["--from", "mcp-alchemy==2025.8.15.91819",
"--refresh-package", "mcp-alchemy", "mcp-alchemy"],
"env": {
"DB_URL": "sqlite:////绝对路径/到/database.db"
}
}
}
}
{
"mcpServers": {
"my_postgres_db": {
"command": "uvx",
"args": ["--from", "mcp-alchemy==2025.8.15.91819", "--with", "psycopg2-binary",
"--refresh-package", "mcp-alchemy", "mcp-alchemy"],
"env": {
"DB_URL": "postgresql://用户:密码@localhost/dbname"
}
}
}
}
{
"mcpServers": {
"my_mysql_db": {
"command": "uvx",
"args": ["--from", "mcp-alchemy==2025.8.15.91819", "--with", "pymysql",
"--refresh-package", "mcp-alchemy", "mcp-alchemy"],
"env": {
"DB_URL": "mysql+pymysql://用户:密码@localhost/dbname"
}
}
}
}
{
"mcpServers": {
"my_mssql_db": {
"command": "uvx",
"args": ["--from", "mcp-alchemy==2025.8.15.91819", "--with", "pymssql",
"--refresh-package", "mcp-alchemy", "mcp-alchemy"],
"env": {
"DB_URL": "mssql+pymssql://用户:密码@localhost/dbname"
}
}
}
}
{
"mcpServers": {
"my_oracle_db": {
"command": "uvx",
"args": ["--from", "mcp-alchemy==2025.8.15.91819", "--with", "oracledb",
"--refresh-package", "mcp-alchemy", "mcp-alchemy"],
"env": {
"DB_URL": "oracle+oracledb://用户:密码@localhost/dbname"
}
}
}
}
{
"mcpServers": {
"my_cratedb": {
"command": "uvx",
"args": ["--from", "mcp-alchemy==2025.8.15.91819", "--with", "sqlalchemy-cratedb>=0.42.0.dev1",
"--refresh-package", "mcp-alchemy", "mcp-alchemy"],
"env": {
"DB_URL": "crate://用户:密码@localhost:4200/?schema=testdrive"
}
}
}
}
对于连接到CrateDB Cloud,使用类似这样的URL:
crate://用户:密码@example.aks1.westeurope.azure.cratedb.net:4200?ssl=true。
{
"mcpServers": {
"my_vertica_db": {
"command": "uvx",
"args": ["--from", "mcp-alchemy==2025.8.15.91819", "--with", "vertica-python",
"--refresh-package", "mcp-alchemy", "mcp-alchemy"],
"env": {
"DB_URL": "vertica+vertica_python://用户:密码@localhost:5433/dbname",
"DB_ENGINE_OPTIONS": "{\"connect_args\": {\"ssl\": false}}"
}
}
}
}
DB_URL:SQLAlchemy 数据库URL(必需)CLAUDE_LOCAL_FILES_PATH:完整结果集的目录(可选)EXECUTE_QUERY_MAX_CHARS:最大输出长度(可选,默认值为4000)DB_ENGINE_OPTIONS:包含额外SQLAlchemy引擎选项的JSON字符串(可选)MCP Alchemy使用优化的连接池,适用于长时间运行的MCP服务器。默认设置如下:
pool_pre_ping=True:在使用前测试连接以处理数据库超时和网络问题pool_size=1:维护一个持久连接(MCP服务器通常一次处理一个请求)max_overflow=2:允许最多两个额外连接以应对突发容量需求pool_recycle=3600:刷新超过一小时的连接(防止超时问题)isolation_level='AUTOCOMMIT':确保每个查询自动提交这些默认设置对大多数数据库都适用,但你可以通过DB_ENGINE_OPTIONS覆盖它们:
{
"DB_ENGINE_OPTIONS": "{\"pool_size\": 5, \"max_overflow\": 10, \"pool_recycle\": 1800}"
}
对于具有激进超时设置的数据库(如MySQL的默认8小时),pool_pre_ping和pool_recycle的组合确保了可靠的连接。
all_table_names
users, orders, products, categories
filter_table_names
q(字符串)输入:"user"
返回:"users, user_roles, user_permissions"
schema_definitions
table_names(字符串数组)users:
id: INTEGER, 主键, 自增
email: VARCHAR(255), 可为空
created_at: DATETIME
关系:
id -> orders.user_id
execute_query
query(字符串):SQL查询params(对象,可选):查询参数1. 行
id: 123
name: John Doe
created_at: 2024-03-15T14:30:00
email: NULL
结果:1 行
当配置了claude-local-files:
当设置了CLAUDE_LOCAL_FILES_PATH时,集成会自动激活。
首先克隆GitHub仓库,安装依赖项和你选择的数据库驱动程序:
git clone git@github.com:runekaagaard/mcp-alchemy.git
cd mcp-alchemy
uv sync
uv pip install psycopg2-binary
然后在claude_desktop_config.json中设置以下内容:
...
"command": "uv",
"args": ["run", "--directory", "/路径/到/mcp-alchemy", "-m", "mcp_alchemy.server", "main"],
...
MCP Alchemy 列入以下MCP目录站点和存储库:
欢迎贡献!无论是错误报告、功能请求、文档改进还是代码贡献——所有输入都是宝贵的。请随意:
目标是使与Claude的数据库交互更好,而您的见解和贡献有助于实现这一目标。
Mozilla Public License Version 2.0