Fizzy MCP Server

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.

Category
访问服务器

README

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
  • Hosted service available at fizzy-mcp-hosted.ryanyogan.workers.dev

Quick Start

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

# Run the setup wizard (recommended: choose "Remote" mode)
fizzy-mcp auth

The CLI will guide you through:

  1. Choosing a mode - Remote (recommended) or Local
  2. Getting your Fizzy token - Press Enter to open the Fizzy API page in your browser
  3. Optional API key - For higher rate limits on the hosted service

Deployment Modes

Remote Mode (Recommended)

Uses our hosted MCP service at https://fizzy-mcp-hosted.ryanyogan.workers.dev. Best for:

  • Quick setup without running a local server
  • Remote MCP clients that support HTTP transport
  • Environments where local installation isn't practical

Rate Limits:

  • Anonymous: 100 writes/day
  • With API key: 1,000 writes/day

Local Mode

Run the MCP server locally via stdio transport. Best for:

  • Desktop AI assistants (Claude Desktop, Cursor, etc.)
  • Development and testing
  • Full control, no rate limits

Getting Started

1. Get a Fizzy Access Token

The CLI will help you get a token! When prompted, press Enter to open the Fizzy API page:

  1. Go to app.fizzy.do/my/profile/api
  2. Click New Personal Access Token
  3. Give it a name and copy the token

Or get one manually:

  1. Go to app.fizzy.do
  2. Click your avatar in the top right
  3. Go to Profile -> API
  4. Create a new Personal Access Token

2. Install and Configure

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

# Run the interactive setup
fizzy-mcp auth

The CLI will ask you:

  • Mode: Remote (recommended) or Local
  • Fizzy Token: Your personal access token (press Enter to open the page)
  • API Key (Remote only): Optional, for higher rate limits

Or use environment variables:

export FIZZY_ACCESS_TOKEN="your-token-here"
export FIZZY_ACCOUNT_SLUG="/897362094"  # Optional, auto-detected if omitted
export FIZZY_MCP_MODE="remote"           # or "local"
export FIZZY_MCP_API_KEY="fmcp_..."      # Optional, for higher limits

3. Add to Your AI Agent

After running fizzy-mcp auth, the CLI will display the exact configuration to copy into your MCP client. You can also run fizzy-mcp at any time to see it again.

For Remote Mode:

The CLI will show you a config with your token already filled in:

{
  "mcpServers": {
    "fizzy": {
      "transport": "http",
      "url": "https://fizzy-mcp-hosted.ryanyogan.workers.dev/mcp",
      "headers": {
        "X-Fizzy-Token": "your-actual-token-here"
      }
    }
  }
}

For Local Mode (stdio transport):

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"]
    }
  }
}

4. Start Using

Restart your AI agent 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

# Interactive setup wizard
fizzy-mcp auth

# Setup with options
fizzy-mcp auth --mode remote --token <your-token>
fizzy-mcp auth --mode local --token <your-token>

# Check current configuration
fizzy-mcp status

# Show your Fizzy identity and accounts
fizzy-mcp whoami

# Auto-configure AI agents (Claude Desktop, Cursor, OpenCode)
fizzy-mcp configure

# Clear stored credentials
fizzy-mcp logout

# Run the local MCP server (default command, only for local mode)
fizzy-mcp

Hosted Service API

The hosted MCP server provides additional REST endpoints:

Endpoint Description
GET / Service info
GET /api/health Health check
GET /api/info Service info with tier details
POST /mcp MCP endpoint (requires X-Fizzy-Token header)
GET /mcp/info MCP server capabilities
GET /api/me/usage Your current usage stats

Rate Limit Headers

All responses include rate limit information:

  • X-RateLimit-Limit - Daily limit
  • X-RateLimit-Remaining - Remaining writes today
  • X-RateLimit-Reset - UTC date when limit resets
  • X-User-Tier - Current user tier

Available Tools

