项目简介
'mcp-alchemy' 是一个Model Context Protocol (MCP) 服务器实现,旨在通过与各种数据库(如SQLite、PostgreSQL、MySQL等)集成,为大型语言模型(LLM)客户端提供结构化的数据上下文和可调用的工具。它将数据库表和字段等信息作为资源进行托管,并提供访问和操作数据库的工具,所有这些都通过标准化的JSON-RPC协议进行通信。
主要功能点
- 数据库集成: 支持多种数据库类型,能够连接并管理数据库中的数据资源。
- 资源托管与数据访问: 将数据库的表、视图和字段等抽象为可供LLM访问的资源,提供数据查询和操作接口。
- 工具注册与执行: 注册允许LLM调用数据库操作(如查询、插入、更新)的工具,实现LLM与数据库的交互。
- JSON-RPC通信: 通过标准化的JSON-RPC协议接收LLM客户端的请求并返回响应。
- 上下文服务: 为LLM提供安全、可扩展的上下文服务框架,增强其理解和利用外部数据的能力。
安装步骤
'mcp-alchemy' 是通过Homebrew软件包管理器进行安装的。请按照以下步骤操作:
- 添加Tap仓库:
在您的终端中运行以下命令以添加 'chenrui333/tap' 仓库:
brew tap chenrui333/tap - 安装 'mcp-alchemy':
运行以下命令即可安装 'mcp-alchemy':
这会自动安装 'mcp-alchemy' 及其所有Python依赖。brew install mcp-alchemy
服务器配置
'mcp-alchemy' 服务器需要数据库连接信息才能启动。这些信息通常通过环境变量 'DB_URL' 提供。
以下是LLM客户端连接到 'mcp-alchemy' 服务器时所需的配置信息示例(JSON格式),您需要将其集成到您的LLM客户端的相应配置中:
{ "server_name": "mcp-alchemy-server", "command": "mcp-alchemy", "args": [], "env": { "DB_URL": "sqlite:///path/to/your/database.db" }, "comment": "这是一个MCP-Alchemy服务器的配置示例。'DB_URL' 环境变量指定了数据库的连接字符串。例如,对于SQLite,它是 'sqlite:///your_database.db';对于PostgreSQL,它可能是 'postgresql://user:password@host:port/dbname' (请替换为实际的数据库连接信息)。" }
请将 '"sqlite:///path/to/your/database.db"' 替换为您的实际数据库连接字符串。
基本使用方法
'mcp-alchemy' 作为后端服务器运行,等待LLM客户端通过JSON-RPC协议发送请求。启动后,LLM客户端可以发送 'initialize' 请求来初始化连接,然后发送 'tools/list' 请求来发现服务器提供的数据库操作工具。具体的数据访问和工具调用将通过LLM客户端与服务器的交互完成。
您可以通过在终端运行以下命令来测试服务器是否响应(例如,在一个新的终端会话中):
- 设置数据库URL环境变量 (例如,使用一个内存中的SQLite文件以便快速测试):
export DB_URL="sqlite:///:memory:" - 启动 'mcp-alchemy' 服务器 (它会在标准输入/输出上进行JSON-RPC通信):
mcp-alchemy - 在另一个终端,你可以向其发送一个 'initialize' 请求:
服务器将返回一个JSON-RPC响应,包含其能力信息。echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26"}}' | mcp-alchemy
信息
分类
数据库与文件