Digital-Simon EMS
Server Details
Digital-Simon EMS: device list, live readings and history for PV, storage and meters; switching only with explicit approval.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Most tools target clearly distinct resource/action pairs, but there is some overlap among get_latest_metrics, get_metrics_history, and poll_instance, all of which concern metrics collection/retrieval. test_instance also partially duplicates status/error information already present in list_instances, though the descriptions are clear enough to guide correct selection.
All tool names follow a consistent snake_case verb_noun pattern (get_, list_, poll_, send_, test_), with clear action and resource separation. There are no mixed naming conventions or vague generic verbs.
Seven tools is a well-scoped count for an EMS monitoring and control server. Each tool serves a distinct operational need, from inventory listing to metrics retrieval, polling, command sending, and connectivity testing.
The tool surface covers the core workflows: discovering connectors and instances, retrieving latest and historical metrics, triggering polls, sending switch commands, and testing instances. Instance/connector lifecycle management and pause/resume operations are absent, but those appear to be outside the server's apparent operational scope.
Available Tools
7 toolsget_latest_metricsBInspect
Aktuelle Messwerte einer Instanz (neuester Wert je Messgröße).
| Name | Required | Description | Default |
|---|---|---|---|
| instance_id | Yes | Instanz-ID (UUID) oder Label, z. B. "shellyplug-wohnzimmer" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it does disclose that the result is the latest value per metric, which is useful behavioral detail. It does not, however, state return shape, error behavior, or read-only/safety traits beyond what the name implicitly suggests.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with the key qualifier front-loaded; every word earns its place. There is no padding, repetition, or irrelevant context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter getter with no output schema, the description is minimally sufficient but leaves return formatting and value details unspecified. A short note on the returned structure would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents instance_id with 100% coverage and an example, so the baseline applies. The description adds no parameter-specific semantics, which is acceptable here because nothing is missing from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and operation ('Aktuelle Messwerte einer Instanz') and adds a precise qualifier ('neuester Wert je Messgröße'), so the core purpose is clear. It does not explicitly distinguish the tool from poll_instance, which could also plausibly return current instance data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to prefer this tool over siblings such as get_metrics_history or poll_instance. The word 'Aktuelle' implies a freshness context, but there is no explicit when/when-not or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_metrics_historyBInspect
Zeitverlauf der Messwerte einer Instanz (Standard: letzte 7 Tage des Connectors).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Ende (ISO 8601) | |
| from | No | Start (ISO 8601, z. B. 2026-09-01 oder 2026-09-01T00:00:00Z) | |
| keys | No | Kommagetrennte Messgrößen, z. B. "pv.power,battery.soc" | |
| limit | No | Maximale Anzahl Datenpunkte | |
| instance_id | Yes | Instanz-ID (UUID) oder Label |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears the full burden of behavioral disclosure. It adds one useful behavioral detail—the default time window of the last 7 days—but omits other important behavior such as return format, ordering, timezone handling, pagination, or how limit interacts with the time range.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core purpose and includes the key default behavior. It is not bloated, though it could be slightly more informative without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no output schema, no annotations, and several sibling tools, this description is too sparse. It does not explain what the tool returns, how defaulting works for from/to in detail, or how this differs clearly from get_latest_metrics. An agent would need additional inference or external knowledge to use it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all parameters with 100% coverage, so the baseline is 3. The description adds no additional parameter-specific meaning beyond implying that from/to relate to a time range, which the schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: the time series of measurement values for a specific instance. 'Zeitverlauf' (time course/history) distinguishes this from the sibling get_latest_metrics, though no explicit verb like 'retrieves' or 'returns' is used.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for historical metrics by saying 'Zeitverlauf' and noting the default of the last 7 days. However, it does not explicitly state when to use this tool instead of get_latest_metrics, nor does it mention any exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_connectorsAInspect
Alle verfügbaren Geräte-Vorlagen (Connector-Katalog) mit Kategorie und Hersteller.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It states the scope ('Alle verfügbaren') and result fields, but it does not explicitly say the operation is read-only, does not mention authentication or rate-limit considerations, and does not describe empty-list or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence conveys the resource, scope, and result fields with no filler or repetition. It is front-loaded and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-argument listing tool with no output schema, the description names the returned information (category, manufacturer) and the universe of results ('all available'). It could list more exact return fields, but nothing essential is missing for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and an empty schema, so there is nothing for the description to clarify about individual inputs. The phrase 'all available' usefully confirms that the tool is an unfiltered catalog listing, matching the 0-parameter baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('Geräte-Vorlagen' / Connector-Katalog) and the expected output fields (Kategorie, Hersteller). This clearly separates it from sibling tools like list_instances, which target a different resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool instead of alternatives such as list_instances or get_metrics_history. The intended usage is only implied by the resource name and 'all available'; there are no explicit conditions, exclusions, or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_instancesAInspect
Verbundene Geräte-Instanzen des Kontos – mit Status, Projekt, letztem Poll und Fehler.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | No | Optional: nur Instanzen dieses Projekts (Projekt-UUID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the behavioral transparency burden. It discloses the output scope and fields, which is useful, but it does not explicitly state that the operation is read-only, mention pagination, or describe error/edge-case behavior. For a simple list tool this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tight phrase with no filler. Every element either defines the scope or enumerates useful output fields, making it highly scannable and appropriately front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description covers the essential context: account scope, resource type, and common response attributes. It could be more complete with explicit usage boundaries against sibling tools, but the low complexity keeps that gap minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the only parameter, project_id, is already clearly documented as an optional project filter. The description does not need to repeat the parameter semantics, so it adds no extra value here but also introduces no gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as the account's connected device instances and names the returned fields (status, project, last poll, error), so an agent can tell what this tool is about. It does not include an explicit verb in the description itself—the action is supplied by the tool name 'list_instances'—but it does distinguish instances from sibling tools like list_connectors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: list the account's connected device instances, optionally filtered via project_id. There is no explicit comparison with alternatives such as poll_instance or list_connectors, and no when-not-to-use guidance is given, leaving selection partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
poll_instanceCInspect
Frisst Messwerte einer Cloud-Instanz sofort ab (Edge-Instanzen werden von der Box gepollt).
| Name | Required | Description | Default |
|---|---|---|---|
| instance_id | Yes | Instanz-ID (UUID) oder Label |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full transparency burden. It provides one behavioral detail — edge instances are polled from the box — but fails to state whether the poll is synchronous, what it returns, whether it causes side effects, or how it differs from simply fetching latest metrics. This is far below what an action with no annotation cover must disclose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence plus a parenthetical, with no filler. The action is front-loaded, and the parenthetical adds relevant edge-case information. Although the colloquial German verb is slightly odd, the structure is appropriately compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description still leaves critical operational questions unanswered: does it return the fetched metrics or merely trigger polling, what exactly is 'the box' in edge contexts, and are there blocking or latency implications. An agent could not confidently invoke it correctly based on this alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — the single parameter instance_id is documented as 'UUID or label'. The description adds no additional meaning to the parameter, so the baseline of 3 applies; the schema already does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action — 'Frisst Messwerte ... sofort ab' — meaning it immediately fetches/ingests metrics from a cloud instance, which is a clear verb+resource pairing. It hints at a behavioral nuance for edge instances but does not directly contrast with siblings like get_latest_metrics or get_metrics_history, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool instead of alternatives. There is no mention of get_latest_metrics or get_metrics_history, nor any condition like 'use when you need to force a fresh poll.' The parenthetical about edge instances is a behavior note, not a usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_commandAInspect
Sendet einen Schaltbefehl an eine Instanz. Nur möglich, wenn für die Instanz "Schalten erlauben" aktiv ist (und sie nicht pausiert ist).
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | Wert, z. B. "on"/"off"/true/false/1/0 oder "toggle" | |
| target | Yes | Ziel, z. B. Kanal "switch:0" oder "0" | |
| command | Yes | Befehl, z. B. "set" (Shelly: set/switch/relay/turn/toggle) | |
| instance_id | Yes | Instanz-ID (UUID) oder Label |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does reveal the key behavioral gate (switching must be allowed and instance not paused), which is genuinely useful. However, it doesn't disclose what happens after sending (return value, acknowledgment), whether the operation is synchronous, or how failures surface — and the mutating nature is only implied by 'Befehl senden'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the purpose and immediately follows with the key precondition. There is no fluff, no repetition of schema content, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderate-complexity mutation tool with no annotations and no output schema, the description covers the core action and the essential precondition but leaves gaps: the expected return/acknowledgment, error behavior beyond the precondition, and the fact that this is the sole state-changing tool among its siblings. Adequate for basic invocation, but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters with concrete examples (e.g., 'on'/'off'/true/false, 'switch:0', 'set' for Shelly). Per the baseline rule for high coverage, the description need not add parameter detail — and it doesn't add anything beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb, resource, and action: 'Sendet einen Schaltbefehl an eine Instanz' (sends a switching command to an instance). This clearly differentiates it from its siblings, which are all inspection/read tools (get_latest_metrics, list_instances, poll_instance, test_instance). An agent can immediately recognize this as the only write/control tool in the set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states a precondition: the command is only possible when 'Schalten erlauben' (switching allowed) is active for the instance and it is not paused. This gives clear context for when the tool can be invoked. However, it doesn't explicitly name alternatives or exclusion scenarios beyond these preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_instanceAInspect
Prüft die Verbindung einer Instanz: Status, letzter Fehler, Anzahl aktueller Messwerte.
| Name | Required | Description | Default |
|---|---|---|---|
| instance_id | Yes | Instanz-ID (UUID) oder Label |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavior. It does state the diagnostic nature and the data points reported, but it does not mention whether the check has side effects, requires special permissions, or how failures are surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence states the action and immediately lists the three relevant outputs after a colon. There is no filler, redundancy, or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description covers the essential return categories (status, last error, current value count) and the parameter is fully specified by the schema. It could add more detail about output shape or error behavior, but it is sufficiently complete for a simple check tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents instance_id with 100% coverage, including the note that it can be a UUID or label. The description adds no additional parameter-specific meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description has a specific verb ('Prüft') and resource ('Verbindung einer Instanz'), and enumerates the exact outputs: status, last error, and current measurement count. This clearly identifies it as a connectivity/health check, though it does not explicitly distinguish it from sibling tools like poll_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: use this tool when you need to verify an instance connection and observe its status, last error, and current metric count. However, there is no explicit when-to-use or when-not-to-use guidance, nor any reference to alternatives such as poll_instance or get_latest_metrics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
- First observed
get_latest_metrics - First observed
get_metrics_history - First observed
list_connectors - First observed
list_instances - First observed
poll_instance - First observed
send_command - First observed
test_instance
Publisher details
- Operator
- Ingenieurbüro Umweltsicherheit – Schachreiter Josef (Digital Simon) · Publisher source
- Operator website
- https://umweltsicherheit.org · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://umweltsicherheit.org/mcp.html · Publisher source
- Trust center
- https://umweltsicherheit.org/mcp.html · Publisher source
- Restrictions
- Not applicable
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.169 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm49 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.