Content
# FeaturesVote MCP Server
An MCP server that connects [FeaturesVote](https://features.vote) to AI assistants like Claude — manage feature requests, releases, voters, comments, and changelogs through natural language.
## Prerequisites
- A FeaturesVote account on the **Growth** or **VIP** plan
- An API key from **Settings > API Keys** in your project dashboard
- Node.js 18+
## Quick Start
### Claude Desktop
Add to your config file:
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"featuresvote": {
"command": "npx",
"args": ["-y", "@features-vote/mcp-server"],
"env": {
"FEATURESVOTE_API_KEY": "fv_live_your_key_here"
}
}
}
}
```
### Claude Code
```bash
claude mcp add featuresvote -e FEATURESVOTE_API_KEY=fv_live_your_key_here -- npx -y @features-vote/mcp-server
```
### Cursor
Add to `.cursor/mcp.json`:
```json
{
"mcpServers": {
"featuresvote": {
"command": "npx",
"args": ["-y", "@features-vote/mcp-server"],
"env": {
"FEATURESVOTE_API_KEY": "fv_live_your_key_here"
}
}
}
}
```
## Available Tools
### Features
| Tool | Description |
|------|-------------|
| `list_features` | List features with filtering by status, tag, search, and pagination |
| `create_feature` | Create a new feature request |
| `get_feature` | Get a single feature by ID |
| `update_feature` | Update feature title, description, status, or tags |
| `update_feature_status` | Update only the status of a feature |
| `delete_feature` | Delete a feature |
| `merge_features` | Merge two features (source voters/tags move to target) |
| `link_feature_to_release` | Link a feature to a release |
### Voters
| Tool | Description |
|------|-------------|
| `list_voters` | List all voters for a feature |
| `add_voter` | Add a voter to a feature (existing user or new) |
### Comments
| Tool | Description |
|------|-------------|
| `list_comments` | List all comments for a feature |
| `create_comment` | Create a comment or internal note on a feature |
| `update_comment` | Update a comment |
| `delete_comment` | Delete a comment |
### Releases
| Tool | Description |
|------|-------------|
| `list_releases` | List all releases |
| `create_release` | Create a release, optionally linking features |
| `get_release` | Get a single release by ID |
| `update_release` | Update release fields and linked features |
| `delete_release` | Delete a release |
| `send_changelog_email` | Send changelog email to subscribers (max 50) |
| `generate_changelog` | AI-generate a changelog from linked features (5/day limit) |
### Project
| Tool | Description |
|------|-------------|
| `get_project` | Get project details for the API key |
| `get_project_stats` | Get usage stats: upvotes, features, views, releases |
## Example Prompts
Once configured, try asking your AI assistant:
- "List all pending feature requests"
- "Create a feature called 'Dark mode support' with tag 'UI'"
- "Show me voters for feature X"
- "Create a release v2.1.0 and link the completed features"
- "Generate a changelog for the latest release"
- "What are my project stats?"
## Configuration
| Environment Variable | Required | Default | Description |
|---------------------|----------|---------|-------------|
| `FEATURESVOTE_API_KEY` | Yes | — | Your API key (`fv_live_...`) |
| `FEATURESVOTE_BASE_URL` | No | `https://features.vote/api` | Override for local/staging |
## API Documentation
Full REST API documentation is available at [features.vote/docs/api](https://features.vote/docs/api).
## Local Development
```bash
git clone https://github.com/featuresvote/featuresvote-mcp.git
cd featuresvote-mcp
npm install
npm run build
```
Test locally against a dev server:
```bash
FEATURESVOTE_API_KEY=fv_live_xxx \
FEATURESVOTE_BASE_URL=http://localhost:3000/api \
node dist/index.js
```
Use the MCP Inspector for interactive testing:
```bash
FEATURESVOTE_API_KEY=fv_live_xxx npx @modelcontextprotocol/inspector node dist/index.js
```
## License
MIT