IoTDB MCP 服务器
一种模型上下文协议服务器,允许AI助手通过受控接口安全地与Apache IoTDB数据库进行交互,以列出表、读取数据和执行SQL查询。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"iotdb": {
"args": [
"~/PycharmProjects/iotdb_mcp_server/src/iotdb_mcp_server/server.py"
],
"command": "~/PycharmProjects/iotdb_mcp_server/.venv/bin/python",
"env": {
"IOTDB_DATABASE": "test",
"IOTDB_HOST": "127.0.0.1",
"IOTDB_PASSWORD": "root",
"IOTDB_PORT": "6667",
"IOTDB_USER": "root"
}
}
}
}
该服务需要配置环境变量:IOTDB_DATABASE、IOTDB_HOST、IOTDB_PASSWORD、IOTDB_PORT、IOTDB_USER
服务介绍
IoTDB MCP 服务器
概述
一个模型上下文协议 (MCP) 服务器实现,通过 IoTDB 提供数据库交互和商业智能功能。该服务器支持运行 SQL 查询。
组件
资源
服务器不公开任何资源。
提示
服务器不提供任何提示。
工具
服务器提供 IoTDB 树模型和表模型的不同工具。您可以通过设置 "IOTDB_SQL_DIALECT" 配置为 "tree" 或 "table" 来选择它们。
树模型
-
metadata_query- 执行 SHOW/COUNT 查询以读取数据库中的元数据
- 输入:
query_sql(字符串):要执行的 SHOW/COUNT SQL 查询
- 返回:查询结果作为对象数组
-
select_query- 执行 SELECT 查询以读取数据库中的数据
- 输入:
query_sql(字符串):要执行的 SELECT SQL 查询
- 返回:查询结果作为对象数组
表模型
查询工具
read_query- 执行 SELECT 查询以读取数据库中的数据
- 输入:
query(字符串):要执行的 SELECT SQL 查询
- 返回:查询结果作为对象数组
模式工具
-
list_tables- 获取数据库中所有表的列表
- 无需输入
- 返回:表名称数组
-
describe-table- 查看特定表的模式信息
- 输入:
table_name(字符串):要描述的表的名称
- 返回:具有名称和类型的列定义数组
Claude 桌面集成
前提条件
- 带有
uv包管理器的 Python - IoTDB 安装
- MCP 服务器的依赖项
开发
# 克隆仓库
git clone https://github.com/apache/iotdb-mcp-server.git
cd iotdb_mcp_server
# 创建虚拟环境
uv venv
source venv/bin/activate # 或在 Windows 上使用 `venv\Scripts\activate`
# 安装开发依赖项
uv sync
在 Claude Desktop 的配置文件中配置 MCP 服务器:
MacOS
位置:~/Library/Application Support/Claude/claude_desktop_config.json
Windows
位置:%APPDATA%/Claude/claude_desktop_config.json
您可能需要在命令字段中输入 uv 可执行文件的完整路径。您可以通过在 MacOS/Linux 上运行 which uv 或在 Windows 上运行 where uv 来获取此路径。
{
"mcpServers": {
"iotdb": {
"command": "uv",
"args": [
"--directory",
"YOUR_REPO_PATH/src/iotdb_mcp_server",
"run",
"server.py"
],
"env": {
"IOTDB_HOST": "127.0.0.1",
"IOTDB_PORT": "6667",
"IOTDB_USER": "root",
"IOTDB_PASSWORD": "root",
"IOTDB_DATABASE": "test",
"IOTDB_SQL_DIALECT": "table"
}
}
}
}