使用说明

项目简介

本项目实现了一个基于 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 应用提供访问 IBM Db2 for i 数据库的桥梁。通过标准化的 MCP 协议,该服务器允许 LLM 客户端安全、可扩展地获取数据库上下文信息并调用数据库操作工具,从而构建能够理解和操作 Db2 for i 数据的智能应用。

主要功能点

  • 数据库访问工具: 提供工具让 LLM 客户端可以查询 Db2 for i 数据库,包括:
    • 'list-usable-tables': 列出数据库中可用的表名。
    • 'describe-table': 获取指定表的详细结构信息,包括列定义和示例数据行。
    • 'run-sql-query': 执行用户提供的 SQL 查询语句,并返回查询结果。
  • 资源管理: 支持简单的笔记资源管理功能,允许创建和读取文本笔记(示例功能)。
  • Prompt 模板: 内置 Prompt 模板,例如用于生成 SQL 查询的模板,以及用于总结笔记的模板。
  • 标准 MCP 协议: 遵循 MCP 协议规范,使用 JSON-RPC 进行通信。
  • Stdio 传输: 支持 Stdio 作为传输协议,方便本地开发和部署。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/ajshedivy/db2i-agents.git
  2. 进入服务器目录:
    cd examples/mcp/db2i-mcp-server
  3. 安装依赖: 确保已安装 'uv' 包管理器 (参考仓库根目录 'README.md' 安装指南)。在服务器目录下运行命令安装 Python 依赖:
    uv pip install -r requirements.txt
  4. 配置环境变量: 在 'db2i-mcp-server' 目录下创建 '.env' 文件,并根据您的 Db2 for i 数据库配置填写以下环境变量:
    HOST=您的Db2i服务器地址
    DB_USER=数据库用户名
    PASSWORD=数据库密码
    DB_PORT=数据库端口 (默认为 8075)
    SCHEMA=数据库 Schema 名
    请替换 '您的Db2i服务器地址'、'数据库用户名'、'数据库密码' 和 '数据库 Schema 名' 为您的实际数据库连接信息。

服务器配置

MCP 客户端需要配置以下 JSON 格式信息以连接到 Db2 for i MCP Server。这是客户端启动服务器并与之通信的关键配置。

{
  "serverName": "db2i-mcp-server",
  "command": "uv",
  "args": [
    "run",
    "src/db2i_mcp_server/server.py",
    "--use-env"
  ]
}

配置参数说明:

  • 'serverName': 服务器名称,设置为 '"db2i-mcp-server"'。
  • 'command': 启动服务器的命令,这里使用 'uv' 包管理器来运行 Python 脚本。
  • 'args': 传递给 'uv' 命令的参数列表:
    • '"run"': 'uv run' 命令用于执行 Python 脚本。
    • '"src/db2i_mcp_server/server.py"': 指定服务器主程序脚本的路径。
    • '"--use-env"': 告知服务器从环境变量 ('.env' 文件) 中加载数据库连接配置。

基本使用方法

  1. 启动 MCP 服务器: 在 'examples/mcp/db2i-mcp-server' 目录下,运行以下命令启动服务器:

    uv run src/db2i_mcp_server/server.py --use-env

    服务器成功启动后,将开始监听 MCP 客户端的请求。

  2. 配置 MCP 客户端: 在您的 MCP 客户端(例如 Continue 编辑器,或其他支持 MCP 协议的 LLM 应用)中,配置服务器连接信息。将上述 服务器配置 JSON 内容填入客户端的服务器配置项中。

  3. 使用客户端与 Db2 for i 数据库交互: 客户端成功连接到 Db2 for i MCP Server 后,您可以通过客户端界面或指令,利用服务器提供的工具与 Db2 for i 数据库进行交互。例如,您可以:

    • 使用 'list-usable-tables' 工具查看可用的数据库表。
    • 使用 'describe-table' 工具获取表的结构信息。
    • 使用 'run-sql-query' 工具执行 SQL 查询并获取数据。

通过以上步骤,您可以使用 MCP 客户端,借助 Db2 for i MCP Server 提供的能力,构建基于 LLM 的 Db2 for i 数据库智能应用。

信息

分类

数据库与文件