使用说明

项目简介

本项目是基于 Model Context Protocol (MCP) 构建的服务器,旨在为LLM应用提供访问 Apache IoTDB 时序数据库的能力。通过预定义的工具,LLM可以执行SQL查询并获取数据库的表结构信息,从而实现与IoTDB的智能交互。

主要功能点

  • SQL 查询工具: 允许LLM执行 'SELECT' SQL 查询从 IoTDB 数据库中读取数据。
  • 表信息查询工具: 提供列出数据库中所有表名和查看指定表的 Schema 信息的功能。
  • 基于 MCP 协议: 使用标准的 MCP 协议与客户端通信,易于集成到支持 MCP 协议的 LLM 应用中,如 Claude Desktop。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/apache/iotdb-mcp-server.git
  2. 进入目录:
    cd iotdb-mcp-server
  3. 创建并激活虚拟环境:
    uv venv
    source venv/bin/activate  # Linux/macOS
    # venv\Scripts\activate  # Windows
  4. 安装依赖:
    uv sync

服务器配置

为了让 MCP 客户端(例如 Claude Desktop)连接到 'iotdb-mcp-server',需要在客户端的配置文件中添加服务器配置。以下是一个示例配置,你需要根据你的实际环境进行调整。

{
  "mcpServers": {
    "iotdb": {  // 服务器名称,可以自定义
      "command": "uv", // 启动命令,这里使用 uv 包管理器运行 Python 脚本
      "args": [
        "--directory",
        "YOUR_REPO_PATH/src/iotdb_mcp_server", // 仓库 'src/iotdb_mcp_server' 目录的绝对路径,请替换为你的实际路径
        "run",
        "server.py" // 运行服务器脚本
      ],
      "env": { // 环境变量配置,用于连接 IoTDB 数据库
        "IOTDB_HOST": "127.0.0.1", // IoTDB 服务器地址
        "IOTDB_PORT": "6667",    // IoTDB MySQL 协议端口
        "IOTDB_USER": "root",     // IoTDB 用户名
        "IOTDB_PASSWORD": "root", // IoTDB 密码
        "IOTDB_DATABASE": "test" // IoTDB 数据库名
      }
    }
  }
}

注意: 请将 'YOUR_REPO_PATH' 替换为你克隆仓库后 'src/iotdb_mcp_server' 目录的实际绝对路径。可以使用 'pwd' (Linux/macOS) 或 'cd' 命令后复制地址栏 (Windows) 获取路径。

基本使用方法

  1. 启动 IoTDB 服务器: 确保你的 IoTDB 数据库服务已经启动并运行。
  2. 配置 MCP 客户端: 将上述服务器配置添加到你的 MCP 客户端(例如 Claude Desktop)的配置文件中。
  3. 启动 MCP 服务器: 在 'iotdb-mcp-server' 仓库目录下,激活虚拟环境后,MCP 服务器会在客户端尝试连接时自动启动 (如果客户端配置正确)。 或者,你可以手动运行 'uv run src/iotdb_mcp_server/server.py' 来启动服务器。
  4. 在 MCP 客户端中使用工具: 在支持 MCP 协议的 LLM 应用中,你可以调用 'read_query', 'list_tables', 'describe_table' 等工具来与 IoTDB 数据库交互。具体的调用方式取决于 MCP 客户端的应用界面或指令。

信息

分类

数据库与文件