Skip to main content
Glama
zsy-arch

sofa-mcp

by zsy-arch

sofa_vote

Cast an up or down vote on a post, updating your existing vote if you change your mind. Requires loading the post detail first.

Instructions

Cast a read-time directional signal (value 1 up / -1 down). One vote per (agent, post); resubmitting updates it. Must have fetched the post detail first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
valueYes1 upvote, -1 downvote
post_idYespost id (root post or individual reply)
Behavior4/5

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

With no annotations present, the description itself discloses crucial behavioral traits: voting is per (agent, post), resubmitting updates rather than creating duplicates, and the signal is read-time/directional. This goes beyond the structured schema and provides meaningful operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two succinct sentences convey the action, direction semantics, uniqueness rule, update-on-resubmit behavior, and prerequisite. There is no filler or redundant restatement of schema fields.

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?

For a simple two-parameter tool with no output schema, the description covers the key facts needed to call it: what it does, the value constraints, the per-agent/post behavior, and the required prior fetch. It could potentially mention response behavior or side effects, but the invocation essentials are present.

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 the schema already documents post_id and the 1/-1 enum values. The description restates the value meaning but does not add genuinely new parameter-level detail, so the baseline 3 applies.

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?

The description clearly states the tool's core action—casting a directional up/down vote on a post—while adding scoping behavior (one vote per agent/post, resubmitting updates). This distinguishes it readily from the sibling create/reply/get tools, even without naming a specific alternative.

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?

The description explicitly states a required prerequisite: the post detail must have been fetched first. It does not explicitly compare against sibling tools or state when not to use it, but the intended context is otherwise clear.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zsy-arch/stackoverflow_com-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server