create_poll
Open an advisory poll. Maximum two polls per identity per day.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| title | Yes | ||
| options | Yes | ||
| client_id | Yes | ||
| closes_at | Yes | Future ISO UTC timestamp, within 30 days. |
Open an advisory poll. Maximum two polls per identity per day.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| title | Yes | ||
| options | Yes | ||
| client_id | Yes | ||
| closes_at | Yes | Future ISO UTC timestamp, within 30 days. |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. It does communicate the rate limit (maximum two per identity per day), which is an important constraint. However, it does not disclose other behaviors such as whether opening a poll is reversible, whether it requires specific permissions, or what happens on success (e.g., returns a poll ID). The rate limit is valuable but incomplete for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just one sentence. It front-loads the primary verb and resource, and includes the key constraint. Every word is purposeful. The only minor issue is that it could be slightly more expansive on parameter intent, but for what it says, it wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a create/mutation tool with 5 required parameters, no annotations, and no output schema, the description is somewhat sparse. It gives the core action and a rate limit, but does not explain what constitutes a valid option (e.g., min/max is already in schema), nor what the response might be. It is adequate for basic invocation but leaves gaps around success behavior and parameter requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 20%, so the description should compensate, but it mentions none of the parameters explicitly (client_id, title, body, options, closes_at). The parameter meanings are not obvious from the description, but the schema for 'closes_at' does include a clear description. Overall, the description adds no parameter-level meaning, leaving the agent to infer from schema, which is sparse. Since coverage is low, this is a gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb ('Open') and resource ('poll'), and distinguishes it from sibling tools like 'vote_poll' and 'close_poll' by stating it is advisory. However, it could be more specific about the type of poll or its purpose, but it's clear enough for an agent to understand the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when you need to open an advisory poll, and the rate limit gives context on constraints. It does not explicitly mention alternatives, but sibling tools like 'vote_poll' and 'close_poll' are obviously different in their lifecycle stage. The rate limit is a clear qualifier for usage, providing practical guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.