Skip to main content
Glama

Connect to ~alter

hello_agent
Read-onlyIdempotent

First handshake with ~alter. Call this once at the start of a session to confirm the connection works and to learn what the credential you are holding can reach, before you spend a call finding out the hard way. Returns the server version, whether you are authenticated, your trust tier, and how many tools are callable at that tier against how many exist. Reads nothing about any member and changes nothing. Takes no parameters. Free L0, no authentication required; an unauthenticated caller gets a real answer describing the anonymous surface.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
_metaYes
contentYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "_meta": {
      +      "properties": {
      +        "authenticated": {
      +          "type": "boolean"
      +        },
      +        "server": {
      +          "type": "string"
      +        },
      +        "tier": {
      +          "type": "string"
      +        },
      +        "tools": {
      +          "properties": {
      +            "advertised_free": {
      +              "type": "integer"
      +            },
      +            "advertised_premium": {
      +              "type": "integer"
      +            },
      +            "advertised_total": {
      +              "type": "integer"
      +            },
      +            "anon_callable": {
      +              "description": "Present as an int only when authenticated is false; null when authenticated.",
      +              "type": [
      +                "integer",
      +                "null"
      +              ]
      +            },
      +            "callable_total": {
      +              "type": "integer"
      +            },
      +            "free": {
      +              "type": "integer"
      +            },
      +            "identity_query": {
      +              "type": "integer"
      +            },
      +            "messaging": {
      +              "type": "integer"
      +            },
      +            "premium": {
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "anon_callable",
      +            "callable_total",
      +            "identity_query",
      +            "free",
      +            "premium",
      +            "messaging",
      +            "advertised_total",
      +            "advertised_free",
      +            "advertised_premium"
      +          ],
      +          "type": "object"
      +        },
      +        "version": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "server",
      +        "version",
      +        "authenticated",
      +        "tier",
      +        "tools"
      +      ],
      +      "type": "object"
      +    },
      +    "content": {
      +      "items": {
      +        "properties": {
      +          "text": {
      +            "type": "string"
      +          },
      +          "type": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "text"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "content",
      +    "_meta"
      +  ],
      +  "type": "object"
      +}
  2. Added
  3. Removed
  4. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description adds value by explicitly stating 'Reads nothing about any member and changes nothing.' It also discloses authentication behavior, including that no authentication is required and unauthenticated callers receive a real anonymous-surface response.

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 four focused sentences, each earning its place: purpose, placement, return values, and side effects/authentication. The most important guidance is front-loaded, and there is no 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?

Given the output schema exists and there are no parameters, the description only needs to explain when to call, what it returns, and what side effects or authentication constraints exist. It covers all of these, including the unauthenticated edge case.

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?

With zero parameters and an empty input schema, there is nothing meaningful to document. The description redundantly says 'Takes no parameters,' but the baseline for a zero-parameter tool is met without requiring additional semantic detail.

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 'First handshake with ~alter' and specifies the exact purpose: confirming the connection and learning what the held credential can reach. It also enumerates the concrete return items—server version, authentication status, trust tier, and tool counts—which clearly differentiates it from sibling tools like alter_whoami.

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?

It explicitly says to 'Call this once at the start of a session' and frames it as a preliminary check before spending other calls. It does not name alternative tools for exclusion, but it clearly establishes when and why to use this tool.

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.

TDQS

A4/5.0
Disambiguation3/5

Several tools overlap in purpose: hello_agent and alter_login_status both report authentication state at session start, alter_verify and alter_resolve_handle both confirm handle existence, and golden_thread_status and thread_census both describe the same program. The descriptions are strong enough to disambiguate most cases, but the boundaries are not always obvious.

Naming Consistency3/5

Everything uses snake_case and most names are readable, but conventions are mixed: some tools use the alter_ prefix, others use describe_, get_, register_, or standalone nouns like thread_census and golden_thread_status. recommend_tool is also explicitly misleading, since it returns connection wiring rather than a tool recommendation.

Tool Count4/5

At 16 tools, the set is just above the typical well-scoped range, but each tool serves a distinct free-tier need: onboarding, registration, handle lookup, vocabulary reference, network stats, and program status. The count feels reasonable rather than bloated.

Completeness3/5

The set covers the anonymous/free surface well: registration, handle resolution, credential introspection, vocabularies, and program status are all present. However, multiple tools referenced in descriptions are absent, including alter_presence_set, verify_identity, query_field, and create_requirement, so core identity workflows around updating presence and performing paid field queries hit dead ends.

Resources