IoTDB MCP Server
Official Apache IoTDB MCP server: SQL over time series in tree and table models, with CSV and Excel export
- 39 ★ on the repository
- Last commit
- Apache-2.0
Broad access
Why this level
- Runs SQL against the database, including potentially modifying queries
- Keeps the database password in config
Install
- Works in
Manual install
{
"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": "",
"IOTDB_DATABASE": "test",
"IOTDB_SQL_DIALECT": "table",
"IOTDB_EXPORT_PATH": "/path/to/export/folder"
}
}
}
}Clone the repo and run uv sync first. Replace the --directory path with yours.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Runs SQL against the database, including potentially modifying queries
- Keeps the database password in config
This is third-party code. Review the repository files before installing.
What it does
The server gives the agent access to the Apache IoTDB time series database. In the table dialect the agent lists tables, describes their schema and runs SELECT. In the tree dialect it reads metadata with SHOW and COUNT, runs queries and read-only query batches with paged results. Results can be exported to CSV or Excel. There are tools for calling user-defined functions and AINode model inference, and before modifying queries the server reports required permissions and risk level.
Who it is for. For data engineers and IoT developers storing telemetry in Apache IoTDB.
Good fit when
- You want to ask the agent about sensor readings over a period without writing SQL
- You need to explore the structure of an unfamiliar IoTDB database
- You need to export query results to Excel for a report
Not a fit when
- Your data is not in IoTDB
- You need hard blocking of modifying queries but will not configure strict mode
Example request
List the tables in the database and the average temperature per device for yesterdayMCP
- Transport
- stdio
- Authentication
- key is optional
Environment variables
IOTDB_HOST- IoTDB host, 127.0.0.1 by default.
IOTDB_PORT- IoTDB port, 6667 by default.
IOTDB_USER- Username, root by default.
IOTDB_PASSWORDsecret- IoTDB user password.
IOTDB_DATABASE- Database for the table dialect.
IOTDB_SQL_DIALECT- Dialect: tree or table, table by default.
IOTDB_EXPORT_PATH- Folder for CSV and Excel exports.
Limitations
The README has no one-command package: clone the repo and run it with uv, or build a Docker image. A reachable IoTDB instance is required. Permission checks are advisory by default; hard blocking needs TIMESEEK_MCP_PERMISSION_ENFORCEMENT=strict. The tree or table dialect is chosen at startup.
How to disable. Remove the iotdb block from claude_desktop_config.json or stop the iotdb-mcp-server container.
FAQ
How do tree and table dialects differ?
Tree queries address root... paths, table queries address tables and columns in the current database. The tool set depends on the chosen dialect.
Can the agent modify data?
The server reports risk for modifying queries and leaves approval to the host agent. Enable strict mode for hard blocking.
Discussion
No questions or reviews yet.
Related
MCP serversdbt MCP
dbt-mcp
The official MCP server from dbt Labs: the Semantic Layer, project metadata, dbt commands and SQL against the warehouse from an agent
Official MongoDB MCP server: queries and aggregations, index management, Atlas clusters and local deployments
Apache Doris's official read-only MCP server: catalogs, queries, cluster diagnostics, search and lineage
An MCP server with a toolbox for global briefs: markets, SEC filings, conflict, climate and news from open sources
A Python MCP server for MySQL: listing tables, reading data, running SQL and inspecting schema through a controlled interface
Official Tableau MCP server: the agent finds data sources, sends queries to them and opens dashboards and Pulse metrics
README in short
The README lists tools for the tree and table models, UDF and inference tools, and the permission model. Connection settings come from arguments or environment variables. It gives a Claude Desktop config via uv, Docker build and run commands, and covers session pooling, connection retries and error handling. Apache 2.0 licensed.