Skip to main content
Glama

Get SignalHarness service

get_service
Read-onlyIdempotent

Inspect one enabled public SignalHarness service before invoking it. Use an exact service_id returned by list_services. This free, read-only call returns the canonical description, input and output schemas, price, endpoint, and supported payment metadata when available; an unknown or disabled ID returns a normalized not-found error.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "service_id": "<service_id>"
    },
    "name": "get_service"
  }
}

Input Schema

NameRequiredDescriptionDefault
service_idYesExact canonical service ID from list_services; matching is case-sensitive and aliases are not accepted.

Output Schema

NameRequiredDescriptionDefault
errorNoStable machine error code when the service cannot be returned.
service_idNoExact canonical service ID.
input_schemaNoJSON Schema the invoke_service input must satisfy.
output_schemaNoJSON Schema describing the service-specific success result.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / service_id / description
      Added value: +"Exact canonical service ID from list_services; matching is case-sensitive and aliases are not accepted."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "Canonical public service metadata, or a normalized machine-readable error.",
      +  "properties": {
      +    "error": {
      +      "description": "Stable machine error code when the service cannot be returned.",
      +      "type": "string"
      +    },
      +    "input_schema": {
      +      "description": "JSON Schema the invoke_service input must satisfy.",
      +      "type": "object"
      +    },
      +    "output_schema": {
      +      "description": "JSON Schema describing the service-specific success result.",
      +      "type": "object"
      +    },
      +    "service_id": {
      +      "description": "Exact canonical service ID.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations, the description adds meaningful behavioral detail: the call is free and read-only, it returns canonical schema, price, endpoint, and payment metadata when available, and unknown or disabled IDs produce a normalized not-found error. This is rich context that helps the agent predict outcomes.

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?

The description is two sentences, front-loaded with the core purpose, and every clause adds value: usage context, ID source, return contents, and error behavior. There is no redundancy or filler.

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 one required parameter, an output schema, rich annotations, and siblings provided, the description is complete. It covers the expected return fields, mentions the when-available caveat for payment metadata, and specifies error behavior for invalid IDs.

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 coverage is 100%, and the schema description already covers exact matching, case sensitivity, and alias rejection. The tool description reinforces 'exact service_id returned by list_services' but adds no new parameter meaning beyond the schema, so the baseline of 3 applies.

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 opens with a specific verb and resource: 'Inspect one enabled public SignalHarness service before invoking it.' It clearly differentiates from the sibling tools by implying this is a pre-invocation inspection step rather than an invocation or listing operation.

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

Usage Guidelines4/5

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

The description states when to use the tool ('before invoking it') and requires an exact service_id returned by list_services, effectively routing the agent to the correct sibling for ID retrieval. It does not explicitly name invoke_service as the alternative for actually invoking, but that is strongly implied and supported by the sibling list.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources