Canbari for your AI assistant

Your files. Your tools. Connected with MCP.

Ask your assistant to convert an image, trim a video or work with a PDF. Model Context Protocol (MCP) connects it to Canbari’s tools and lets you carry results from one step to the next.

94 file tools Start without a Canbari account
Canbari MCPStreamable HTTP · HTTPS
MCP server URL
https://canbari.com/mcp

Add this URL in your MCP client. This is the server endpoint; you are reading the setup guide.

Connect your assistant

Connect your assistant

Choose the client you already use. Canbari runs remotely, so there is no Canbari package or local server to install.

Codex

With Codex CLI already installed, run these commands in PowerShell on Windows or a terminal on macOS or Linux. They add Canbari, list configured servers and start Codex.

PowerShell / Terminal
codex mcp add canbari --url https://canbari.com/mcp
codex mcp list
codex

Start a new Codex session after adding the server. Use /mcp inside Codex to check the connection. You do not need to install a Canbari server on your computer.

Prefer editing your configuration?

As an alternative to the add command, place this section in ~/.codex/config.toml (Windows: %USERPROFILE%\.codex\config.toml).

config.toml
[mcp_servers.canbari]
url = "https://canbari.com/mcp"
tool_timeout_sec = 120
Official Codex MCP documentation

Claude Code

With Claude Code installed, run these commands. The user scope makes Canbari available across your projects.

Claude Code · Terminal
claude mcp add --transport http --scope user canbari https://canbari.com/mcp
claude mcp list
claude

Start a new Claude Code session and use /mcp to check Canbari. You can try the guest workflow below immediately. For account access, use the sign-in commands in the access section.

Official Claude Code MCP documentation

General setup

  1. Open your client’s MCP/server settings and add a remote server named Canbari.
  2. Choose Streamable HTTP and paste the MCP server URL shown above. You do not need a local command, npm package or API key for guest access.
  3. Choose no authentication for guest use, or OAuth for your Canbari account if your client supports it. Approve the account connection in your browser when prompted.
  4. Save, enable the server and reload its tools or start a new session. Ask your assistant to list the Canbari tools, then try the example workflow below.

Your client must support tools without OAuth for guest mode, or OAuth for account access. Local file uploads also require the assistant to send HTTP PUT requests; attaching a file to a chat alone does not upload it to Canbari. With an account connection, you can also upload on the website first.

Try your first workflow

Give your assistant this prompt and replace the example path with a file it can access. It can handle the individual tool calls for you.

Your first prompt
Use Canbari MCP as a guest. Start a guest session, upload C:\Users\YourName\Pictures\photo.png, rotate the image by 90 degrees, convert the result to WebP and save it next to the original. Reuse the returned file IDs between tools, follow poll_after_ms when checking jobs, and end the guest session after downloading the result.

On macOS or Linux, use a path such as /Users/yourname/Pictures/photo.png or /home/yourname/Pictures/photo.png. Allow the client to read that file and save the result when it asks.

Choose how you connect

Guest workspace

Start without a Canbari login. Your assistant calls start_guest_session and passes the returned guest_token with subsequent tool calls. The private workspace lasts six hours. Local server processing and direct Gemini processing are available within existing limits. Website account files are separate from this workspace.

Connected account

Connect your Canbari account to use your own website uploads and results across tools. GLM/Z.ai, OpenRouter, OpenAI API and other paid providers require this connection. Your account’s permissions, credits and quotas still apply.

Use the command for your client, sign in to Canbari in the browser and approve the connection. Start a new client session afterwards. In Claude Code, you can also manage authentication through /mcp.

OAuth · Codex
codex mcp login canbari
OAuth · Claude Code
claude mcp login canbari
Manage or revoke MCP connections
Switch back to guest mode

Use the command for your client and start a new session to return to guest mode. An active account connection takes precedence over a guest token.

Codex · Terminal
codex mcp logout canbari
Claude Code · Terminal
claude mcp logout canbari

Keep guest tokens and transfer URLs private. Ordinary uploads stay private; share_files deliberately creates public links that are retained for 90 days. Only ask for sharing when you want a public link.

One upload. Several tools.

Files are shared between tools within the same guest workspace or connected account. Pass the output file ID to the next tool to continue editing without downloading and uploading again.

  1. Upload a file

    create_upload takes a tool_id, filename and size_bytes. Send the raw file bytes with HTTP PUT to its upload_url, including Content-Length. Use the file_id returned by the completed upload. The upload URL expires after five minutes.

  2. Run a tool

    Read the tool’s input schema, pass the file IDs in file_ids and supply the settings you need. Use a new idempotency_key per operation: 16–128 letters, numbers, underscores or hyphens. If a network request is interrupted, repeat it with the same key and identical inputs.

  3. Wait, then continue

    The tool returns a job_id. Call get_job and wait for the returned poll_after_ms before checking again, normally three seconds. Once the job completes, use the result file IDs for another tool or filter list_files by job_id.

  4. Download the result

    Call get_file to obtain a download URL and save the file within five minutes. Request a fresh URL if it expires. Download guest results before the six-hour workspace expires, then call end_guest_session to revoke access and outstanding transfer links.

Tools & workflow helpers

The MCP exposes the website’s image, GIF, video, audio and PDF tools, plus meme, background, sharing, Reddit and Instagram workflows. Your client discovers the current tool names, settings and input limits through tools/list.

Browse all Canbari tools
HelperWhat it does
start_guest_sessionCreate a private guest workspace and receive its token.
end_guest_sessionRevoke the guest workspace and its transfer links.
create_uploadCreate a short-lived URL for uploading file bytes.
list_filesFind uploads and results; use next_offset to continue through the list.
get_fileRead file details and request a download URL.
get_jobCheck processing status and retrieve result file IDs.
inspect_pdfInspect PDF permissions or form fields, including the schema_hash used to fill a form.

Questions & troubleshooting

How many jobs can I start?

MCP allows 10 new processing jobs in a rolling hour, per IP address and additionally per guest workspace or connected account. Rotating and then converting a file counts as two jobs. Uploads, status checks and downloads do not use this job allowance. Identical retries reuse the original job reference. New sessions or reconnecting an account do not reset the limit; IPv6 addresses within the same /64 share an allowance. If you receive JOB_RATE_LIMITED, wait for retry_after_seconds before starting another job.

Why does a tool ask me to sign in?

OAUTH_REQUIRED means the selected provider needs an account connection. Connect with codex mcp login canbari or choose local processing or direct Gemini where the tool offers it. Signing in does not bypass account permissions or credits.

Why can’t my assistant see a website upload?

Guest workspaces are separate from website accounts. Connect the same Canbari account used for the upload, then call list_files. For guest processing, upload the file into that guest workspace using create_upload and HTTP PUT.

What if a session or download link expires?

For an expired transfer link, request a new one while your workspace or account connection is active. A guest workspace expires after six hours and cannot be recovered. Account connections last up to 30 days; reconnect when needed. Existing file retention rules still apply.

What should I do about a failed request or a limit?

Read the returned error before retrying. For 401 or 403, resolve the session, sign-in or permission issue first. For 429, wait for the indicated retry interval. Use poll_after_ms for running jobs. File formats, size limits, credits and processing quotas depend on the selected tool and account.