MCP Hub
Back to servers

Fizzy MCP Server

Enables AI agents to interact with the Fizzy task management tool through 40 specialized tools for managing boards, cards, and comments. It supports comprehensive task operations including card creation, triaging, and user assignments with built-in retry logic and secure authentication.

glama
Updated
Mar 12, 2026

Fizzy MCP Server

An MCP (Model Context Protocol) server that enables AI agents to interact with Fizzy, Basecamp's task management tool.

Features

  • 40 MCP tools covering all major Fizzy operations
  • Type-safe TypeScript implementation with Zod validation
  • Retry with exponential backoff for rate limits and transient errors
  • Auto-detection of Fizzy account on first run
  • Secure credential storage in ~/.config/fizzy-mcp/config.json
  • Environment variable support for CI/CD and containerized deployments

Getting Started

1. Get a Fizzy Access Token

  1. Go to app.fizzy.do
  2. Click your avatar in the top right
  3. Go to ProfileAPI
  4. Create a new Personal Access Token
  5. Copy the token (you won't see it again!)

2. Install and Configure

# Install globally
npm install -g fizzy-do-mcp

# Configure with your access token
fizzy-mcp auth

Or use environment variables:

export FIZZY_ACCESS_TOKEN="your-token-here"
export FIZZY_ACCOUNT_SLUG="/897362094"  # Optional, auto-detected if omitted

3. Add to Your AI Agent

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "fizzy": {
      "command": "npx",
      "args": ["-y", "fizzy-do-mcp@latest"]
    }
  }
}

OpenCode (~/.config/opencode/opencode.json):

{
  "mcp": {
    "fizzy": {
      "type": "local",
      "command": ["npx", "-y", "fizzy-do-mcp@latest"]
    }
  }
}

Cursor (~/.cursor/mcp.json):

{
  "mcpServers": {
    "fizzy": {
      "command": "npx",
      "args": ["-y", "fizzy-do-mcp@latest"]
    }
  }
}

Credentials are stored securely in ~/.config/fizzy-mcp/config.json - no need to add tokens to your MCP config.

4. Start Using

Restart Claude Desktop and you'll have access to all Fizzy tools. Try asking:

  • "List all my Fizzy boards"
  • "Show me cards assigned to me"
  • "Create a new card on the Engineering board called 'Review PR #123'"
  • "Close card #42 and add a comment saying it's done"

CLI Commands

# Configure authentication interactively
fizzy-mcp auth

# Check current configuration
fizzy-mcp status

# Show your Fizzy identity and accounts
fizzy-mcp whoami

# Clear stored credentials
fizzy-mcp logout

# Run the MCP server (default command)
fizzy-mcp

Available Tools

Identity & Account (2 tools)

ToolDescription
fizzy_get_identityGet current user and list accessible accounts
fizzy_get_accountGet account settings (name, card count, auto-postpone)

Boards (7 tools)

ToolDescription
fizzy_list_boardsList all boards in the account
fizzy_get_boardGet a specific board by ID
fizzy_create_boardCreate a new board
fizzy_update_boardUpdate board name or settings
fizzy_delete_boardDelete a board
fizzy_archive_boardArchive a board
fizzy_unarchive_boardUnarchive a board

Cards (18 tools)

ToolDescription
fizzy_list_cardsList cards with optional filters
fizzy_get_cardGet a card by number
fizzy_create_cardCreate a new card
fizzy_update_cardUpdate card title, description, or tags
fizzy_delete_cardDelete a card
fizzy_close_cardClose (complete) a card
fizzy_reopen_cardReopen a closed card
fizzy_postpone_cardMove card to "Not Now"
fizzy_triage_cardMove card to a column
fizzy_untriage_cardRemove card from column (back to triage)
fizzy_tag_cardToggle a tag on a card
fizzy_assign_cardToggle user assignment on a card
fizzy_watch_cardSubscribe to card notifications
fizzy_unwatch_cardUnsubscribe from card notifications
fizzy_pin_cardPin a card for quick access
fizzy_unpin_cardUnpin a card
fizzy_mark_goldenMark a card as golden (important)
fizzy_unmark_goldenRemove golden status

Comments (5 tools)

ToolDescription
fizzy_list_commentsList comments on a card
fizzy_get_commentGet a specific comment
fizzy_create_commentAdd a comment to a card
fizzy_update_commentUpdate a comment
fizzy_delete_commentDelete a comment

Columns (5 tools)

ToolDescription
fizzy_list_columnsList columns on a board
fizzy_get_columnGet a specific column
fizzy_create_columnCreate a new column
fizzy_update_columnUpdate column name or color
fizzy_delete_columnDelete a column

Tags (1 tool)

ToolDescription
fizzy_list_tagsList all tags in the account

Users (2 tools)

ToolDescription
fizzy_list_usersList all active users
fizzy_get_userGet a specific user's details

Configuration

Config File

Stored at ~/.config/fizzy-mcp/config.json with mode 600 (owner read/write only):

{
  "accessToken": "your-token",
  "accountSlug": "/897362094",
  "baseUrl": "https://app.fizzy.do"
}

Environment Variables

Environment variables take precedence over the config file:

VariableDescription
FIZZY_ACCESS_TOKENPersonal access token (required)
FIZZY_ACCOUNT_SLUGAccount slug, e.g., /897362094 (optional, auto-detected)
FIZZY_BASE_URLAPI base URL (default: https://app.fizzy.do)

Development

Project Structure

fizzy-mcp/
├── packages/
│   ├── shared/     # Types, schemas, Result type, errors
│   ├── client/     # Type-safe HTTP client for Fizzy API
│   └── tools/      # MCP tool definitions
├── apps/
│   └── server/     # MCP server and CLI
├── turbo.json      # Turborepo config
└── pnpm-workspace.yaml

Local Development

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Run type checker
pnpm typecheck

# Run linter
pnpm lint

# Format code
pnpm format

Testing Locally

# Configure with your token
cd apps/server
node dist/cli.js auth

# Check status
node dist/cli.js status

# Run the server (for testing with MCP inspector)
node dist/index.js

Architecture

The project uses a monorepo structure with clear separation of concerns:

  • @fizzy-mcp/shared - Core types, Zod schemas, Result type for error handling
  • @fizzy-mcp/client - Fizzy API client with dependency injection, retry logic
  • @fizzy-mcp/tools - MCP tool registration, maps client methods to MCP tools
  • fizzy-do-mcp - Entry point, CLI, credential management (published to npm)

All packages are built with tsup targeting ES2022 and are fully tree-shakeable.

License

MIT

Credits

Built for use with Claude and the Model Context Protocol.

Reviews

No reviews yet

Sign in to write a review