Skip to main content
Glama

Undeafen a conference member

undeafen_conference_member
DestructiveIdempotent

Restore audio to a deafened member in a live Vobiz conference so they can hear the room again. Provide the conference name and member ID; succeeds even if the member is not currently deafened.

Instructions

Let deafened members of a live Vobiz conference hear the room again (DELETE /Conference/{name}/Member/{id}/Deaf/); the reverse of deafen_conference_member. Undeafening a member who is not deafened still succeeds. A room that is not running, or a member who already left, returns the not_found error.

Input Schema

NameRequiredDescriptionDefault
member_idYesConferenceMemberID from the ConferenceEnter callback (or get_conference), a comma-separated list such as 17,45,82, or `all` for every member.
conference_nameYesConference room name, exactly as used in the <Conference> XML element.

Output Schema

NameRequiredDescriptionDefault
okNoTrue on success; false when the result is an error (then error, message and retryable are set).
deafNoNew deaf state of the members (deafen and undeafen tools only).
mutedNoNew mute state of the members (mute and unmute tools only).
member_idNoMembers the action was applied to: the literal "all", or the list of member IDs as Vobiz echoed them (or as requested).
http_statusNoHTTP status Vobiz answered with (202 = accepted, 204 = done).
backend_messageNoVobiz's own status message, or null.
conference_nameNoRoom the action was applied to.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.4.2
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "backend_message": {
      +      "description": "Vobiz's own status message, or null."
      +    },
      +    "conference_name": {
      +      "description": "Room the action was applied to.",
      +      "type": "string"
      +    },
      +    "deaf": {
      +      "description": "New deaf state of the members (deafen and undeafen tools only).",
      +      "type": "boolean"
      +    },
      +    "http_status": {
      +      "description": "HTTP status Vobiz answered with (202 = accepted, 204 = done).",
      +      "type": "number"
      +    },
      +    "member_id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "items": {},
      +          "type": "array"
      +        }
      +      ],
      +      "description": "Members the action was applied to: the literal \"all\", or the list of member IDs as Vobiz echoed them (or as requested)."
      +    },
      +    "muted": {
      +      "description": "New mute state of the members (mute and unmute tools only).",
      +      "type": "boolean"
      +    },
      +    "ok": {
      +      "description": "True on success; false when the result is an error (then error, message and retryable are set).",
      +      "type": "boolean"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observedv1.1.1

TDQS

A4.1/5.0
Behavior4/5

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

Annotations cover the safety profile (non-readonly, destructive, idempotent, openWorld). The description adds genuinely useful behavior beyond them: the idempotent no-op case ('undeafening a member who is not deafened still succeeds') and the error semantics ('not_found' for a stopped room or departed member). Useful but not exhaustive.

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?

Front-loaded with the core effect, then the endpoint in parentheses, then two tight edge-case sentences. Every sentence earns its place and there is no filler.

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

Completeness4/5

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

With an output schema present and full schema coverage, the description only needs to add behavior; it covers the idempotent case and the not_found condition. Complete enough to invoke correctly, missing only richer return/error-shape detail.

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 both parameters are fully documented in the schema, so the description needn't carry this burden. It restates the endpoint template but adds no syntax or format detail beyond what the schema already provides — baseline 3.

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?

States a specific verb and resource ('Let deafened members ... hear the room again'), gives the underlying endpoint, and explicitly identifies itself as 'the reverse of deafen_conference_member', distinguishing it from its nearest sibling without opening a schema.

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?

Names the sibling relationship (reverse of deafen_conference_member) which routes the agent to the correct tool, and clarifies the no-op case. It doesn't give broader when-to-use vs. alternatives guidance, but for a narrow inverse operation this is close to sufficient.

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

Deploy Server

Other Tools