Skip to content
Agentmart
Submit a tool

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

IndexedMITLocal (stdio)
Write a review

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.

We use your email only for this newsletter. Privacy

About

MCP server for the Eclipse Ditto digital twin HTTP API (things, policies, connections, more).

No 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_things
  • get_connection
  • get_connection_logs
  • get_connection_metrics
  • get_connection_status
  • get_devops_config
  • get_feature
  • get_feature_definition
  • get_feature_properties
  • get_logging_config
  • get_policy
  • get_policy_entries
Show 10 more tools
  • get_thing
  • get_thing_attributes
  • get_thing_definition
  • get_thing_features
  • get_thing_policy_id
  • get_things
  • list_connections
  • list_things
  • poll_thing_changes
  • whoami

Write 17 · Create, change, send or run things.

  • claim_thing
  • create_connection
  • patch_thing
  • put_feature
  • put_policy
  • put_thing
  • send_connection_command
  • send_devops_piggyback
  • send_message
  • set_feature_definition
  • set_feature_properties
  • set_logging_config
Show 5 more tools
  • set_policy_entry
  • set_thing_attributes
  • set_thing_definition
  • set_thing_policy_id
  • update_connection

Delete 9 · Delete, drop, revoke or wipe things.

  • delete_connection
  • delete_feature
  • delete_feature_definition
  • delete_feature_properties
  • delete_policy
  • delete_policy_entry
  • delete_thing
  • delete_thing_attributes
  • delete_thing_definition

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • DITTO_BEARER_TOKEN
  • DITTO_DEVOPS_PASSWORD
  • DITTO_PASSWORD

Other settings (environment variables or headers).

  • DITTO_BASE_URL
  • DITTO_DEVOPS_USERNAME
  • DITTO_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_thing

    Send a claim message to gain access to a thing. Wraps POST /things/{thingId}/inbox/claim.

  • count_things

    Count things matching a search filter, without fetching them. Wraps GET /api/2/search/things/count.

  • create_connection

    Create a new connection; its ID is generated by Ditto. Wraps POST /api/2/connections. Requires devops credentials.

  • delete_connection

    Delete a connection. Wraps DELETE /api/2/connections/{connectionId}. Irreversible. Requires devops credentials.

  • delete_feature

    Delete a whole feature. Wraps DELETE /things/{thingId}/features/{featureId}.

  • delete_feature_definition

    Remove a feature's definition. Wraps DELETE .../features/{featureId}/definition.

  • delete_feature_properties

    Delete a feature's whole properties (or desiredProperties) object, or one property by path. Wraps DELETE /things/{thingId}/features/{featureId}/(desired)properties[/{path}].

  • delete_policy

    Delete a policy. Wraps DELETE /api/2/policies/{policyId}. Irreversible. Note: things still referencing this policy will become inaccessible.

  • delete_policy_entry

    Delete one policy entry. Wraps DELETE /policies/{policyId}/entries/{label}.

  • delete_thing

    Delete a thing. Wraps DELETE /api/2/things/{thingId}. Irreversible.

  • delete_thing_attributes

    Delete a thing's whole attributes object, or one attribute by path. Wraps DELETE /things/{thingId}/attributes[/{path}].

  • delete_thing_definition

    Remove a thing's definition. Wraps DELETE /things/{thingId}/definition.

  • get_connection

    Fetch a connection's config. Wraps GET /api/2/connections/{connectionId}. Requires devops credentials.

  • get_connection_logs

    Get 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_metrics

    Get a connection's metrics. Wraps GET /connections/{connectionId}/metrics. Requires devops credentials.

Show 33 more tools
  • get_connection_status

    Get a connection's live status. Wraps GET /connections/{connectionId}/status. Requires devops credentials.

  • get_devops_config

    Get cluster-wide runtime configuration. Wraps GET /devops/config?path=... Requires devops credentials.

  • get_feature

    Fetch a single feature (definition + properties + desiredProperties). Wraps GET /things/{thingId}/features/{featureId}.

  • get_feature_definition

    Get a feature's definition. Wraps GET .../features/{featureId}/definition.

  • get_feature_properties

    Get a feature's properties (or desiredProperties), or one property by path. Wraps GET /things/{thingId}/features/{featureId}/(desired)properties[/{path}].

  • get_logging_config

    Get currently configured log levels. Wraps GET /devops/logging[/{moduleName}]. Requires devops credentials.

  • get_policy

    Fetch a policy. Wraps GET /api/2/policies/{policyId}.

  • get_policy_entries

    Get all policy entries, or one entry by label. Wraps GET /policies/{policyId}/entries[/{label}].

  • get_thing

    Fetch the full digital twin (attributes and features) for a thing. Wraps GET /api/2/things/{thingId}.

  • get_thing_attributes

    Get a thing's attributes, or one attribute by JSON pointer path. Wraps GET /things/{thingId}/attributes[/{path}].

  • get_thing_definition

    Get a thing's definition (WoT model reference). Wraps GET /things/{thingId}/definition.

  • get_thing_features

    Fetch 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_id

    Get the policy ID controlling access to a thing. Wraps GET /things/{thingId}/policyId.

  • get_things

    Bulk-fetch multiple things by ID in one request. Wraps GET /api/2/things?ids=...

  • list_connections

    List all configured connections. Wraps GET /api/2/connections. Requires devops credentials.

  • list_things

    Search/list digital twins (things) registered in Ditto. Wraps GET /api/2/search/things. Returns: {"items": [...], "count": int}

  • patch_thing

    Partially 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_changes

    Open 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_feature

    Create or replace a whole feature. Wraps PUT /things/{thingId}/features/{featureId}.

  • put_policy

    Create a new policy, or replace an existing one (with overwrite=True). Wraps PUT /api/2/policies/{policyId}.

  • put_thing

    Create 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_command

    Send a lifecycle/diagnostic command to a connection. Wraps POST /connections/{connectionId}/command. Requires devops credentials.

  • send_devops_piggyback

    Send 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_message

    Send a live message to (or from) a thing or one of its features. Wraps POST /things/{thingId}/[features/{featureId}/]{direction}/messages/{subject}.

  • set_feature_definition

    Set a feature's definition. Wraps PUT .../features/{featureId}/definition.

  • set_feature_properties

    Set a feature's whole properties (or desiredProperties) object, or one property by path. Wraps PUT /things/{thingId}/features/{featureId}/(desired)properties[/{path}].

  • set_logging_config

    Set a log level for a logger. Wraps PUT /devops/logging[/{moduleName}]. Requires devops credentials.

  • set_policy_entry

    Create or replace one policy entry. Wraps PUT /policies/{policyId}/entries/{label}.

  • set_thing_attributes

    Set a thing's whole attributes object, or one attribute by path. Wraps PUT /things/{thingId}/attributes[/{path}].

  • set_thing_definition

    Set a thing's definition. Wraps PUT /things/{thingId}/definition.

  • set_thing_policy_id

    Repoint a thing at a different policy. Wraps PUT /things/{thingId}/policyId.

  • update_connection

    Update 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.

  • whoami

    Return 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
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from nagarjunr

Cite this page

Eclipse Ditto MCP server. Agent Mart. https://agentmart.dev/connectors/nagarjunr-eclipse-ditto (last updated 2026-10-24)