English | 中文
这是一个通过IoTDB提供数据库交互和商业智能能力的Model Context Protocol (MCP)服务器实现。该服务器支持使用不同的SQL方言(树模型和表模型)运行SQL查询并与IoTDB进行交互。
服务器不暴露任何资源。
服务器不提供任何提示。
服务器提供了用于IoTDB树模型和表模型的不同工具。您可以通过设置“IOTDB_SQL_DIALECT”配置为“tree”或“table”来选择它们。
metadata_query
query_sql (字符串):要执行的SHOW/COUNT SQL查询select_query
query_sql (字符串):要执行的SELECT SQL查询(使用TREE方言,时间使用ISO 8601格式,例如2017-11-01T00:08:00.000)export_query
query_sql (字符串):要执行的SQL查询(使用TREE方言)format (字符串):导出格式,可以是"csv"或"excel"(默认:"csv")filename (字符串):可选的导出文件名。如果没有提供,将生成一个唯一的文件名。read_query
query_sql (字符串):要执行的SELECT SQL查询(使用TABLE方言,时间使用ISO 8601格式,例如2017-11-01T00:08:00.000)list_tables
describe_table
table_name (字符串):要描述的表名export_table_query
query_sql (字符串):要执行的SQL查询(使用TABLE方言)format (字符串):导出格式,可以是"csv"或"excel"(默认:"csv")filename (字符串):可选的导出文件名。如果没有提供,将生成一个唯一的文件名。IoTDB MCP Server支持以下配置选项,这些选项可以通过环境变量或命令行参数设置:
| 选项 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
| --host | IOTDB_HOST | 127.0.0.1 | IoTDB主机地址 |
| --port | IOTDB_PORT | 6667 | IoTDB端口 |
| --user | IOTDB_USER | root | IoTDB用户名 |
| --password | IOTDB_PASSWORD | root | IoTDB密码 |
| --database | IOTDB_DATABASE | test | IoTDB数据库名称 |
| --sql-dialect | IOTDB_SQL_DIALECT | table | SQL方言:tree 或 table |
| --export-path | IOTDB_EXPORT_PATH | /tmp | 导出查询结果的路径 |
IoTDB MCP Server包括以下性能优化特性:
uv 包管理器# 克隆仓库
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服务器:
位置:~/Library/Application Support/Claude/claude_desktop_config.json
位置:%APPDATA%/Claude/claude_desktop_config.json
您可能需要在命令字段中放置uv可执行文件的完整路径。您可以在MacOS/Linux上运行which uv或在Windows上运行where uv来获取此路径。
向Claude Desktop的配置文件添加以下配置:
{
"mcpServers": {
"iotdb": {
"command": "uv",
"args": [
"--directory",
"/Users/your_username/iotdb-mcp-server/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",
"IOTDB_EXPORT_PATH": "/path/to/export/folder"
}
}
}
}
注意:确保替换
--directory参数的路径为您实际克隆的存储库路径。
IoTDB MCP Server包括全面的错误处理和日志记录功能:
您可以使用项目根目录中的Dockerfile构建IoTDB MCP Server的容器镜像:
# 构建Docker镜像
docker build -t iotdb-mcp-server .
# 运行容器
docker run -e IOTDB_HOST=<您的IoTDB主机> -e IOTDB_PORT=<您的IoTDB端口> -e IOTDB_USER=<您的IoTDB用户> -e IOTDB_PASSWORD=<您的IoTDB密码> iotdb-mcp-server