VoteShip

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

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
98%
Naming quality
90%
Poisoning risk
100%
Permission match
90%
Protocol compliance
100%

Findings (1)

  • LOWTool 'browse_board' suggests web access but openWorldHint=falsein browse_board

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~931Tokens (tool definitions)
~1.7 KBTypical response size
Moderate attention impact (0.73% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "voteship": {
      "command": "npx",
      "args": [
        "@voteship/mcp-server"
      ]
    }
  }
}

Runnable packages

npm@voteship/mcp-server0.2.3stdio

Remote endpoints

https://voteship.app/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡submit_feature_request(project_slug, title, description, email, source)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "project_slug": {
      "type": "string",
      "description": "Project slug (e.g. 'my-app'). Optional if VOTESHIP_PROJECT_SLUG env var is set."
    },
    "title": {
      "type": "string",
      "description": "Feature request title (max 200 chars)"
    },
    "description": {
      "type": "string",
      "description": "Detailed description of the feature request"
    },
    "email": {
      "type": "string",
      "description": "Submitter's email (for follow-up notifications)"
    },
    "source": {
      "type": "string",
      "description": "Name of the agent or app submitting this request (stored in metadata.source)"
    }
  },
  "required": [
    "title"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "description": "The VoteShip API result for this operation"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢browse_board(project_slug)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "project_slug": {
      "type": "string",
      "description": "Project slug (e.g. 'my-app'). Optional if VOTESHIP_PROJECT_SLUG env var is set."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "projectSlug": {
      "type": "string"
    },
    "boardUrl": {
      "type": "string",
      "format": "uri"
    },
    "posts": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": {}
      }
    }
  },
  "required": [
    "projectSlug",
    "boardUrl",
    "posts"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴upvote_post(post_id)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "post_id": {
      "type": "string",
      "description": "The post ID to vote on"
    }
  },
  "required": [
    "post_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "description": "The VoteShip API result for this operation"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡add_public_comment(post_id, body, author_name)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "post_id": {
      "type": "string",
      "description": "The post ID to comment on"
    },
    "body": {
      "type": "string",
      "description": "Comment text (max 5000 chars)"
    },
    "author_name": {
      "type": "string",
      "description": "Display name for the comment author"
    }
  },
  "required": [
    "post_id",
    "body",
    "author_name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "description": "The VoteShip API result for this operation"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools