the effing blog

Talk data to me

We've added an MCP server to Effing Cloud, so you can ask your AI assistant about your renders, function runs, errors, and usage.

Effing Cloud now has a built-in MCP server. Point Claude, ChatGPT, or your own agent at https://cloud.effing.dev/mcp and it can answer questions about your account: renders, fn runs, errors, usage volumes, and estimated costs. The full setup guide is in the docs.

Why we built it

The console’s dashboards answer the questions we thought of in advance. The questions you actually have on a Tuesday morning are rarely those. “Did the error rate move after yesterday’s deploy?” “Which tag is behind last week’s render spike?” Answering them used to mean clicking through charts and doing the comparison in your head.

An assistant with tool access does that part for you. Ask about overnight failures and it pulls the recent errors, groups them by code, and tells you whether the timeouts are new or the same ones you already knew about. Ask what a busy customer cost you last month and it breaks usage down by tag and applies your contracted rates. The data was always there. Now you can ask for it in a sentence.

What it exposes

Ten read-only tools, covering both products: ffs, the video rendering service, and fn, the serverless media functions.

  • Overview tools. ffs_overview and fn_overview report operational metrics: totals, error counts, average and p95 timing, and a daily series for each. Good for “how are things running?”
  • Usage tools. ffs_usage and fn_usage report billable volumes. Both break down by tag; fn also by project, module, or kind, and ffs by API key. When your account has contracted rates, they include estimated costs.
  • List tools. ffs_list_renders, fn_list_runs, fn_list_projects, and the two list_errors tools return individual rows. fn_list_runs filters by project, module, kind, or tag, and ffs_list_renders by tag. list_tag_names tells the model which tags exist so it doesn’t have to guess.

The responses are compact JSON built for a model to read, not screens for a human to look at. ffs_overview for the last week is a stats block and two daily series, small enough that the assistant can hold several calls in context and compare across them.

Hooking it up

In Claude and ChatGPT it’s a custom connector: paste https://cloud.effing.dev/mcp into the connector settings and authenticate with your normal Effing Cloud login. No key to copy around, and you can revoke the connection any time from “Connected apps” on your profile page.

For Claude Code, create an API key on the Credentials page and run:

claude mcp add --transport http effing-cloud https://cloud.effing.dev/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

The same server URL and API key work for programmatic use. Both the Claude API and the OpenAI Responses API can call remote MCP servers directly, so an agent you build yourself gets the same ten tools. The docs have the request snippets.

If you’re on Effing Cloud, connect it and ask something you’d normally dig through the console for. Setup is one URL, and undoing it is one click on the profile page, so trying it costs you a minute.