Skip to main content
Glama

ET Ducky

Server Details

Read-only access to an ET Ducky organization's Windows and Linux agents, alerts, and fleet summary. Four tools list agents, get one agent with its latest health sample, list alerts, and summarize the fleet. Hosted Streamable HTTP endpoint, authenticated with an organization API token sent as a Bearer header.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct scope: get_agent (single agent detail), list_agents (collection listing), get_fleet_summary (aggregate counts), and list_alerts (alert collection). The singular/plural and summary distinctions make boundaries unambiguous.

Naming Consistency5/5

All four tools use a consistent snake_case verb_noun pattern (get_agent, get_fleet_summary, list_agents, list_alerts), with get_ for singletons/aggregates and list_ for collections. No mixing of conventions.

Tool Count4/5

Four tools is well-scoped for a read-only fleet monitoring surface, with each earning its place. It sits slightly on the thin side, as richer per-agent or per-alert operations are not exposed, but nothing feels redundant.

Completeness3/5

The read side (list/get/summary for agents and alerts) is covered, but the domain tracks isolation state and active alerts without any tool to isolate/release an agent or acknowledge/resolve an alert. These notable missing operations leave agents unable to act on findings.

Available Tools

4 tools
get_agentGet agentA
Read-only
Inspect

One agent with its latest health sample (CPU, memory, free space on C:, uptime, pending reboot, make and model) and its number of active alerts.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYesThe agentId from list_agents.

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds valuable behavioral detail by enumerating the exact payload fields returned, which is important because there is no output schema. It still omits error behavior (e.g., unknown agent_id) and the freshness semantics of 'latest'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single, front-loaded clause with no filler, and the parenthetical list of fields is an efficient way to convey return shape. The only mild structural weakness is that it is a noun phrase rather than an explicit verb-led instruction, and the parenthetical is dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with no output schema, the description compensates by naming the returned fields and the active alert count, and annotations cover the safety profile. It is nearly complete, missing only error handling and freshness precision, which are minor for this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single agent_id parameter, and its schema description ('The agentId from list_agents') already explains sourcing. The tool description adds no further parameter semantics or format details, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear resource and scope ('One agent') and enumerates the returned data (CPU, memory, free space, uptime, pending reboot, make/model, active alerts), which distinguishes it from the plural list_agents. It lacks an explicit verb and does not name the sibling alternatives, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance, no conditions for choosing this tool over list_agents, get_fleet_summary, or list_alerts, and no prerequisites or exclusions. The singular scope only weakly implies usage, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_fleet_summaryGet fleet summaryA
Read-only
Inspect

Counts for this organization: agents, online, offline, Windows, Linux, other OS, isolated, and active alerts by severity.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds substantial value by enumerating exactly which counts are returned (agents, online, offline, Windows, Linux, other OS, isolated, active alerts by severity), compensating for the absence of an output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. Every item in the list earns its place by describing the return payload.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-param, read-only summary tool with annotations covering safety and no output schema, the description adequately conveys what data is returned. Minor gaps include data freshness or scope caveats, but nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so the baseline is 4. The description correctly does not introduce parameter concepts that don't exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific purpose: counts of agents broken down by status, OS, isolation, and alerts by severity for this organization. Clearly distinguishable from sibling list/get tools, but does not explicitly name or route away from them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like list_agents or list_alerts. The agent must infer that this is the summary-view tool rather than a listing tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_agentsList agentsB
Read-only
Inspect

List this organization's ET Ducky agents (Windows and Linux endpoints) with OS, agent version, online state, last heartbeat, last signed-in user, isolation state and tags. Sorted by hostname.

ParametersJSON Schema
NameRequiredDescriptionDefault
osNoOnly agents of this OS family.
tagNoOnly agents carrying this exact tag name.
limitNoMost rows to return. Defaults to 100.
onlineNotrue for agents with a heartbeat in the last 5 minutes, false for the rest.
searchNoCase-insensitive part of the hostname.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful context by listing the returned fields and stating the sort order (by hostname), but it says nothing about result caps or truncation behavior for large fleets.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence that front-loads the resource and scope and then enumerates return fields. No filler, nothing redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly compensates by enumerating the returned fields, which is the key missing piece. It is nearly complete for a read-only list tool, with only pagination/truncation behavior left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each filter (os, tag, limit, online, search) documented in the schema itself, so the baseline is 3. The description adds no filter syntax or interaction detail (e.g. combining os and tag) beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (List) and resource (agents) and enumerates the returned fields, so the agent knows exactly what it retrieves. However, it offers no differentiation from siblings like get_agent or get_fleet_summary, which matters given three closely related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus get_agent (single agent) or get_fleet_summary (aggregate). The description is a pure capability statement with no context or exclusions, leaving the agent to infer routing from the names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_alertsList alertsB
Read-only
Inspect

Alerts raised for this organization's agents, newest first.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMost rows to return. Defaults to 100.
statusNoAlert status. Defaults to active.
agent_idNoOnly alerts for this agent.
severityNoOnly alerts of this severity, for example critical or warning.
since_hoursNoHow far back to look. Defaults to 168 (7 days).

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds useful context that results are org-scoped and sorted newest-first, but says nothing about pagination, truncation at the limit, or what happens when status='any'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; scope and ordering are stated immediately and nothing is repeated from the structured fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-param read-only list tool with full schema coverage this is close to adequate, but with no output schema the description could usefully sketch what an alert record contains or note pagination behavior. Ordering is the only return-value hint provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter including defaults (limit=100, status=active, since_hours=168) is already documented in the schema. The description adds no parameter-level meaning such as filter interaction or severity values, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear resource (alerts), scope (this organization's agents), and ordering (newest first), which is enough to distinguish it from the agent-oriented siblings list_agents and get_agent. It does not explicitly name those siblings or contrast itself with them, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of alternatives such as get_fleet_summary for aggregate health, and no exclusions or prerequisites. The agent must infer from the name alone that this is the tool for retrieving alert rows.

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.

  1. 4 tool updates
    • First observedget_agent
    • First observedget_fleet_summary
    • First observedlist_agents
    • First observedlist_alerts

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Perplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables 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.
    16
    11 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources