Skip to main content
Glama

VoteShip

Server Details

Manage feature requests, votes, roadmaps, and changelogs from any MCP client.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
MattKilmer/voteship-agent-toolkit
GitHub Stars
0
Server Listing
@voteship/mcp-server

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 4 of 4 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool maps to a distinct public action: viewing the board, submitting a request, voting, and commenting. There is no meaningful overlap or ambiguity between the four operations.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern: add_public_comment, browse_board, submit_feature_request, upvote_post. The naming is predictable and easy to scan.

Tool Count5/5

Four tools is well-scoped for a public feedback board interaction surface. Each tool covers a needed user action without unnecessary bloat or duplication.

Completeness4/5

Core public workflows are covered: browse approved requests, submit a new request, vote, and comment. Minor gaps exist, such as no way to read existing comments or track the status of a pending submission, but these are not severe for the stated purpose.

Available Tools

4 tools
add_public_commentComment on a public requestAInspect

Use this when the user wants to add public context or a follow-up to a known VoteShip feature request. Add a comment to a feature request on a public VoteShip board. No API key needed. Requires an author name.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesComment text (max 5000 chars)
post_idYesThe post ID to comment on
author_nameYesDisplay name for the comment author

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultNoThe VoteShip API result for this operation
Behavior3/5

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

The annotations (readOnlyHint false, idempotentHint false, destructiveHint false) already indicate this is a write operation that is not idempotent or destructive. The description adds 'public context' and 'follow-up' but does not provide additional behavior details such as return values, side effects, or error scenarios. It adds minimal nuance beyond the annotations.

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?

The description is concise but contains some redundancy. The first sentence ('Use this when...') and the second sentence ('Add a comment...') largely repeat the same intent. While it is front-loaded with usage context, the duplication could be streamlined. It is still clear and not overly verbose.

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?

Given the simplicity of the tool and the absence of an output schema, the description covers all necessary context: what it does, when to use it, and prerequisites (no API key, requires author name). It fully equips an agent to invoke the tool correctly without missing critical information.

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?

The schema already provides descriptions for all three parameters (body, post_id, author_name). The description mentions 'Requires an author name' but that is redundant with the schema's required field. It does not add any extra meaning to the parameters themselves, so it does not go beyond the schema's coverage.

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 purpose: adding a comment to a feature request on a public VoteShip board. It uses a specific verb ('add') and resource ('comment to a feature request'), and explicitly mentions 'public context' or 'follow-up', distinguishing it from other actions. The description is unambiguous and directly tells the agent what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool: when the user wants to add public context or a follow-up to a known VoteShip feature request. It also mentions that no API key is needed and that an author name is required, which are important operational prerequisites. This clearly differentiates it from browsing, submitting, or upvoting (the sibling tools).

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

browse_boardBrowse a feature boardA
Read-onlyIdempotent
Inspect

Use this when the user wants to inspect, compare, or interact with approved requests on a public VoteShip board. View approved feature requests on a public VoteShip board. No API key needed. Returns posts sorted by vote count and renders an interactive board in MCP Apps clients.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_slugNoProject slug (e.g. 'my-app'). Optional if VOTESHIP_PROJECT_SLUG env var is set.

Output Schema

ParametersJSON Schema
NameRequiredDescription
postsYes
boardUrlYes
projectSlugYes
Behavior4/5

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

Annotations already declare readOnly and idempotent. The description adds useful behavioral context: no API key needed, posts sorted by vote count, and an interactive board render. This goes beyond the annotations without contradicting them.

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?

The description is front-loaded with a 'Use this when' clause and keeps the total length reasonable. Some redundancy exists between 'inspect, compare, or interact' and 'View approved feature requests', but it remains efficient.

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?

Given the output schema exists and annotations cover safety, the description provides enough context: public board, no auth, sorting behavior, and rendering. Nothing critical is missing for an AI agent to call this tool correctly.

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 description coverage is 100%, so the single parameter (project_slug) is fully documented there. The description adds no additional parameter semantics, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool browses and views approved feature requests on a public board, with specific verbs and resource. It doesn't explicitly name sibling tools for differentiation, but the contrast with write operations (add_public_comment, submit_feature_request, upvote_post) is implicit.

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?

