ioBroker MCP Server
OfficialProvides a web server interface for ioBroker home automation platform, enabling basic REST API access to adapter information and server status through configurable HTTP/HTTPS endpoints
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ioBroker MCP Servershow me the server status and capabilities"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ioBroker.mcp
MCP server for ioBroker
Description
This adapter exposes ioBroker as an MCP (Model Context Protocol) server, so MCP-capable clients (e.g. Claude Desktop) can read and control your installation through a well-defined set of tools.
Related MCP server: MCP REST API Server
Features
MCP server over the Streamable HTTP transport (
/mcpendpoint)Configurable HTTP/HTTPS web server
Configurable port and bind address
Optional authentication
Optional SSL/TLS support
Operating modes
The adapter can run in two ways:
Standalone (default) – it starts its own web server on the configured port. The MCP endpoint is
http(s)://<host>:<port>/mcp.Web extension – it runs inside an existing
webadapter instance and shares its web server (port, authentication, SSL). Select the target web instance in the admin configuration ("Extend WEB adapter"). The MCP endpoint is then served under the web adapter, e.g.http(s)://<host>:8082/mcp/.When a web instance is selected, the standalone server settings (port, bind address, authentication, SSL) are hidden because they are inherited from the chosen
webinstance.
Configuration
The adapter can be configured through the ioBroker admin interface using JSONConfig:
Server Configuration
Extend WEB adapter: Select a
webinstance to run as its extension. Leave empty to run standalone.Port: The port on which the web server will listen (default: 8093) – standalone only
Bind Address: IP address to bind the server to (0.0.0.0 for all interfaces) – standalone only
Authentication
Enable Authentication: Enable ioBroker user authentication for the web server
Default User: The ioBroker user whose permissions every MCP request runs with (default:
admin). All object/state reads and writes performed by the tools are executed in the name of this user, so the user's ACLs are enforced. A plain name likeoperatoris automatically expanded tosystem.user.operator. When running as a web extension and no user is set here, the hostwebinstance's default user is used.
Permissions
Allow setting states: Allow MCP clients to write state values (the
set_stateandset_statestools). Default: on.Allow object/file changes: Allow MCP clients to create/modify/delete objects and files (the
set_object,delete_object,create_state,create_scene,write_file,delete_file,rename_fileandmkdirtools). Default: off. When off, these tools are not exposed at all.
SSL/TLS Configuration
Enable HTTPS: Enable HTTPS/SSL for secure connections
Public Certificate: Path to the public certificate file
Private Key: Path to the private key file
Chained Certificate: Path to the chained certificate file (optional)
MCP Endpoint
The MCP server is served at POST/GET/DELETE /mcp using the Streamable HTTP transport with per-session
state (tracked via the Mcp-Session-Id header). Point your MCP client at:
standalone:
http(s)://<host>:<port>/mcpweb extension:
http(s)://<host>:<webPort>/mcp/
Available tools
Tool | Description |
| Retrieve the current value of one or multiple states; IDs may contain wildcards (e.g. |
| Read a single object by its ID |
| Search objects/states by keyword (matched against ID and name); optional filters for object |
| List detected devices grouped by room (uses the ioBroker type-detector to expose functional devices with named controls); optional |
| List adapter instances with their status |
| List installed adapters with metadata (version, title, description, keywords) |
| List ioBroker hosts with their status |
| List rooms ( |
| List functions ( |
| Query historical values (requires a history adapter); aggregations: |
| Read a file from an adapter file storage (optional base64) |
| List a directory in an adapter file storage |
| Check whether a file exists in an adapter file storage |
| Retrieve system logs |
| Write a message to the ioBroker log |
| Get system and js-controller information |
| Set the value of a state (value coerced to the state type) — requires Allow setting states |
| Set multiple states in one call (for scenes/group actions like "all lights off") — requires Allow setting states |
| Create/update an object (merges common/native) — requires Allow object/file changes |
| Delete an object, optionally with all children — requires Allow object/file changes |
| Create a new state object with type/role/unit/min/max and optional initial value — requires Allow object/file changes |
| Create or update a scene for the ioBroker |
| Write a file to an adapter file storage — requires Allow object/file changes |
| Delete a file from an adapter file storage — requires Allow object/file changes |
| Rename/move a file within the same adapter file storage — requires Allow object/file changes |
| Create a directory in an adapter file storage — requires Allow object/file changes |
All object/state access runs with the permissions of the configured Default User. The write tools are only registered when their respective permission option is enabled.
Resources & live updates (SSE)
States and objects are also exposed as MCP resources using the canonical ioBroker URI scheme, so clients
can read and subscribe to them. The server pushes changes over the Streamable HTTP SSE stream
(notifications/resources/updated).
States:
iobstate://<id>(e.g.iobstate://javascript.0.temperature) –resources/readreturns{ id, val, ack, ts, lc, q }.Objects:
iobobject://<id>(e.g.iobobject://system.adapter.admin.0) –resources/readreturns the object.Logs:
ioblog://all(every source) orioblog://<source>(e.g.ioblog://admin.0) –resources/readreturns the recent log lines ({ source, logs: [{ ts, level, source, message }] }). Subscribing enables log forwarding for the adapter; each new matching line triggers anotifications/resources/updated.resources/subscribesubscribes to the underlying ioBroker state/object/log; on every change the client receives anotifications/resources/updatedfor that URI and re-reads it.resources/unsubscribestops it.
Subscriptions are tracked per session and ref-counted, so the adapter subscribes to a state/object only once regardless of how many clients/sessions watch it, and unsubscribes when the last one leaves.
(Files use iobfile://<adapter>/<path> in the same scheme; they are available via the read_file/write_file
tools rather than as subscribable resources.)
Health endpoints (non-MCP)
GET /- Basic server informationGET /status- Server status, uptime and active session countGET /api/info- Adapter information
Changelog
0.3.1 (2026-06-11)
(@GermanBluefox) Added search through repository
(@GermanBluefox) Added ping tool
0.2.5 (2026-06-11)
(@GermanBluefox) Supported direct import of MCP server
0.2.0 (2026-06-11)
(@GermanBluefox) Many changes: see the previous changelog entry
0.1.5 (2026-06-11)
(@GermanBluefox) Added wildcard support to
get_states(e.g.hue.0.*.brightness)(@GermanBluefox) Added
set_statesfor writing multiple states in one call (scenes/group actions)(@GermanBluefox) Added
delete_objectandcreate_statetools (gated by Allow object/file changes)(@GermanBluefox) Added
create_scenetool that creates scenes for the ioBrokerscenesadapter(@GermanBluefox) Added file management tools:
list_files,file_exists,delete_file,rename_file,mkdir(@GermanBluefox) Added
list_adaptersto list installed adapters with metadata(@GermanBluefox) Extended
search_objectswithtypeandadapterfilters; the keyword now also matches object names(@GermanBluefox) Extended
history_querywith the aggregationscount,minmax,percentile,quantileandintegral
0.1.4 (2026-05-28)
(@GermanBluefox) Initial development
0.0.1 (2025-01-03)
Initial release with basic web server functionality *Configurable port, bind address, authentication, and SSL
License
MIT License
Copyright (c) 2025-2026 ioBroker
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ioBroker/ioBroker.mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server