Eclipse Ditto
MCP server for the Eclipse Ditto digital twin HTTP API (things, policies, connections, more).
Connector by nagarjunr · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/nagarjunr-eclipse-ditto
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 22 read · 17 write · 9 delete
- Secrets
- 3 (API keys, tokens or passwords)
- Install scripts
- Not scanned yet
- Runs as
- Python package
Tools by what they do 48
Read from the source code; the running server may list different tools.
Read 22 · Look things up without changing anything.
count_thingsget_connectionget_connection_logsget_connection_metricsget_connection_statusget_devops_configget_featureget_feature_definitionget_feature_propertiesget_logging_configget_policyget_policy_entries
Show 10 more tools
get_thingget_thing_attributesget_thing_definitionget_thing_featuresget_thing_policy_idget_thingslist_connectionslist_thingspoll_thing_changeswhoami
Write 17 · Create, change, send or run things.
claim_thingcreate_connectionpatch_thingput_featureput_policyput_thingsend_connection_commandsend_devops_piggybacksend_messageset_feature_definitionset_feature_propertiesset_logging_config
Show 5 more tools
set_policy_entryset_thing_attributesset_thing_definitionset_thing_policy_idupdate_connection
Delete 9 · Delete, drop, revoke or wipe things.
delete_connectiondelete_featuredelete_feature_definitiondelete_feature_propertiesdelete_policydelete_policy_entrydelete_thingdelete_thing_attributesdelete_thing_definition
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
DITTO_BEARER_TOKENDITTO_DEVOPS_PASSWORDDITTO_PASSWORD
Other settings (environment variables or headers).
DITTO_BASE_URLDITTO_DEVOPS_USERNAMEDITTO_USERNAME
Files it touches
- Any path the agent passes to its tools
Tools (48)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
claim_thingSend a claim message to gain access to a thing. Wraps POST /things/{thingId}/inbox/claim.
count_thingsCount things matching a search filter, without fetching them. Wraps GET /api/2/search/things/count.
create_connectionCreate a new connection; its ID is generated by Ditto. Wraps POST /api/2/connections. Requires devops credentials.
delete_connectionDelete a connection. Wraps DELETE /api/2/connections/{connectionId}. Irreversible. Requires devops credentials.
delete_featureDelete a whole feature. Wraps DELETE /things/{thingId}/features/{featureId}.
delete_feature_definitionRemove a feature's definition. Wraps DELETE .../features/{featureId}/definition.
delete_feature_propertiesDelete a feature's whole properties (or desiredProperties) object, or one property by path. Wraps DELETE /things/{thingId}/features/{featureId}/(desired)properties[/{path}].
delete_policyDelete a policy. Wraps DELETE /api/2/policies/{policyId}. Irreversible. Note: things still referencing this policy will become inaccessible.
delete_policy_entryDelete one policy entry. Wraps DELETE /policies/{policyId}/entries/{label}.
delete_thingDelete a thing. Wraps DELETE /api/2/things/{thingId}. Irreversible.
delete_thing_attributesDelete a thing's whole attributes object, or one attribute by path. Wraps DELETE /things/{thingId}/attributes[/{path}].
delete_thing_definitionRemove a thing's definition. Wraps DELETE /things/{thingId}/definition.
get_connectionFetch a connection's config. Wraps GET /api/2/connections/{connectionId}. Requires devops credentials.
get_connection_logsGet a connection's logs. Wraps GET /connections/{connectionId}/logs. Logging must first be enabled via send_connection_command(connection_id, "connectivity.commands:enableConnectionLogs") — it's on by default when a connection is created or opened. Requires devops credentials.
get_connection_metricsGet a connection's metrics. Wraps GET /connections/{connectionId}/metrics. Requires devops credentials.
Show 33 more tools
get_connection_statusGet a connection's live status. Wraps GET /connections/{connectionId}/status. Requires devops credentials.
get_devops_configGet cluster-wide runtime configuration. Wraps GET /devops/config?path=... Requires devops credentials.
get_featureFetch a single feature (definition + properties + desiredProperties). Wraps GET /things/{thingId}/features/{featureId}.
get_feature_definitionGet a feature's definition. Wraps GET .../features/{featureId}/definition.
get_feature_propertiesGet a feature's properties (or desiredProperties), or one property by path. Wraps GET /things/{thingId}/features/{featureId}/(desired)properties[/{path}].
get_logging_configGet currently configured log levels. Wraps GET /devops/logging[/{moduleName}]. Requires devops credentials.
get_policyFetch a policy. Wraps GET /api/2/policies/{policyId}.
get_policy_entriesGet all policy entries, or one entry by label. Wraps GET /policies/{policyId}/entries[/{label}].
get_thingFetch the full digital twin (attributes and features) for a thing. Wraps GET /api/2/things/{thingId}.
get_thing_attributesGet a thing's attributes, or one attribute by JSON pointer path. Wraps GET /things/{thingId}/attributes[/{path}].
get_thing_definitionGet a thing's definition (WoT model reference). Wraps GET /things/{thingId}/definition.
get_thing_featuresFetch only the feature state (sensor/actuator data) for a thing. Wraps GET /api/2/things/{thingId}/features. Ditto returns 404 both when the thing doesn't exist and when it exists but has no features defined; both cases are normalized here to an empty dict.
get_thing_policy_idGet the policy ID controlling access to a thing. Wraps GET /things/{thingId}/policyId.
get_thingsBulk-fetch multiple things by ID in one request. Wraps GET /api/2/things?ids=...
list_connectionsList all configured connections. Wraps GET /api/2/connections. Requires devops credentials.
list_thingsSearch/list digital twins (things) registered in Ditto. Wraps GET /api/2/search/things. Returns: {"items": [...], "count": int}
patch_thingPartially update a thing (creates it if it doesn't exist yet). Wraps PATCH /api/2/things/{thingId} with Content-Type: application/merge-patch+json.
poll_thing_changesOpen a short-lived SSE connection and collect live thing-change events. Approximates Ditto's persistent-connection change feed (GET /api/2/things with Accept: text/event-stream) within a single request/response tool call. Each event is a partial update (only the changed portion of the thing). Ditto's SSE stream sends periodic empty `data:` keepalive lines even when nothing has changed; the deadline is checked on every line received (including keepalives), not just on real events, so this always returns within duration_seconds regardless of how quiet or chatty the stream is.
put_featureCreate or replace a whole feature. Wraps PUT /things/{thingId}/features/{featureId}.
put_policyCreate a new policy, or replace an existing one (with overwrite=True). Wraps PUT /api/2/policies/{policyId}.
put_thingCreate a new thing, or replace an existing one (with overwrite=True). Wraps PUT /api/2/things/{thingId}. Uses If-None-Match to make the create-only (overwrite=False) path race-free rather than check-then-set.
send_connection_commandSend a lifecycle/diagnostic command to a connection. Wraps POST /connections/{connectionId}/command. Requires devops credentials.
send_devops_piggybackSend a low-level admin (piggyback) command to the Ditto cluster. Wraps POST /devops/piggyback[/{serviceName}[/{instanceIndex}]]. Requires devops credentials. This is Ditto's most powerful/least guarded admin API — use with care.
send_messageSend a live message to (or from) a thing or one of its features. Wraps POST /things/{thingId}/[features/{featureId}/]{direction}/messages/{subject}.
set_feature_definitionSet a feature's definition. Wraps PUT .../features/{featureId}/definition.
set_feature_propertiesSet a feature's whole properties (or desiredProperties) object, or one property by path. Wraps PUT /things/{thingId}/features/{featureId}/(desired)properties[/{path}].
set_logging_configSet a log level for a logger. Wraps PUT /devops/logging[/{moduleName}]. Requires devops credentials.
set_policy_entryCreate or replace one policy entry. Wraps PUT /policies/{policyId}/entries/{label}.
set_thing_attributesSet a thing's whole attributes object, or one attribute by path. Wraps PUT /things/{thingId}/attributes[/{path}].
set_thing_definitionSet a thing's definition. Wraps PUT /things/{thingId}/definition.
set_thing_policy_idRepoint a thing at a different policy. Wraps PUT /things/{thingId}/policyId.
update_connectionUpdate an existing connection's config. Wraps PUT /api/2/connections/{connectionId}. Unlike thing/policy PUT, this only updates — Ditto returns 404 if the connection doesn't already exist. Requires devops credentials.
whoamiReturn the identity Ditto has authenticated this connector as. Wraps GET /api/2/whoami. Useful to sanity-check DITTO_USERNAME/DITTO_PASSWORD/DITTO_BEARER_TOKEN configuration.
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 33
- Last commit (this folder)
- Jul 24, 2026 (3 months ago)
- Last release
- Jul 24, 2026 (3 months ago)
- Last package publish
- Jul 23, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.nagarjunr/eclipse-ditto- Version
- 0.1.1
- Auth
- API key
- Packages
- pypi eclipse-ditto-mcp-server
- License
- MIT
- Repository
- github.com/nagarjunr/iot-mcp-servers
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from nagarjunr
- 0.576score
Azure IoT Hub
nagarjunr
MCP server for Azure IoT Hub: device registry, twins, methods, jobs, messaging.
ConnectorAFreshness: ALocal↓ 37/wkClaude Code +5 - 0.570score
AWS IoT Core
nagarjunr
MCP server for AWS IoT Core: device registry, shadows, jobs, rules, messaging.
ConnectorAFreshness: ALocal↓ 29/wkClaude Code +5 - 0.525score
Sparkplug B
nagarjunr
MCP server for Sparkplug B: node/device discovery, metrics, commands, host state over MQTT.
ConnectorBFreshness: BLocal↓ 24/wkClaude Code +5 - 0.475score
MQTT
nagarjunr
MCP server for MQTT 5.0 brokers (publish, subscribe, topic discovery).
ConnectorCFreshness: CLocal↓ 24/wkClaude Code +5
Cite this page
Eclipse Ditto MCP server. Agent Mart. https://agentmart.dev/connectors/nagarjunr-eclipse-ditto (last updated 2026-10-24)