使用说明
项目简介
本项目是基于 Model Context Protocol (MCP) 构建的服务器,旨在为LLM应用提供访问 Apache IoTDB 时序数据库的能力。通过预定义的工具,LLM可以执行SQL查询并获取数据库的表结构信息,从而实现与IoTDB的智能交互。
主要功能点
- SQL 查询工具: 允许LLM执行 'SELECT' SQL 查询从 IoTDB 数据库中读取数据。
- 表信息查询工具: 提供列出数据库中所有表名和查看指定表的 Schema 信息的功能。
- 基于 MCP 协议: 使用标准的 MCP 协议与客户端通信,易于集成到支持 MCP 协议的 LLM 应用中,如 Claude Desktop。
安装步骤
- 克隆仓库:
git clone https://github.com/apache/iotdb-mcp-server.git - 进入目录:
cd iotdb-mcp-server - 创建并激活虚拟环境:
uv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows - 安装依赖:
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) 获取路径。
基本使用方法
- 启动 IoTDB 服务器: 确保你的 IoTDB 数据库服务已经启动并运行。
- 配置 MCP 客户端: 将上述服务器配置添加到你的 MCP 客户端(例如 Claude Desktop)的配置文件中。
- 启动 MCP 服务器: 在 'iotdb-mcp-server' 仓库目录下,激活虚拟环境后,MCP 服务器会在客户端尝试连接时自动启动 (如果客户端配置正确)。 或者,你可以手动运行 'uv run src/iotdb_mcp_server/server.py' 来启动服务器。
- 在 MCP 客户端中使用工具: 在支持 MCP 协议的 LLM 应用中,你可以调用 'read_query', 'list_tables', 'describe_table' 等工具来与 IoTDB 数据库交互。具体的调用方式取决于 MCP 客户端的应用界面或指令。
信息
分类
数据库与文件