What’s exposed
800+ tools on the site. If a tool page’s Builder menu shows “MCP”, an agent can call it. The rest run entirely in the browser — webcam capture, some PDF and image editing — and have no server-side equivalent. Calling one returnstool_not_allowed, so an agent knows to stop retrying and send the user to the website.
Name mapping
MCP tool names can’t contain/, so nested slugs use a double underscore:
Finding and running a tool
A hosted session lists five tools, not all — see the overview for why. Three calls get from “convert a CSV” to a result:1
search_tools
2
describe_tool
3
run_tool
describe_tool quoted.credit_cost_multiplier_field names the input that multiplies the price on per-unit tools (ioCount on the name generators, at 2 credits a name). null for the flat-priced majority.
Connect to ?listing=full to get all supported tools with their own schemas instead — worth it only if your client loads tools lazily. Either way a tool can be called by its own name directly.
Over REST the equivalents are GET /v1/tools/search and GET /v1/tools/list.
Inputs
Inputs use the same names as the REST API (ioInputString, ioCase, …), advertised through describe_tool’s input_schema — or, under ?listing=full, through each tool’s own inputSchema. They are the same object either way.
Results
A successful call returns both text content andstructuredContent — the same outputs object REST returns, so an agent can read fields by name.
Failures come back as an MCP error result carrying the same error codes as REST, as code: text:
Parse the prefix up to the first colon — the text after it varies by code (a field map, a sentence, a short phrase) and isn’t guaranteed stable.
Checking your balance
Alongside the three above, hosted MCP sessions get two tools that aren’t from the catalog.get_credits takes no arguments:
Reading your usage history
And the fifth,get_usage — also no arguments:
web, api, mcp), so browser and REST use show up here too. Same stdio carve-out as get_credits.
credits is the same object get_credits returns, from the same builder, so the two can’t quote different numbers — it’s here because spend and balance answer each other’s obvious follow-up. It’s null only on an unmetered deployment. Use get_credits when the balance is all you want: it also carries your rate limit and per-plan credit floor.
Over REST, GET /v1/me/usage returns the history alone — pair it with GET /v1/me/credits for the balance.
Cost
Every tool call is metered and refunded on failure — see Credits for the per-plan floor.run_tool costs the same as calling the tool directly: no surcharge, no discount. Listing is free, and so are search_tools, describe_tool, get_credits and get_usage.