Skip to main content
Glama

Open a vote for the pass holders of an event (hosts and organizers only)

event_vote_open

Opens a vote for the people who added the event pass. Needs the event, a question and the options, as many as you name; the only limit is technical. One vote per pass, changeable until the vote closes, secret: counts only, never who. Without confirm it returns the number of passes and the exact line and sends nothing; with confirm true it opens the vote and puts the line on every pass. quiet true puts the line on the pass with no lock-screen alert. It counts against the notice limits: six an hour per event and Google's alerts per pass per day. Always call once without confirm and read the preview to the person; set confirm true only on the call after they say yes.

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": {
      "eventIdOrName": "<eventIdOrName>",
      "question": "<question>",
      "options": "<options>"
    },
    "name": "event_vote_open"
  }
}

Input Schema

NameRequiredDescriptionDefault
quietNoTrue: no lock-screen alert. Default false.
confirmNoAbsent previews; true opens the vote.
optionsYesThe options, one plain line each, as many as you name. At least two.
questionYesOne plain line. No links or markup.
requestIdNoOptional caller id; one id opens once.
eventIdOrNameYesThe event id or name as the organizer spells it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations: preview mode returns the pass count and exact message while sending nothing, confirm mode broadcasts the line to every pass, votes are secret (counts only, never who), one vote per pass and changeable until close. It also discloses rate limits (six an hour per event, Google's daily alert cap per pass), which is exactly the kind of operational constraint annotations cannot express and is consistent with destructiveHint=false.

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 purpose, then behavior, then the mandatory call protocol, so the most important instruction lands last as a clear directive. A few clauses restate the same idea ("puts the line on every pass" appears in two forms), which costs a little tightness but nothing essential.

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 no output schema, the description correctly spells out what the preview returns (pass count and exact line) and what the confirm path does, and it covers permissions, secrecy, vote mutability, and rate limits. An agent has everything needed to run the preview-then-confirm flow correctly without guessing.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: confirm is a two-phase preview/commit switch whose sequencing matters, quiet suppresses only lock-screen alerts not the line itself, and options have "the only limit is technical" while the schema omits a minItems despite the description requiring at least two. It does not explain requestId idempotency, leaving that to the schema.

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 ("Opens a vote") plus the exact audience ("the people who added the event pass"), and the title narrows it further to hosts/organizers. An agent can distinguish this from event_vote_close and event_vote_results by the fact that it creates a vote rather than ending or reading one.

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?

Gives a strong, explicit operating protocol: "Always call once without confirm and read the preview to the person; set confirm true only on the call after they say yes," and explains quiet as an opt-out of alerts. It lacks explicit routing against sibling tools such as event_vote_close or event_vote_results, so the when-to-use-this-vs-that guidance is implied rather than stated.

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