Fizzy MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for HTTP/SSE transport | 3000 |
| LOG_LEVEL | No | Logging level (debug, info, warn, error) | info |
| MCP_TRANSPORT | No | Default transport (stdio, sse, http) | stdio |
| FIZZY_BASE_URL | No | Fizzy API base URL | https://app.fizzy.do |
| MCP_AUTH_TOKEN | No | Optional bearer token for Client Authentication (authenticates MCP clients connecting to this server) | |
| FIZZY_ACCESS_TOKEN | Yes | Your Fizzy API access token (required for stdio transport only). HTTP/SSE users provide tokens via Authorization header. | |
| MCP_ALLOWED_ORIGINS | No | Allowed CORS origins (comma-separated or * for all) | * |
| MCP_BIND_ALL_INTERFACES | No | Set to 'true' to bind to 0.0.0.0 instead of localhost | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| fizzy_get_identityA | Get the current authenticated user's identity and all associated Fizzy accounts. Returns user information including email, name, and list of accounts with their slugs and permissions. |
| fizzy_get_accountsA | Get all Fizzy accounts accessible to the current user. Returns account details including slugs, names, and access levels. |
| fizzy_get_boardsA | Get all boards in a Fizzy account. Returns board details including IDs, names, descriptions, and URLs. Use this to discover available boards before working with cards. The result is the complete list: every upstream page is fetched server-side, so there is no page parameter and nothing further to request. |
| fizzy_get_boardA | Get detailed information about a specific board including its name, description, URL, and metadata. Use this to understand board structure before querying cards or columns. |
| fizzy_create_boardA | Create a new board in a Fizzy account. Boards are top-level containers for organizing cards. Returns the newly created board with its ID and URL. |
| fizzy_update_boardA | Update an existing board's name or other properties. This operation modifies board metadata but does not affect cards or columns. |
| fizzy_delete_boardA | Permanently delete a board and all its contents including cards, columns, and associated data. ⚠️ This is a destructive operation that cannot be undone. Use with caution. |
| fizzy_get_cardsA | Get a page of cards in an account with optional filtering by board, indexed_by (e.g., 'golden' for priority cards), column, assignees, tags, or search terms. search OR-matches its words by default; set search_mode='all' to require every usable word (stopwords and words under 3 characters are dropped and listed in ignored_search_terms), which is the mode to use when checking whether a card already exists. Use board_id to scope results to a specific board and column_id to scope to a workflow column. Results are PAGINATED with a server-controlled, variable page size, so never compute a page count from the length of one page. Returns an object {cards, page, total_count, has_more, next_page}, where total_count is the total number of cards matching the filters (NOT the length of this page). To enumerate every match, call repeatedly with page = next_page until has_more is false OR cards comes back empty — an out-of-range page returns empty cards but may still report has_more true. A board's cards_count from fizzy_get_boards can exceed a single page of results; that is expected, not a discrepancy. Use fields='summary' when browsing, searching, or scanning many cards — it drops full descriptions/HTML and returns a much smaller payload (often 100x+ smaller). Once you've identified the specific card you need, call fizzy_get_card for its full detail. |
| fizzy_get_pinsA | Get the cards the current user has pinned in an account, as a plain array of cards. Pins are per-user and per-account, so this returns only the authenticated user's pins — it is not a view of what anyone else pinned. This listing is NOT paginated: the server returns at most 100 pinned cards, and there is no page or next_page to follow. Strongly prefer fields='summary' here — the response carries full card descriptions and HTML by default, so a large pin list can run to several megabytes; summary returns the same cards far smaller. Call fizzy_get_card for the full detail of a specific pin. Use fizzy_pin_card and fizzy_unpin_card to change what appears in this list. |
| fizzy_get_cardA | Get detailed information about a specific card including full description (HTML), assignees, tags, due dates, steps (to-dos), and metadata. Use this to see complete card content before making updates. Attachments — screenshots, images, PDFs, logs — appear in the description only as raw markup, and the plain-text description flattens them to a bare filename with no way to fetch them. Pass include_attachments=true to also get an 'attachments' array with each file's filename, content_type, byte_size, dimensions and signed_id; pass that signed_id and filename to fizzy_get_attachment to actually see an image. Do that whenever a card mentions a screenshot or the answer depends on what a picture shows. |
| fizzy_create_cardA | Create a new card on a board with optional title, description (HTML supported), status (draft/published), column placement, assignees, tags, and due date. Cards start in triage by default unless a column is specified. |
| fizzy_update_cardA | Update an existing card's properties including title, description, status, column placement, assignees, tags, and due date. Partial updates are supported - only provided fields will be changed. |
| fizzy_delete_cardA | Permanently delete a card and all its contents including comments, steps, and attachments. ⚠️ This is a destructive operation that cannot be undone. |
| fizzy_close_cardA | Close a card to mark it as done/completed. Closed cards are archived and removed from active view. Use this when work on a card is finished. |
| fizzy_reopen_cardA | Reopen a previously closed card to make it active again. Use this to resume work on completed cards or undo accidental closures. |
| fizzy_move_card_to_not_nowA | Move a card to the 'Not Now' triage area, indicating it's not a current priority. This removes the card from workflow columns but keeps it accessible. |
| fizzy_move_card_to_columnB | Move a card from triage to a specific workflow column. Use this to transition cards through your workflow stages. |
| fizzy_send_card_to_triageA | Send a card back to the triage area by removing it from its current column. Use this to reassess or reprioritize cards that need more planning. |
| fizzy_toggle_card_tagA | Add or remove a tag from a card. If the tag doesn't exist in the account, it will be created automatically. Tags help organize and categorize cards. Leading '#' characters are automatically stripped from tag titles. |
| fizzy_toggle_card_assignmentA | Assign or unassign a user to/from a card. If the user is already assigned, they will be unassigned. If not assigned, they will be assigned. Use this to manage card ownership and responsibilities. |
| fizzy_watch_cardA | Subscribe to notifications for a card. You'll receive notifications when the card is updated, commented on, or when its status changes. |
| fizzy_unwatch_cardA | Unsubscribe from notifications for a card. You'll stop receiving updates about card changes. Use this to reduce notification noise for cards you're no longer actively involved with. |
| fizzy_gild_cardA | Mark a card as golden (priority/important). Golden cards are highlighted and can be filtered using indexed_by='golden' in fizzy_get_cards. Use this to flag high-priority work items. |
| fizzy_ungild_cardA | Remove golden status from a card. The card will no longer appear in golden card filters and will lose its priority highlighting. |
| fizzy_pin_cardA | Pin a card for the current user, keeping it in their personal quick-access list. Pins are per-user and per-account: pinning affects only the authenticated user's list, not what teammates see. Use this to keep track of a card you need to return to. Retrieve the resulting list with fizzy_get_pins. To flag a card as high-priority for the whole team instead, use fizzy_gild_card. |
| fizzy_unpin_cardA | Unpin a card for the current user, removing it from their personal quick-access list. Only affects the authenticated user's pins; the card itself is unchanged and remains on its board. |
| fizzy_get_card_commentsA | Get all comments on a card in chronological order. Returns comment text (HTML), authors, timestamps, and reaction counts. Use this to review discussion and feedback on a card. The result is the complete thread: every upstream page is fetched server-side, so there is no page parameter and nothing further to request. Use fields='summary' to drop the duplicated HTML body and the repeated per-comment card/creator detail — comment text itself is never truncated in either mode. Attachments posted in a comment appear only as raw markup inside the HTML body, which fields='summary' drops entirely. Pass include_attachments=true to add a per-comment 'attachments' array with each file's filename, content_type, byte_size, dimensions and signed_id — it works in both modes — then pass that signed_id and filename to fizzy_get_attachment to actually see an image. |
| fizzy_get_commentA | Get detailed information about a specific comment including full HTML content, author, timestamp, and reactions. Use this to read a specific comment in detail. |
| fizzy_create_commentA | Add a new comment to a card. Supports HTML formatting for rich text content including bold, italic, links, code blocks, and lists. Use this to provide feedback or updates on cards. |
| fizzy_update_commentA | Edit an existing comment's content. Supports HTML formatting. Only the comment author can update their own comments. |
| fizzy_delete_commentA | Permanently delete a comment from a card. ⚠️ This is a destructive operation that cannot be undone. Only the comment author can delete their own comments. |
| fizzy_get_reactionsA | Get all emoji reactions on a comment. Returns reaction content (emoji or text), authors, and timestamps. Use this to see how team members respond to comments. |
| fizzy_add_reactionA | Add an emoji reaction to a comment. Reactions can be emojis (👍, ❤️, 🎉) or short text (max 16 characters). Use this to quickly acknowledge or respond to comments without writing a full reply. |
| fizzy_remove_reactionA | Remove an emoji reaction from a comment. Only the user who added the reaction can remove it. |
| fizzy_get_stepA | Get detailed information about a specific to-do step on a card including description and completion status. Steps are checklist items that break down card work into smaller tasks. |
| fizzy_create_stepA | Create a new to-do step (checklist item) on a card. Steps help break down work into manageable tasks. New steps are created as incomplete by default. |
| fizzy_update_stepA | Update a to-do step's description or completion status. Use this to mark steps as complete/incomplete or edit their descriptions. |
| fizzy_delete_stepA | Permanently delete a to-do step from a card. ⚠️ This is a destructive operation that cannot be undone. |
| fizzy_get_columnsA | Get all workflow columns on a board. Columns represent workflow stages (e.g., To Do, In Progress, Done). Returns column IDs, names, colors, and positions in the workflow. |
| fizzy_get_columnA | Get detailed information about a specific workflow column including its name, color, position, and card count. |
| fizzy_create_columnA | Create a new workflow column on a board with specified name and color. Columns define workflow stages and help organize cards through your process. Available colors: blue, gray, tan, yellow, lime, aqua, violet, purple, pink. |
| fizzy_update_columnA | Update a workflow column's name or color. Use this to refine your workflow stages or improve visual organization. This does not affect cards in the column. |
| fizzy_delete_columnA | Permanently delete a workflow column from a board. Cards in this column will be moved to triage. ⚠️ This is a destructive operation that cannot be undone. |
| fizzy_get_tagsA | Get all tags used in an account. Tags are labels for categorizing and organizing cards. Returns tag IDs, titles, and usage counts across cards. The result is the complete list: every upstream page is fetched server-side, so there is no page parameter and nothing further to request. |
| fizzy_get_usersA | Get all active users in an account. Returns user IDs, names, emails, and access levels. Use this to discover available users for card assignments. The result is the complete roster: every upstream page is fetched server-side, so there is no page parameter and nothing further to request. |
| fizzy_get_userA | Get detailed information about a specific user including their name, email, role, and permissions. |
| fizzy_update_userA | Update a user's display name or other profile information. Requires appropriate permissions for user management. |
| fizzy_deactivate_userA | Deactivate a user account, revoking their access to the Fizzy account. ⚠️ This is a significant operation that affects user access. Use with caution. |
| fizzy_get_notificationsA | Get notifications for the current user in an account. Returns notification content, read/unread status, timestamps, and related cards or comments. By default (page omitted) returns up to 100 unread notifications followed by the most recent page of already-read ones — this is what you want for 'what needs my attention'. Pages 2 and up contain ONLY older, already-read notifications; no unread notification ever appears there. To walk back through history, call with page=2, then 3, and so on until the array comes back empty. Page size is server-controlled and variable, so never derive counts or remaining history from the length of a page. Use fields='summary' to shrink the embedded card and creator objects down to their key identifying fields — typically several times smaller than the full payload. |
| fizzy_mark_notification_readA | Mark a specific notification as read. Use this to acknowledge notifications and clear them from unread status. |
| fizzy_mark_notification_unreadA | Mark a specific notification as unread. Use this to flag notifications for later attention. |
| fizzy_mark_all_notifications_readA | Mark all notifications in an account as read at once. Use this to clear your notification inbox after reviewing all updates. |
| fizzy_upload_fileA | Upload a file (screenshot, image, PDF, log) to Fizzy and get back the HTML needed to embed it. This does not attach the file on its own — it returns an 'attachment_html' snippet that you then include in any rich-text field: pass it in 'body' to fizzy_create_comment or fizzy_update_comment, or in 'description' to fizzy_create_card or fizzy_update_card. Combine it with your own HTML, e.g. body: "Steps to reproduce:" + attachment_html. Provide the file as 'file_path' (a local path — stdio transport only) or as 'base64_data' with 'filename' (works everywhere). |
| fizzy_get_attachmentA | Fetch a file already attached to a card or comment and return it so it can actually be looked at. Images (PNG, JPEG, GIF, WebP) come back as an image the model can see; any other type comes back as metadata with a note that it cannot be rendered, and its bytes are not downloaded. Get the 'signed_id' and 'filename' to pass here from fizzy_get_card or fizzy_get_card_comments called with include_attachments=true — this tool takes no URL, and building the arguments from a URL by hand will not work. Prefer the preview: when the attachment reports a 'preview_variation', pass it as 'variation' to get the resized version, which is a fraction of the bytes and is what a full-resolution screenshot is refused in favour of. Use this whenever a card or comment references a screenshot, mockup, diagram, or error image and the answer depends on what it shows. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 54 tools
Most tools target a distinct resource and action, and the plural/singular get_* pattern makes collection versus detail calls easy to separate. The main ambiguity is between move_card_to_not_now and send_card_to_triage, which both describe returning a card to a triage-like area, and get_reactions overlaps somewhat with reaction data already exposed by get_comment.
Every tool uses the fizzy_ prefix with clear snake_case verb_noun names. Collection endpoints consistently use plural nouns and singular endpoints use singular nouns, while create/update/delete/close/reopen/toggle follow a predictable pattern.
54 tools is a very large surface for an MCP server, even though the domain is broad. Several calls (get_boards/get_board, get_users/get_user, get_columns/get_column) and many card state toggles could reasonably be consolidated, making the set heavier than necessary.
The server provides full CRUD and lifecycle coverage for boards, cards, comments, steps, columns, and notifications, plus file upload/retrieval and reactions. Minor gaps remain: no direct tag CRUD beyond auto-creation, no reactivate or invite user, and no delete attachment.