Back to Blog

n8n File Conversion with the MCP Client Tool Node

Build an n8n workflow that converts files with the file-convert.online MCP server: MCP Client Tool node setup, Streamable HTTP with Bearer auth, an upload, convert, deliver example, and the errors to expect.

n8n's AI Agent node can call tools exposed by MCP servers through the MCP Client Tool node. Pointed at file-convert.online, that gives an n8n workflow the ability to convert documents, images, audio and video without a custom HTTP integration. This walkthrough builds a workflow that receives a file URL, converts it, and delivers the result.

What you need

  • An n8n instance (cloud or self-hosted) recent enough to include the MCP Client Tool node with the HTTP Streamable transport.
  • A file-convert.online account and an API key (fc_live_...), created at file-convert.online/account/api-keys.
  • A chat model credential for the AI Agent node (any provider n8n supports).

Step 1: add and configure the MCP Client Tool node

  1. Add an AI Agent node to the canvas and attach a chat model.
  2. Attach an MCP Client Tool node to the agent's Tools input.
  3. Endpoint: https://file-convert.online/api/mcp/v1/mcp
  4. Server transport: HTTP Streamable.
  5. Authentication: Bearer. Create a new Bearer credential and paste the API key. Older n8n versions expose the same thing as a Header Auth credential with name Authorization and value Bearer fc_live_....
  6. Tools to include: all. The server exposes eight; you can restrict the agent to convert_file, get_job_status and get_download_url for a narrow workflow.

Open the node's test panel; it should list the tools. A 401 here means the credential value is not exactly Bearer, a space, and the key.

Step 2: give the agent a job

A system prompt like the following keeps the agent on rails:

You convert files with the fileconvert tools.
Input: a file URL, its current format and the target format.
1. Call convert_file(source_url, source_format, target_format).
2. Call get_job_status(job_id) every 3 seconds until status is Completed or Failed.
3. On Completed call get_download_url(job_id) and return the download_url.
4. On Failed return the reason. Never invent a URL.

Feed the user message from the trigger, for example a Webhook node receiving {"url": "https://.../deck.pptx", "from": "pptx", "to": "pdf"}.

Step 3: deliver the result

The download URL works without authentication (the unguessable file id is the capability), so add an HTTP Request node after the agent: method GET, URL from the agent output, response format File. Then hand the binary to whatever comes next: a Google Drive, S3, Slack or email node. Results stay downloadable for about an hour, which is plenty for a workflow that runs immediately; for delayed delivery, call the REST retention endpoint described in the README.

Local files instead of URLs

When the trigger delivers a binary (an email attachment, a form upload), the agent path is upload_file followed by start_conversion. Base64 in the model context is fine for small files but wasteful for large ones, so the cleaner pattern is to upload with an HTTP Request node yourself (POST https://file-convert.online/api/file/v1/file, multipart field file) and pass the returned file id to the agent with the instruction to call start_conversion(file_id, source_format, target_format).

Batching and costs

A Split In Batches or Loop Over Items node in front of the agent converts a list one file at a time. Each conversion costs credits by category (1 for images, 2 for documents, audio, archives and ebooks, 5 for video); the agent can call get_balance at the start of a run and stop early when the budget is short. Rate limits are per minute and grow with the plan; a 429 is returned to the agent as an instruction to wait, and n8n's own retry settings on the agent node cover the rest.

Errors you may see

  • "invalid api key": credential misconfigured or key revoked.
  • "No conversion with job_id ... found": the agent hallucinated an id or reused one from another account. The system prompt above prevents most of it.
  • "different categories": the agent asked for png to pdf. Conversions run within one category; pick the right target or convert in two steps where a bridge format exists.
  • "no credits left": top up at file-convert.online/pricing or wait for the daily free package.

Everything the tools accept and return is documented in the README at file-convert.online/blog/file-convert-mcp-server-readme, and the REST twin of every tool is described at https://file-convert.online/api/mcp/openapi.json for workflows that prefer plain HTTP Request nodes.

Ready to Convert Your Files?

Try our free online file converter. No registration required.

Start Converting