项目简介

'mcp-alchemy' 是一个Model Context Protocol (MCP) 服务器实现,旨在通过与各种数据库(如SQLite、PostgreSQL、MySQL等)集成,为大型语言模型(LLM)客户端提供结构化的数据上下文和可调用的工具。它将数据库表和字段等信息作为资源进行托管,并提供访问和操作数据库的工具,所有这些都通过标准化的JSON-RPC协议进行通信。

主要功能点

  • 数据库集成: 支持多种数据库类型,能够连接并管理数据库中的数据资源。
  • 资源托管与数据访问: 将数据库的表、视图和字段等抽象为可供LLM访问的资源,提供数据查询和操作接口。
  • 工具注册与执行: 注册允许LLM调用数据库操作(如查询、插入、更新)的工具,实现LLM与数据库的交互。
  • JSON-RPC通信: 通过标准化的JSON-RPC协议接收LLM客户端的请求并返回响应。
  • 上下文服务: 为LLM提供安全、可扩展的上下文服务框架,增强其理解和利用外部数据的能力。

安装步骤

'mcp-alchemy' 是通过Homebrew软件包管理器进行安装的。请按照以下步骤操作:

  1. 添加Tap仓库: 在您的终端中运行以下命令以添加 'chenrui333/tap' 仓库:
    brew tap chenrui333/tap
  2. 安装 'mcp-alchemy': 运行以下命令即可安装 'mcp-alchemy':
    brew install mcp-alchemy
    这会自动安装 'mcp-alchemy' 及其所有Python依赖。

服务器配置

'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客户端与服务器的交互完成。

您可以通过在终端运行以下命令来测试服务器是否响应(例如,在一个新的终端会话中):

  1. 设置数据库URL环境变量 (例如,使用一个内存中的SQLite文件以便快速测试):
    export DB_URL="sqlite:///:memory:"
  2. 启动 'mcp-alchemy' 服务器 (它会在标准输入/输出上进行JSON-RPC通信):
    mcp-alchemy
  3. 在另一个终端,你可以向其发送一个 'initialize' 请求
    echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26"}}' | mcp-alchemy
    服务器将返回一个JSON-RPC响应,包含其能力信息。

信息

分类

数据库与文件