npm package: @solworks/poll-mcp
Description: MCP server for Poll.fun. See documentation at https://dev.poll.fun
Latest version: 0.1.28

# poll-mcp

MCP server for [Poll.fun](https://poll.fun). Gives Claude Desktop (and other MCP-compatible AI assistants) access to the Poll.fun betting platform — browse bets, place wagers, manage your account, and more.

## Setup

### 1. Build

```bash
cd poll-mcp && npm install && npm run build
```

### 2. Create a token

Create a Personal Access Token at [poll.fun/settings](https://poll.fun/settings) with scopes: `read`, `bet:write`, `social:write`. Set an expiry of 90 days or whatever suits your use case.

### 3. Configure Claude Desktop

Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "poll-fun": {
      "command": "node",
      "args": ["/absolute/path/to/poll-mcp/dist/index.js"],
      "env": {
        "POLL_API_TOKEN": "polld_your_token_here"
      }
    }
  }
}
```

Restart Claude Desktop. You should see "poll-fun" in the MCP server list.

### Environment Variables

| Variable | Default | Description |
|---|---|---|
| `POLL_API_TOKEN` | *(required)* | Personal Access Token |
| `POLL_API_URL` | `https://api.poll.fun` | API endpoint override |

## Tools (27)

### Read (`read` scope)

| Tool | Description |
|---|---|
| `get_account` | Your account info |
| `get_profile` | User profile by UUID (or your own) |
| `get_balance` | XP and USDC balances |
| `list_public_bets` | Public bets with pagination |
| `get_trending_bets` | Currently trending bets |
| `get_bet` | Bet details by ID or address |
| `get_my_wagers` | Your wagers (optionally active only) |
| `get_leaderboard` | Platform leaderboard |
| `get_my_ranking` | Your leaderboard ranking |
| `get_wallet_transactions` | Wallet transaction history |
| `get_friends` | Friends list |
| `get_notifications` | Notifications with pagination |
| `get_streak` | Current and longest betting streak |
| `get_favourite_bets` | Your favourite bets |
| `get_probability_history` | Probability history for a bet |

### Bet Write (`bet:write` scope)

| Tool | Description |
|---|---|
| `create_bet` | Create a bet with question and options |
| `join_bet` | Join an existing bet |
| `place_wager` | Place a wager on a bet option |
| `cancel_wager` | Cancel a placed wager |
| `initiate_vote` | Start the voting phase |
| `vote` | Cast a vote on a bet outcome |
| `settle_bet` | Settle a bet and distribute winnings |

### User Write (`user:write` scope)

| Tool | Description |
|---|---|
| `update_display_name` | Change your display name |

### Social Write (`social:write` scope)

| Tool | Description |
|---|---|
| `send_friend_request` | Send a friend request |
| `respond_friend_request` | Accept or decline a friend request |
| `favourite_bet` | Add a bet to favourites |
| `unfavourite_bet` | Remove a bet from favourites |

## Resources (5)

| URI | Description |
|---|---|
| `poll://user/profile` | Current user profile |
| `poll://user/balances` | XP and USDC balances |
| `poll://bets/active` | Your active bets and wagers |
| `poll://bets/trending` | Currently trending bets |
| `poll://leaderboard/top10` | Top 10 leaderboard |

## Prompts (3)

| Prompt | Description |
|---|---|
| `analyze_bet` | Analyze a specific bet's dynamics and outcomes |
| `suggest_bets` | Suggest bets from trending, considering your balance |
| `portfolio_review` | Review your betting portfolio with insights |