Skip to main content
Glama

List Protocols

list_protocols
Read-onlyIdempotent

Lists industrial protocols supported by plctap with port hints, address models, data types, and brand clues. Use it to determine which protocol fits a detected device without asking the user.

Instructions

列出本 server 支持的工业协议及其能力。

返回每个协议的端口提示、地址模型、数据类型和品牌线索, Agent 可据此推断 "这个设备该用什么协议" 而无需问用户。 不确定协议名时先调用本工具。 不确定协议/端口时先调用 detect_device。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
hintYes
protocolsYes
allow_writeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.6.1
    • changedOutput schema / additionalProperties
      Previous value: -trueNew value: +false
    • addedOutput schema / description
      Added value: +"list_protocols 输出: 外层三键锁定; protocols 内条目保持自由形态\ndict (meta 条件键\"缺键而非 null\"——建模会把缺键变 null, wire 即变)。"
    • addedOutput schema / properties
      Added value: +{
      +  "allow_write": {
      +    "type": "boolean"
      +  },
      +  "hint": {
      +    "type": "string"
      +  },
      +  "protocols": {
      +    "additionalProperties": {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    "type": "object"
      +  }
      +}
    • addedOutput schema / required
      Added value: +[
      +  "protocols",
      +  "allow_write",
      +  "hint"
      +]
  2. First observedv0.4.0

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safe read-only behavior is covered. The description adds useful behavioral context: it returns capability details per protocol and is meant to let the agent infer the correct protocol without asking the user. No contradiction with annotations.

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?

Three short sentences: purpose, output content, and usage guidance. Every sentence earns its place and the key call-decision rule is front-loaded near the end without excess wording.

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

Completeness5/5

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

With zero parameters, comprehensive annotations, and an output schema present, the description fully covers why and when to call the tool as well as what it returns. Nothing needed for correct invocation 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?

The tool has zero parameters and the schema is complete, so the description has no parameter burden. Baseline 4 applies; the description instead enriches understanding of the output, which is appropriate for a no-argument discovery tool.

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

Purpose5/5

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

The description states a specific action and resource: '列出本 server 支持的工业协议及其能力' (list the protocols supported by this server and their capabilities). It further specifies what is returned per protocol (port hints, address model, data types, brand clues), making the tool's purpose concrete and distinct from siblings like detect_device.

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

Usage Guidelines5/5

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

The description gives explicit routing guidance: call this tool when the protocol name is uncertain, and call detect_device when the protocol/port is uncertain. This directly tells the agent when to use this tool versus an alternative.

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