Skip to main content
Glama
oliverames

MCP Server for Wave

by oliverames

Wave: Auth Status

wave_auth_status
Read-onlyIdempotent

Check Wave credential status and whether write tools are enabled without making an API request. Use this first when other tools report authentication problems.

Instructions

Report how this server resolved its Wave credentials and whether write tools are enabled. Makes no Wave API request, so it works even when the token is missing or expired -- use it first when other tools report authentication problems.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
next_stepNo
token_sourceYes
lookup_errorsYes
detected_agentYes
writes_enabledYes
has_credentialsYes
sources_checkedYes
registered_toolsYes
write_tools_hiddenYes
default_business_idYes
config_fallback_disabledYes

Schema Changelog

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

  1. Changed1 schema field changedv1.0.6
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "config_fallback_disabled": {
      +      "type": "boolean"
      +    },
      +    "default_business_id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "detected_agent": {
      +      "type": "string"
      +    },
      +    "has_credentials": {
      +      "type": "boolean"
      +    },
      +    "lookup_errors": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "next_step": {
      +      "type": "string"
      +    },
      +    "registered_tools": {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "sources_checked": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "found": {
      +            "type": "boolean"
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "label": {
      +            "type": "string"
      +          },
      +          "path": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "label",
      +          "path",
      +          "found"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "token_source": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "write_tools_hidden": {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "writes_enabled": {
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "has_credentials",
      +    "token_source",
      +    "writes_enabled",
      +    "default_business_id",
      +    "detected_agent",
      +    "config_fallback_disabled",
      +    "sources_checked",
      +    "lookup_errors",
      +    "registered_tools",
      +    "write_tools_hidden"
      +  ],
      +  "type": "object"
      +}
  2. First observedv1.0.2

TDQS

A4.9/5.0
Behavior5/5

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

The annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds valuable behavioral context beyond those annotations: it makes no Wave API request and functions even with a missing or expired token. This tells an agent the tool's failure modes and network behavior, which annotations alone do not convey.

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, each earning its place: the first defines what the tool reports, and the second explains its network-free behavior and primary use case. It is front-loaded with the core purpose and contains no filler, repetition, or schema duplication.

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?

For a zero-parameter diagnostic tool with a rich output schema, the description covers everything an agent needs: what it reports, that it does not make an API request, that it tolerates auth failures, and when to use it. The presence of an output schema means return-value details need not be restated in the description.

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?

This tool has zero parameters and the schema coverage is complete, so there are no parameter semantics for the description to clarify. The 0-parameter baseline of 4 applies because there is no information gap to fill; the description correctly avoids inventing parameter guidance where none exists.

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 verb+resource pair: 'Report how this server resolved its Wave credentials and whether write tools are enabled.' This clearly distinguishes the tool from all data-access siblings like wave_list_invoices or wave_get_account by framing it as a diagnostic status tool. The phrase 'Makes no Wave API request' further differentiates it from every sibling that performs API calls.

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 provides an explicit usage directive: 'use it first when other tools report authentication problems.' It also explains why this tool is the right first choice by noting it works even when the token is missing or expired. This is direct, actionable guidance for when to invoke the tool.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/oliverames/wave-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server