fizzy
MCP server for Fizzy task management
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"@silky/fizzy-mcp": {
"args": [
"@silky/fizzy-mcp@1.0.0"
],
"command": "npx"
}
}
}
可用工具 (5 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
tavily_search 14 个参数 需填 1 项
Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.
必填参数:query
tavily_extract 6 个参数 需填 1 项
Extract content from URLs. Returns raw page content in markdown or text format.
必填参数:urls
tavily_crawl 11 个参数 需填 1 项
Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.
必填参数:url
tavily_map 8 个参数 需填 1 项
Map a website's structure. Returns a list of URLs found starting from the base URL.
必填参数:url
tavily_research 2 个参数 需填 1 项
Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.
必填参数:input
服务介绍
fizzy-mcp
MCP server for Fizzy task management. Exposes 7 tools for managing boards, cards, comments, and checklists.
# Prerequisites
Get your Fizzy access token:
- Log in to Fizzy
- Go to Settings > API Access
- Generate a new token
# How to Install
Add to your config file:
- macOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"Fizzy": {
"command": "npx",
"args": ["-y", "@silky/fizzy-mcp"],
"env": {
"FIZZY_TOKEN": "your-token-here"
}
}
}
}
Windows only: Add "APPDATA": "C:\\Users\\YourUsername\\AppData\\Roaming" to the env block.
Restart Claude Desktop completely, then verify: "List my Fizzy boards."
Use the CLI:
claude mcp add - -transport stdio Fizzy - -env FIZZY_TOKEN=your-token-here - - npx -y @silky/fizzy-mcp
Or add to ~/.claude.json:
{
"mcpServers": {
"Fizzy": {
"command": "npx",
"args": ["-y", "@silky/fizzy-mcp"],
"env": {
"FIZZY_TOKEN": "your-token-here"
}
}
}
}
Restart Claude Code, then verify: "List my Fizzy boards."
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):
{
"mcpServers": {
"Fizzy": {
"command": "npx",
"args": ["-y", "@silky/fizzy-mcp"],
"env": {
"FIZZY_TOKEN": "your-token-here"
}
}
}
}
Restart Cursor completely, then verify in Agent mode (Ctrl+I).
Add to .vscode/mcp.json in your workspace:
{
"inputs": [
{
"type": "promptString",
"id": "fizzy-token",
"description": "Fizzy API Token",
"password": true
}
],
"servers": {
"Fizzy": {
"command": "npx",
"args": ["-y", "@silky/fizzy-mcp"],
"env": {
"FIZZY_TOKEN": "${input:fizzy-token}"
}
}
}
}
Or use user settings via Command Palette → "MCP: Open User Configuration".
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"Fizzy": {
"command": "npx",
"args": ["-y", "@silky/fizzy-mcp"],
"env": {
"FIZZY_TOKEN": "${env:FIZZY_TOKEN}"
}
}
}
}
Set FIZZY_TOKEN in your shell environment, or hardcode the value. Restart Windsurf.
Add to the Cline MCP settings file:
- macOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - Windows:
%APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - Linux:
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
{
"mcpServers": {
"Fizzy": {
"command": "npx",
"args": ["-y", "@silky/fizzy-mcp"],
"env": {
"FIZZY_TOKEN": "your-token-here"
},
"disabled": false,
"alwaysAllow": []
}
}
}
Add to .continue/config.yaml:
mcpServers:
- name: Fizzy
command: npx
args:
- "-y"
- "@silky/fizzy-mcp"
env:
FIZZY_TOKEN: ${{ secrets.FIZZY_TOKEN }}
Requires pnpm.
git clone https://github.com/davegomez/fizzy-mcp.git
cd fizzy-mcp
pnpm install
pnpm build
Replace npx -y @silky/fizzy-mcp with node /absolute/path/to/fizzy-mcp/dist/index.js in any config above.
# Configuration Reference
| Variable | Required | Default | Description |
| - -- -- -- -- -- -- -- - | - -- -- -- - | - -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - |
| FIZZY_TOKEN | Yes | — | API token from Fizzy settings |
| FIZZY_ACCOUNT | No | — | Default account slug (e.g., 897362094) |
| FIZZY_BASE_URL | No | https://app.fizzy.do | API base URL |
# # Account Resolution
Tools resolve account_slug in this order:
- Explicit
account_slugparameter on the tool call - Session default (set via
fizzy_accounttool withaction: "set") FIZZY_ACCOUNTenvironment variable- Auto-detect (if user has exactly one account)
# Tools Reference
# # fizzy_account
Gets, sets, or lists accounts for subsequent tool calls.
| Parameter | Type | Required | Description |
| - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- | - -- -- -- -- -- -- -- -- -- -- -- -- -- |
| action | "get" | "set" | "list" | Yes | Action to perform |
| account_slug | string | For set | Account slug from Fizzy URL |
Returns:
get:{ "action": "get", "account_slug": "897362094" | null }set:{ "action": "set", "account_slug": "897362094" }list:{ "action": "list", "accounts": [{ "slug": "...", "name": "...", "id": "..." }] }
# # fizzy_boards
Lists boards in the account with column summaries.
| Parameter | Type | Required | Default | Description |
| - -- -- -- -- -- -- - | - -- -- - | - -- -- -- - | - -- -- -- -- -- -- -- | - -- -- -- -- -- -- -- -- -- -- - |
| account_slug | string | No | Session default | Account slug |
| limit | number | No | 25 | Items per page (1-100) |
| cursor | string | No | — | Pagination cursor |
Returns: { "items": Board[], "pagination": { "returned": number, "has_more": boolean, "next_cursor"?: string } }
# # fizzy_search
Searches for cards with filters.
| Parameter | Type | Required | Description |
| - -- -- -- -- -- -- -- -- -- | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - |
| account_slug | string | No | Account slug |
| board_id | string | No | Filter by board |
| tag_ids | string[] | No | Filter by ALL tags |
| assignee_ids | string[] | No | Filter by ANY assignees |
| creator_ids | string[] | No | Filter by card creator |
| closer_ids | string[] | No | Filter by who closed |
| card_ids | string[] | No | Filter to specific card IDs |
| indexed_by | "closed" | "not_now" | "all" | "stalled" | "postponing_soon" | "golden" | No | Filter by index |
| assignment_status | "unassigned" | No | Filter by assignment status |
| sorted_by | "newest" | "oldest" | "recently_active" | No | Sort order |
| terms | string[] | No | Free-text search terms |
| creation | date range* | No | Filter by creation date |
| closure | date range* | No | Filter by closure date |
| limit | number | No | Items per page (1-100, default 25) |
| cursor | string | No | Pagination cursor |
*Date range values: today, yesterday, thisweek, thismonth, last7, last14, last30.
Returns: { "items": Card[], "pagination": {...} }
# # fizzy_get_card
Gets full details of a card by number or ID.
| Parameter | Type | Required | Description |
| - -- -- -- -- -- -- - | - -- -- - | - -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - |
| account_slug | string | No | Account slug |
| card_number | number | No* | Card number from URL (e.g., 42 from # 42) |
| card_id | string | No* | Card UUID from API responses |
*Provide card_number OR card_id. Prefer card_number when you have the human-readable # from the UI.
Returns: Card object with id, number, title, description (markdown), status, board_id, column_id, tags, assignees, steps_count, completed_steps_count, comments_count, url, timestamps.
# # fizzy_task
Creates or updates a card.
Mode: Omit card_number to create; include it to update.
| Parameter | Type | Required | Description |
| - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | - -- -- -- -- -- | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - |
| account_slug | string | No | Account slug |
| card_number | number | No | Card to update (omit to create) |
| board_id | string | Create mode | Board for new card |
| title | string | Create mode | Card title |
| description | string | No | Markdown content |
| status | "open" | "closed" | "not_now" | No | Change card status |
| column_id | string | No | Triage to column |
| position | "top" | "bottom" | No | Position in column (default: "bottom") |
| add_tags | string[] | No | Tag titles to add |
| remove_tags | string[] | No | Tag titles to remove |
| steps | string[] | No | Checklist items (create mode only) |
Returns: { "mode": "create" | "update", "card": {...}, "operations": {...}, "failures": [...] }
# # fizzy_comment
Create, list, update, or delete a comment on a card.
| Parameter | Type | Required | Description |
| - -- -- -- -- -- -- - | - -- -- - | - -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- |
| action | string | No | "create" (default), "list", "update", "delete" |
| account_slug | string | No | Account slug |
| card_number | number | Yes | Card number |
| comment_id | string | No | Comment ID. Required for update/delete |
| body | string | No | Comment in markdown (1-10000 chars). Required for create/update |
Returns: Comment object with id, body (markdown), creator, timestamps, url. List returns { comments, pagination }. Delete returns { comment_id, deleted }.
# # fizzy_step
Create, complete, update, uncomplete, or delete a step on a card.
| Parameter | Type | Required | Description |
| - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- - | - -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- |
| account_slug | string | No | Account slug |
| card_number | number | Yes | Card containing the step |
| step | string | number | No | Content substring OR 1-based index. Omit to create. |
| content | string | No | Step text for create or update |
| completed | boolean | No | Set completion state |
| delete | boolean | No | Delete the step |
Mode detection:
stepabsent → CREATE (requirescontent)steppresent, no other params → COMPLETEstep+content→ UPDATEstep+completed: false→ UNCOMPLETEstep+delete: true→ DELETE
Returns: { "id": "...", "content": "...", "completed": true }
# Pagination Reference
List operations return:
{
"items": [...],
"pagination": {
"returned": 25,
"has_more": true,
"next_cursor": "opaque-cursor-string"
}
}
| Field | Type | Description |
| - -- -- -- -- -- -- | - -- -- -- | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- - |
| returned | number | Items in this response |
| has_more | boolean | More items available |
| next_cursor | string | Pass as cursor for next page |
# Error Reference
| Error | Cause |
| - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - |
| "No account specified. Set FIZZY_ACCOUNT env var, use fizzy_account tool, or pass account_slug." | No account resolvable via any method |
| "Account "..." not found" | Invalid slug passed to fizzy_account set |
| "Card # N not found" | Card number does not exist |
| "Board not found" | Invalid board_id |
# License
AGPL-3.0-or-later