
Eclipse Ditto
io.github.nagarjunrPublished by GitHub account nagarjunrv0.1.1Updated Oct 24, 2026
MCP server for the Eclipse Ditto digital twin HTTP API (things, policies, connections, more).
The publisher's own server: ditto.audio
Overview
Lets an assistant manage Eclipse Ditto digital twins: things, attributes, features, policies, connections and cluster DevOps settings over the Ditto HTTP API.
- What you can do
- Exposes the Eclipse Ditto HTTP API as MCP tools. Thing tools list, count, fetch, create, patch and delete things and manage their policy IDs and definitions. Attribute and feature tools read and write attributes, features, feature properties and desired properties. Message tools send live messages and claim things. Policy tools manage policies and entries. Connectivity and DevOps tools list, create, update and delete connections, inspect connection status, metrics and logs, set cluster log levels, read runtime config and send piggyback admin commands. A poll_thing_changes tool collects live change events over a short-lived SSE connection.
- When to use it
- Use it when an assistant needs to work with an Eclipse Ditto deployment or a Ditto-based IoT platform: inspecting and updating device twins, adjusting policies, or operating connections and cluster settings. It suits self-hosted Ditto instances and commercial platforms built on Ditto's open protocol. It is not aimed at general web or file tasks.
- Requirements
- Runs locally over stdio, installed from PyPI as eclipse-ditto-mcp-server and started with uvx, so a Python/uv runtime is needed. Requires DITTO_BASE_URL pointing at a Ditto HTTP API. Optional credentials: DITTO_USERNAME and DITTO_PASSWORD, or DITTO_BEARER_TOKEN, for the things/policies/messages/search API; DITTO_DEVOPS_USERNAME and DITTO_DEVOPS_PASSWORD for the separate DevOps/Connections realm. Network access to the Ditto instance is required.
Installation
In SourceWeft
- Open Eclipse Ditto in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Eclipse Ditto MCP Server
A Model Context Protocol (MCP) server for Eclipse Ditto — the open-source (EPL-2.0) digital twin framework. It exposes Ditto's HTTP API as MCP tools so an AI agent can manage devices ("things"), their attributes/features, policies, connections, and cluster admin — the full Ditto HTTP API surface.
Since Bosch IoT Things and other commercial IoT platforms are built on Ditto's open protocol, this server also works against those deployments — nothing in the code is vendor-specific.
Built with FastMCP.
Tools
Things
Attributes & Features
Messages
Policies
Connectivity & DevOps (require DITTO_DEVOPS_USERNAME/DITTO_DEVOPS_PASSWORD)
Ditto's Connections API and DevOps API (log levels, cluster config, piggyback commands) sit behind a separate "devops" Basic-auth realm on the gateway, independent of the policy-based auth used for things/policies.
Live events
Safety conventions
- Create vs. replace: every
put_*/set_*/create_*tool defaults tooverwrite=False, using Ditto'sIf-None-Match: *header so create-only is race-free (not a check-then-set). Passoverwrite=Trueto replace existing data. - Deletes are confirm-gated: every
delete_*tool requiresconfirm=True. There is no bulk/cascading delete. - Not covered (deliberately): WoT Web-of-Things descriptor endpoints (
/.well-known/wot,/devops/wot/*), and fine-grained policy sub-resources (subjects/{id},resources/{path},imports, token-integration actions) — whole-entryset_policy_entry/get_policy_entriescovers the common case. Add these later if you need them.
Configuration
If both DITTO_BEARER_TOKEN and Basic auth credentials are set, the bearer token takes precedence. If neither is set, requests are sent unauthenticated (only works if your Ditto instance allows anonymous/pre-authenticated access).
Running locally
See mcp.json for ready-to-use client configs (stdio and Docker).
Testing against a real Ditto instance
This repo's design principles call for testing against a real instance rather than mocks. docker-compose.yml (adapted from Ditto's official example, trimmed to the services this connector needs) spins up a full local Ditto stack — MongoDB, the Ditto microservices, and an nginx front door with Basic auth.
The 47 tests cover every tool group (things, attributes/features, messages, policies, connectivity, devops, live events) against this real stack, including delete/confirm gating and create/overwrite gating.
A note on the live-events approximation
poll_thing_changes opens Ditto's SSE change feed for a bounded window instead of holding a persistent subscription (which doesn't map cleanly onto a single MCP tool call). Ditto's SSE stream sends periodic empty data: keepalive lines even when nothing has changed — the tool checks its deadline on every line received, including keepalives, so it reliably returns within duration_seconds regardless of how chatty or quiet the stream is.
License notes
docker-compose.yml and the files under docker/ are adapted from the Eclipse Ditto project (EPL-2.0) and are used here only to spin up a local test instance — they are not part of the MCP server itself.
Source: eclipse-ditto/README.md at commit 5a985b6
Tools
0Version history
1- v0.1.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Ditto integrations
ditto.audio
audio.dittoOfficial publisher
ditto.audio is a remote text-to-speech MCP server that lets an assistant browse voices and turn text into downloadable speech audio.

Ditto
Published by GitHub account ohad6k
A local MCP server that returns a personal working profile mined from your own AI coding session logs, so an agent can load how you work, design, write or edit.