Skip to main content
Glama

subscribe_to_event

subscribe_to_event
Idempotent

Register a Firebird POST_EVENT listener to receive database event notifications; also requires MCP resource subscription for delivery.

Instructions

Register a Firebird POST_EVENT listener; MCP resource subscription is also required for notifications

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
eventNameYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoFailure information; present when success is false
resultNoThe legacy JSON payload; present for completed operations and partial batches
successYesFalse for tool failures, including partially failed batches

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv2.12.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / properties / eventName / description
      Removed value: -"The name of the Firebird event to subscribe to (e.g. 'NEW_ORDER', 'CLIENT_UPDATED')"
    • addedInput schema / properties / eventName / maxLength
      Added value: +127
    • addedInput schema / properties / eventName / minLength
      Added value: +1
    • addedInput schema / properties / eventName / pattern
      Added value: +"^[^\\u0000-\\u001f\\u007f]+$"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$defs": {
      +    "__schema0": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        },
      +        {
      +          "items": {
      +            "$ref": "#/$defs/__schema0"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "additionalProperties": {
      +            "$ref": "#/$defs/__schema0"
      +          },
      +          "propertyNames": {
      +            "type": "string"
      +          },
      +          "type": "object"
      +        }
      +      ]
      +    }
      +  },
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "properties": {
      +    "error": {
      +      "additionalProperties": false,
      +      "description": "Failure information; present when success is false",
      +      "properties": {
      +        "details": {
      +          "additionalProperties": {
      +            "$ref": "#/$defs/__schema0"
      +          },
      +          "propertyNames": {
      +            "type": "string"
      +          },
      +          "type": "object"
      +        },
      +        "message": {
      +          "type": "string"
      +        },
      +        "type": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "message",
      +        "type"
      +      ],
      +      "type": "object"
      +    },
      +    "result": {
      +      "additionalProperties": false,
      +      "description": "The legacy JSON payload; present for completed operations and partial batches",
      +      "properties": {
      +        "eventName": {
      +          "type": "string"
      +        },
      +        "registered": {
      +          "type": "boolean"
      +        },
      +        "subscriptionAction": {
      +          "enum": [
      +            "open",
      +            "close"
      +          ],
      +          "type": "string"
      +        },
      +        "uri": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "eventName",
      +        "uri"
      +      ],
      +      "type": "object"
      +    },
      +    "success": {
      +      "description": "False for tool failures, including partially failed batches",
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "success"
      +  ],
      +  "type": "object"
      +}
  2. Addedv2.8.1

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already supply readOnlyHint=false, idempotentHint=true, and destructiveHint=false. The description adds real behavioral context beyond them: notifications require a second, separate MCP resource subscription in addition to the Firebird listener, which an agent would otherwise miss.

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?

One compact sentence with the core action front-loaded and the prerequisite trailing after a semicolon. No wasted text, though the semicolon clause is slightly compressed.

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?

An output schema exists so return values need no explanation, and the dual-subscription note is a useful addition. Still missing is how to discover valid event names and how to later undo the subscription via unsubscribe_from_event, leaving the agent to infer the full workflow.

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

Parameters2/5

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

There is one parameter (eventName) with 0% schema description coverage, and the description says nothing about it—neither format, source of valid values, nor constraints. With a single required param the description had an easy opportunity to add a pointer to list_available_events and did not.

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 verb+resource: 'Register a Firebird POST_EVENT listener'. This clearly separates it from unsubscribe_from_event and list_available_events. It is not explicitly differentiated from siblings in prose, keeping it just 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 Guidelines3/5

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

It implies usage by naming a prerequisite ('MCP resource subscription is also required for notifications'), which is more than nothing. However, it never says when to subscribe vs. when to unsubscribe, nor points to list_available_events for valid event names.

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