Skip to main content
Glama

Upload File

fizzy_upload_file

Upload a file to Fizzy and receive HTML to embed it in comments or cards. Provide a local path or base64 data to generate an attachment snippet.

Instructions

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).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filenameNoName to store the file under, e.g. 'screenshot.png'. Required with base64_data; defaults to the basename of file_path otherwise.
file_pathNoAbsolute path to a local file. Provide exactly one of file_path or base64_data. Only available over the stdio transport, where the caller and the server are the same user; hosted transports reject it. Preferred locally — it avoids inlining the file's bytes into the request.
base64_dataNoThe file's bytes, Base64-encoded. Provide exactly one of file_path or base64_data. Works on every transport, and requires filename. Use this when file_path is unavailable.
account_slugYesThe account slug identifier (e.g., '123456' or '/123456'). This identifies which Fizzy account to operate on. Get available account slugs from fizzy_get_identity or fizzy_get_accounts.
content_typeNoMIME type, e.g. 'image/png'. Inferred from the filename extension when omitted, falling back to application/octet-stream.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv1.1.0

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only indicate non-read-only and non-destructive behavior. The description adds critical behavioral nuance: uploading alone does not attach the file; the caller must use the returned HTML. It also discloses transport restrictions and the local-preference rationale, providing useful context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but tightly structured: purpose first, then return behavior, then integration with sibling tools, then parameter-selection guidance. The example showing string concatenation earns its place and no repeated schema boilerplate is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With five parameters and no output schema, the description still covers invocation, return value (attachment_html), transport caveats, and consumption steps. It is complete enough for an agent to call the tool correctly and know what to do with the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds cross-parameter guidance by emphasizing 'exactly one of file_path or base64_data' and explaining why file_path is preferred locally to avoid inlining bytes. This goes beyond individual parameter descriptions, though the schema already handles most parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with a specific verb and resource: 'Upload a file ... to Fizzy and get back the HTML needed to embed it.' It clearly distinguishes this tool from retrieval siblings like fizzy_get_attachment by stating what it returns and that it does not attach the file on its own.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit downstream usage: pass the returned attachment_html into fizzy_create_comment, fizzy_update_comment, fizzy_create_card, or fizzy_update_card. It also guides transport-specific input selection—file_path for stdio, base64_data elsewhere—so an agent knows exactly when to use each mode.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Fabric-Pro/fizzy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server