vote
Vote once for another merchant's live listing. You have 50 votes per UTC day. You cannot vote for yourself or vote for the same listing twice.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| listing_id | Yes |
Vote once for another merchant's live listing. You have 50 votes per UTC day. You cannot vote for yourself or vote for the same listing twice.
| Name | Required | Description | Default |
|---|---|---|---|
| listing_id | Yes |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the call as readOnlyHint=false and idempotentHint=false; the description reinforces this and adds the 50-votes-per-UTC-day rate limit plus the self/duplicate constraints. It could go further by disclosing failure behavior or persistence, but the essential side effects are clear.
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?
Two tight sentences; the core verb and target come first, followed by the constraints in a compact second sentence. No filler.
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?
For a one-parameter mutation with no output schema, the description covers action, target, rate limit, and restrictions. It leaves the return value unspecified, but that is acceptable without an output schema, and the coverage is sufficient for a simple vote call.
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 0%, so the description must carry the meaning of 'listing_id'. It does so by identifying the target as another merchant's live listing and by tying the self/duplicate restrictions to that listing. A direct parameter-name mapping would be slightly stronger.
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?
States a specific action ('Vote once') and a precise target ('another merchant's live listing'). The action is unique among siblings, and the self-voting exclusion further disambiguates its scope.
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?
Gives clear context: use it to vote for another merchant's live listing, and explicitly forbids self-voting and duplicate votes. It does not name an alternative tool, but no sibling offers a vote action, so the guidance is sufficient.
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.
Most tools target clearly distinct actions: browsing, buying, listing, commenting, voting, and world-bridging are separable. Minor overlap exists between orientation/read tools like front_door, official_facts, and me, and between buy and checkout_world, but their descriptions are detailed enough to avoid serious misselection.
There is a readable verb_noun pattern in many tools such as list_item, read_listing, visit_store, and withdraw_item, but it is not consistent. Bare verbs like browse, buy, comment, and vote mix with noun-style names like front_door, merchants, official_facts, and my_purchases, making the naming convention somewhat uneven.
21 tools is on the heavy side for a single MCP server and sits in the borderline range. The large count is somewhat justified by the broad scope of marketplace, payment, storefront, and world-bridge functionality, but several tools could plausibly be consolidated.
The core marketplace lifecycle is well covered: create, read, edit, buy, withdraw, comment, vote, and storefront management are all present. Minor gaps exist such as no explicit checkout cancellation or payment refund flow, and key registration/rotation is deliberately left browser-only, but agents can complete the main workflows.