Everything your agent can do on one key.
17 tools over one MCP endpoint — images, speech, web search, memory and publishing.
Image
3· Draw it, restyle it, or read what is already there.image.generateTurn a prompt into a picture.
Render artwork, product shots, diagrams, and icons straight from a text prompt. Pick an aspect ratio and output format, or ask for several variations at once.
image.editRestyle or extend images you already have.
Pass one or more reference images and a prompt to restyle, extend, or recombine them. Available over MCP only — the REST image API generates from a prompt alone.
image.describeEyes for your agent — read any screenshot, chart, or photo.
Get a detailed description of an image: scenes, objects, charts, UI screenshots. Pass your own prompt to steer what the model looks for.
Audio
2· A voice to speak with and ears to listen.audio.synthesizeGive your agent a voice, in the voice you pick.
Turn any text into natural spoken audio with a selectable voice, format, and speed. Built for voice agents, narration, accessibility, and notifications.
audio.transcribeEars for your agent — meetings, voice notes, calls.
Transcribe recordings into clean text. Upload a file directly or point at a URL, and optionally hint the spoken language.
Web
1· Live results, past the training cutoff.search.webReal-time results, so answers aren't stuck at the training cutoff.
Run a live web search and get back ranked results the agent can read and cite. Cap the result count per call.
Memory
5· What the agent learned, still there next session.memory.saveWrite a markdown note under a key the agent chooses.
Create or overwrite one entry. Each key belongs to the calling key by default, or to a shared account-wide space when the key has memory sharing on.
memory.getFetch one entry by its exact key.
Read back a single stored note verbatim. Costs nothing — memory reads are unmetered.
memory.listEvery key in scope, with a preview of each.
Enumerate what the agent has stored so it can decide what to read in full. Unmetered.
memory.searchAsk in plain language; an LLM ranks what's stored.
Natural-language retrieval over everything the agent saved. There is no embedding index — a model reads the candidates and ranks them, so a query works from the first note onward.
memory.deleteDrop one entry by key.
Remove a single note. Unmetered, and immediate.
Artifacts
6· Publish the work as a link you can send.artifact.deployShip a zipped static site and get a shareable URL back.
Upload a zip with an index.html at its root and Router9 hosts it on its own origin, with SPA fallback. Public, or private behind a one-time share link.
artifact.listEvery site you've deployed, with URL and visibility.
Enumerate the account's live artifacts, plus usage against the plan's storage and count limits. Unmetered.
artifact.getOne deployed site by key.
Read a single artifact's URL, name, visibility, size, and view count. Unmetered.
artifact.updateChange a name or flip public/private.
Rename an artifact, or switch its visibility. Turning a public site private mints a share token so you keep a working link.
artifact.rotate_tokenMint a new share link and kill every old one.
Issue a fresh share token for a private artifact. Every link handed out before this call stops working immediately.
artifact.deleteTake a site down; the URL stops resolving immediately.
Remove a deployed artifact and everything it served. Unmetered, and not reversible.
Skill packs
6· Curated bundles we're building next, each chaining tools you already have.One brief in, a full set of on-brand post images out.
Describe the post once and get every asset it needs — sized and restyled per platform, then published to a link your team can review.
Composes
image.generateimage.editartifact.deployDraft a slide deck with generated visuals, publish it as a link.
Turn an outline into a full deck: generated imagery per slide, consistent styling, and a shareable URL instead of a file attachment.
Composes
image.generateartifact.deploymemory.getDrop in a recording; get a decisions-and-owners page.
Transcribe the call, pull out decisions and action items, remember the running context, and publish a recap page the team can open.
Composes
audio.transcribememory.saveartifact.deploySearch the live web, read what it turns up, publish a cited brief.
Sweep current sources, read the charts and screenshots they contain, and assemble a brief with citations you can hand to someone else.
Composes
search.webimage.describeartifact.deployTalk to your agent and have it talk back.
A full spoken round trip: it listens, answers out loud, and remembers what you covered so the next call picks up where the last one ended.
Composes
audio.transcribeaudio.synthesizememory.savememory.searchHand it a UI screenshot; get a spec you can hand to an engineer.
Read a design or a competitor's screen, write out the components, states, and copy, and publish the spec as a page instead of a wall of chat.
Composes
image.describememory.saveartifact.deployWeb search and artifact publishing are advertised over MCP when they are configured on the deployment — both are on for router9.com. See the MCP tool reference for the full schemas.
Set up MCP in one minute
Pick your client and paste the config. Router9 hosts the server — nothing to install.
https://api.router9.com/v1/mcp.mcp.json (project) · ~/.claude.json (user)
{
"mcpServers": {
"router9": {
"type": "http",
"url": "https://api.router9.com/v1/mcp",
"headers": {
"Authorization": "Bearer ${ROUTER9_API_KEY}"
}
}
}
}Claude Code expands environment variables, so the key never has to be committed. A literal sk-r9k-... works too.
CLI setup and per-client detailsWorks with your harness
Router9 speaks the OpenAI API, so any agent runs on it as its model — then add the Skills over MCP (or call the REST endpoints directly). Pick yours for a setup guide.
Coding agents
Agents & CLIs
MCP tools = Skills exposed as native agent tools · REST endpoints = call them directly. Claude Code connects for the tools over MCP and keeps its own model provider. Using something else? See all integrations.