Provides an explicit trigger ('Use this when the user wants to inspect, compare, or interact with approved requests'), which gives clear context for when to use it. It doesn't mention alternatives or exclusions, so it stops short of full routing guidance.

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

submit_feature_requestSubmit a feature requestAInspect

Use this when the user wants to send new product feedback to a public VoteShip board without administering the project. Submit a feature request to any public VoteShip board. No API key needed. The post is created as PENDING and requires board owner approval. Include metadata.source to identify your agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoSubmitter's email (for follow-up notifications)
titleYesFeature request title (max 200 chars)
sourceNoName of the agent or app submitting this request (stored in metadata.source)
descriptionNoDetailed description of the feature request
project_slugNoProject slug (e.g. 'my-app'). Optional if VOTESHIP_PROJECT_SLUG env var is set.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultNoThe VoteShip API result for this operation
Behavior5/5

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

Discloses key behavioral traits beyond annotations: the post is created as PENDING and requires board owner approval, no API key is needed, and metadata.source should identify the agent. The annotations (all false) provide almost no behavioral information, so the description carries the burden and does so thoroughly.

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?

Four sentences, front-loaded with 'Use this when...', and each sentence adds distinct value: usage trigger, action, auth, pending status, and metadata instruction. No filler.

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?

Given the output schema and 100% parameter coverage, the description sufficiently covers the usage context, auth requirement, approval workflow, and metadata instruction. Nothing critical is missing for an agent to invoke it correctly.

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 description coverage is 100%, so the schema already fully documents all parameters. The description's instruction to 'include metadata.source' points to the 'source' parameter but adds no new meaning beyond its schema description.

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 'submit' and resource 'feature request to any public VoteShip board'. The phrase 'send new product feedback' clarifies the use case and distinguishes this from sibling tools (comment, upvote, browse) without naming them.

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?

Explicitly states when to use: 'when the user wants to send new product feedback...' and adds the context 'without administering the project' and 'No API key needed.' However, it doesn't name alternative sibling tools or exclusion scenarios, so it's clear but not exhaustive.

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

upvote_postToggle a feature-request voteA
Destructive
Inspect

Use this when the user explicitly wants to add or remove their agent identity's vote on a known VoteShip post. Vote or unvote on a feature request (toggles). Uses a deterministic anonymous ID so the same agent on the same machine has a consistent identity. No API key needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesThe post ID to vote on

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultNoThe VoteShip API result for this operation
Behavior5/5

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

The description goes beyond annotations: it explains the toggle behavior (adding and removing), the deterministic anonymous ID mechanism, and that no API key is needed. These are behavioral details not captured in the annotations, which only mark destructiveHint. The description also clarifies identity consistency, which is valuable for the agent.

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?

The description is three sentences, each adding value: usage condition, toggle behavior, and identity mechanism. It is front-loaded with the most critical information (when to use) and avoids redundant details. No wasted words.

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?

The description is quite complete for a simple tool with one parameter and an output schema. It covers identity, security (no API key), and the toggle nature. The only minor gap is that it doesn't state what the response contains, but the output schema presumably handles that. Given the simplicity and annotations, this is sufficient.

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?

The schema already provides 100% coverage for the single parameter (post_id). The description does not add significant detail beyond the schema, but it does imply that the post_id must refer to a known post, which is a minor contextual addition. Baseline 3 is appropriate because the schema fully documents the parameter.

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 purpose: to add or remove a vote on a specified VoteShip post, with a toggle behavior. It distinguishes itself from siblings by mentioning the specific resource type (VoteShip post) and the action (vote/unvote), which is not covered by siblings like submit_feature_request or browse_board.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: 'when the user explicitly wants to add or remove their agent identity's vote on a known VoteShip post.' It also implies when not to use it by scoping to voting only, and mentions the alternative (submit_feature_request) indirectly by distinguishing vote from submission. The condition 'known post' gives clear usage context.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Official MCP server for FeatureJet, enabling agents to read and act on customer feedback boards: list/search posts, file feature requests, and pull top-voted planned items.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for integrating with Productboard to manage customer feedback, fetch notes, search and create features, and link notes to features.
    34
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.