@voteship/mcp-server
Advanced tools
+21
| # Changelog | ||
| ## 0.2.3 — 2026-08-22 | ||
| - Published the source, license, security policy, and CI configuration at the | ||
| public VoteShip Agent Toolkit repository. | ||
| - Added exact Claude Code and Codex connection commands plus the VoteShip | ||
| website installer workflow. | ||
| ## 0.2.2 — 2026-08-22 | ||
| - Added concise server instructions for agent tool selection and safe operation. | ||
| - Added titles, when-to-use descriptions, input/output schemas, and behavior annotations to every tool. | ||
| - Added structured output for all tool results. | ||
| - Added a public agent-guide resource and an interactive `ui://` board resource for MCP Apps clients. | ||
| - Added a hosted Streamable HTTP endpoint at `https://voteship.app/mcp`. | ||
| ## 0.1.7 | ||
| - Added release shipping and archive-management tools. | ||
| - Expanded public-mode and authenticated project-management coverage. |
+22
| MIT License | ||
| Copyright (c) 2026 Matt Kilmer | ||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| of this software and associated documentation files (the "Software"), to deal | ||
| in the Software without restriction, including without limitation the rights | ||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| copies of the Software, and to permit persons to whom the Software is | ||
| furnished to do so, subject to the following conditions: | ||
| The above copyright notice and this permission notice shall be included in all | ||
| copies or substantial portions of the Software. | ||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| SOFTWARE. | ||
+11
| # Security | ||
| Do not open a public issue for a suspected vulnerability or include VoteShip | ||
| project secrets in a report. Email `support@voteship.app` with a concise impact | ||
| description and reproduction steps. We will acknowledge valid reports and | ||
| coordinate remediation and disclosure directly. | ||
| VoteShip project secret keys start with `sk_` or `vs_`. Keep them in the MCP | ||
| host environment; never place them in client-side code, prompts, screenshots, | ||
| or source control. Public board operations do not require a secret. | ||
+44
| { | ||
| "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json", | ||
| "name": "io.github.MattKilmer/voteship", | ||
| "description": "Manage feature requests, votes, roadmaps, and changelogs from any MCP client.", | ||
| "repository": { | ||
| "url": "https://github.com/MattKilmer/voteship-agent-toolkit", | ||
| "source": "github" | ||
| }, | ||
| "title": "VoteShip", | ||
| "websiteUrl": "https://voteship.app/developers", | ||
| "version": "0.2.3", | ||
| "packages": [ | ||
| { | ||
| "registryType": "npm", | ||
| "identifier": "@voteship/mcp-server", | ||
| "version": "0.2.3", | ||
| "transport": { | ||
| "type": "stdio" | ||
| }, | ||
| "environmentVariables": [ | ||
| { | ||
| "description": "Your VoteShip API key for full admin access (found in Settings → API Keys). Omit for public-only mode.", | ||
| "isRequired": false, | ||
| "format": "string", | ||
| "isSecret": true, | ||
| "name": "VOTESHIP_API_KEY" | ||
| }, | ||
| { | ||
| "description": "Default project slug for public tools (e.g. 'my-app'). When set, project_slug parameter becomes optional.", | ||
| "isRequired": false, | ||
| "format": "string", | ||
| "isSecret": false, | ||
| "name": "VOTESHIP_PROJECT_SLUG" | ||
| } | ||
| ] | ||
| } | ||
| ], | ||
| "remotes": [ | ||
| { | ||
| "type": "streamable-http", | ||
| "url": "https://voteship.app/mcp" | ||
| } | ||
| ] | ||
| } |
+1
-1
| import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; | ||
| export declare const VOTESHIP_MCP_VERSION = "0.2.2"; | ||
| export declare const VOTESHIP_MCP_VERSION = "0.2.3"; | ||
| export declare const VOTESHIP_MCP_INSTRUCTIONS = "Use VoteShip when the user wants to collect or submit product feedback, browse or prioritize feature requests, manage a roadmap, plan work from customer demand, or publish a changelog. Public tools work without credentials; ask for project_slug when it is missing. Authenticated project administration requires VOTESHIP_API_KEY or a Bearer secret. Before creating admin feedback, use search_similar to check for duplicates. Confirm exact IDs and explicit user intent before destructive tools. Read voteship://service/agent-guide for setup and website installation guidance."; | ||
@@ -4,0 +4,0 @@ export interface VoteShipMcpServerOptions { |
+1
-1
@@ -30,3 +30,3 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; | ||
| import { registerPublicFeedbackPrompt } from "./prompts/public-feedback.js"; | ||
| export const VOTESHIP_MCP_VERSION = "0.2.2"; | ||
| export const VOTESHIP_MCP_VERSION = "0.2.3"; | ||
| export const VOTESHIP_MCP_INSTRUCTIONS = "Use VoteShip when the user wants to collect or submit product feedback, browse or prioritize feature requests, manage a roadmap, plan work from customer demand, or publish a changelog. Public tools work without credentials; ask for project_slug when it is missing. Authenticated project administration requires VOTESHIP_API_KEY or a Bearer secret. Before creating admin feedback, use search_similar to check for duplicates. Confirm exact IDs and explicit user intent before destructive tools. Read voteship://service/agent-guide for setup and website installation guidance."; | ||
@@ -33,0 +33,0 @@ /** |
@@ -61,3 +61,3 @@ import { App, applyDocumentTheme, applyHostFonts, applyHostStyleVariables, } from "@modelcontextprotocol/ext-apps"; | ||
| } | ||
| const app = new App({ name: "VoteShip Board", version: "0.2.2" }); | ||
| const app = new App({ name: "VoteShip Board", version: "0.2.3" }); | ||
| app.ontoolinput = () => { | ||
@@ -64,0 +64,0 @@ status.hidden = false; |
+6
-3
| { | ||
| "name": "@voteship/mcp-server", | ||
| "version": "0.2.2", | ||
| "version": "0.2.3", | ||
| "mcpName": "io.github.MattKilmer/voteship", | ||
@@ -23,3 +23,6 @@ "description": "MCP server for VoteShip — manage feature requests, votes, roadmaps, and AI workflows from any MCP client", | ||
| "files": [ | ||
| "dist" | ||
| "dist", | ||
| "CHANGELOG.md", | ||
| "SECURITY.md", | ||
| "server.json" | ||
| ], | ||
@@ -70,5 +73,5 @@ "scripts": { | ||
| "type": "git", | ||
| "url": "git+https://github.com/MattKilmer/voteship.git", | ||
| "url": "git+https://github.com/MattKilmer/voteship-agent-toolkit.git", | ||
| "directory": "packages/mcp-server" | ||
| } | ||
| } |
+40
-34
@@ -14,45 +14,39 @@ # @voteship/mcp-server | ||
| ## Installation | ||
| ## Connect in one command | ||
| ### Claude Code | ||
| Add to your project's `.mcp.json`: | ||
| Public tools, resources, prompts, and the interactive board work without an API | ||
| key: | ||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "voteship": { | ||
| "command": "npx", | ||
| "args": ["@voteship/mcp-server"], | ||
| "env": { | ||
| "VOTESHIP_API_KEY": "sk_..." | ||
| } | ||
| } | ||
| } | ||
| } | ||
| ```bash | ||
| claude mcp add --transport http --scope user voteship https://voteship.app/mcp | ||
| ``` | ||
| ### Public Mode (No API Key) | ||
| ### Codex | ||
| For agents that just need to submit feedback or browse boards: | ||
| ```bash | ||
| codex mcp add voteship --url https://voteship.app/mcp | ||
| ``` | ||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "voteship": { | ||
| "command": "npx", | ||
| "args": ["@voteship/mcp-server"], | ||
| "env": { | ||
| "VOTESHIP_PROJECT_SLUG": "my-project" | ||
| } | ||
| } | ||
| } | ||
| } | ||
| Verify the connection with `claude mcp get voteship` or `codex mcp get | ||
| voteship`. | ||
| ## Authenticated project administration | ||
| Keep the secret in the MCP host environment and run the local package. Claude | ||
| Code: | ||
| ```bash | ||
| claude mcp add --scope user --env VOTESHIP_API_KEY=sk_... voteship -- npx -y @voteship/mcp-server | ||
| ``` | ||
| No `VOTESHIP_API_KEY` needed. The server starts in public mode with 4 tools for interacting with any public VoteShip board. | ||
| Codex: | ||
| ### Cursor / Windsurf | ||
| ```bash | ||
| codex mcp add voteship --env VOTESHIP_API_KEY=sk_... -- npx -y @voteship/mcp-server | ||
| ``` | ||
| Add to your MCP settings: | ||
| For a shared project configuration, keep the key out of source control and use | ||
| your client's environment-variable support: | ||
@@ -64,5 +58,5 @@ ```json | ||
| "command": "npx", | ||
| "args": ["@voteship/mcp-server"], | ||
| "args": ["-y", "@voteship/mcp-server"], | ||
| "env": { | ||
| "VOTESHIP_API_KEY": "sk_..." | ||
| "VOTESHIP_API_KEY": "${VOTESHIP_API_KEY}" | ||
| } | ||
@@ -74,4 +68,16 @@ } | ||
| Find your API key in VoteShip → Settings → Share & Embed. | ||
| Find the secret key in VoteShip → Share & Embed. Never put an `sk_` key in | ||
| client-side code or commit it to a repository. | ||
| ## Install VoteShip on a website | ||
| ```bash | ||
| npx -y @voteship/cli init --project-key pk_your_public_key | ||
| npx -y @voteship/cli verify --url https://your-site.example | ||
| ``` | ||
| The installer detects common Next.js, React, Vue, Vite, SvelteKit, Angular, and | ||
| plain HTML entry files. See the complete [VoteShip installation | ||
| guide](https://voteship.app/install.md). | ||
| ## Public Tools (4) — No API Key Required | ||
@@ -78,0 +84,0 @@ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
808418
0.55%69
6.15%3217
1.39%188
3.3%