Identity & Account (2 tools)

Tool Description
fizzy_get_identity Get current user and list accessible accounts
fizzy_get_account Get account settings (name, card count, auto-postpone)

Boards (7 tools)

Tool Description
fizzy_list_boards List all boards in the account
fizzy_get_board Get a specific board by ID
fizzy_create_board Create a new board
fizzy_update_board Update board name or settings
fizzy_delete_board Delete a board
fizzy_publish_board Publish board (make public)
fizzy_unpublish_board Unpublish board

Cards (18 tools)

Tool Description
fizzy_list_cards List cards with optional filters
fizzy_get_card Get a card by number
fizzy_create_card Create a new card
fizzy_update_card Update card title, description, or tags
fizzy_delete_card Delete a card
fizzy_close_card Close (complete) a card
fizzy_reopen_card Reopen a closed card
fizzy_postpone_card Move card to "Not Now"
fizzy_triage_card Move card to a column
fizzy_untriage_card Remove card from column (back to triage)
fizzy_tag_card Toggle a tag on a card
fizzy_assign_card Toggle user assignment on a card
fizzy_watch_card Subscribe to card notifications
fizzy_unwatch_card Unsubscribe from card notifications
fizzy_pin_card Pin a card for quick access
fizzy_unpin_card Unpin a card
fizzy_mark_golden Mark a card as golden (important)
fizzy_unmark_golden Remove golden status

Comments (5 tools)

Tool Description
fizzy_list_comments List comments on a card
fizzy_get_comment Get a specific comment
fizzy_create_comment Add a comment to a card
fizzy_update_comment Update a comment
fizzy_delete_comment Delete a comment

Columns (5 tools)

Tool Description
fizzy_list_columns List columns on a board
fizzy_get_column Get a specific column
fizzy_create_column Create a new column
fizzy_update_column Update column name or color
fizzy_delete_column Delete a column

Tags (1 tool)

Tool Description
fizzy_list_tags List all tags in the account

Users (2 tools)

Tool Description
fizzy_list_users List all active users
fizzy_get_user Get a specific user's details

Configuration

Config File

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

{
  "mode": "remote",
  "accessToken": "your-fizzy-token",
  "accountSlug": "/897362094",
  "hostedApiKey": "fmcp_..."
}

Environment Variables

Environment variables take precedence over the config file:

Variable Description
FIZZY_ACCESS_TOKEN Personal access token (required)
FIZZY_ACCOUNT_SLUG Account slug, e.g., /897362094 (optional, auto-detected)
FIZZY_BASE_URL API base URL (default: https://app.fizzy.do)
FIZZY_MCP_MODE Server mode: remote or local
FIZZY_MCP_API_KEY Hosted service API key (for higher limits)

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/      # Local MCP server and CLI (published as fizzy-do-mcp)
│   └── hosted/      # Hosted MCP service (Cloudflare Workers)
├── docs/            # Documentation site (Astro Starlight)
├── 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 the Local Server

# 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

Developing the Hosted Service

# Navigate to hosted app
cd apps/hosted

# Run locally with wrangler
pnpm dev

# Deploy to Cloudflare
pnpm wrangler deploy

# Generate database migrations
pnpm drizzle-kit generate

# Apply migrations
pnpm wrangler d1 migrations apply fizzy-mcp-db --remote

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 - Local MCP server, CLI, credential management (published to npm)
  • apps/hosted - Hosted MCP service on Cloudflare Workers with rate limiting

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

Hosted Service Tech Stack

  • Runtime: Cloudflare Workers
  • Framework: Hono v4
  • Database: Cloudflare D1 (SQLite) with Drizzle ORM v0.41+
  • Cache/Sessions: Cloudflare KV
  • MCP Transport: WebStandardStreamableHTTPServerTransport from @modelcontextprotocol/sdk

License

MIT

Credits

Built for use with Claude and the Model Context Protocol.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选