Install MCP Server
Configure Router9 as an MCP server for AI harnesses
Router9 Skills are available via the Model Context Protocol (MCP), making them compatible with MCP-enabled AI harnesses like Claude Code, Codex, OpenCode, and omp.
Router9 hosts the MCP server for you — there is nothing to install or run locally. Point any MCP client that supports the Streamable HTTP transport at:
https://api.router9.com/v1/mcpAuthenticate with your Router9 API key in an Authorization: Bearer header.
Prerequisites
- A Router9 API key (
sk-r9k-...). See Authentication to create one.
Claude Code
Add Router9 as a remote HTTP MCP server with one command:
claude mcp add --transport http router9 https://api.router9.com/v1/mcp \
--header "Authorization: Bearer sk-r9k-your-key"By default the server is added to the local scope (this project, your machine only).
Use --scope user to make it available in every project, or --scope project to
share it with your team through a checked-in .mcp.json.
Verify the connection from inside Claude Code with the /mcp command — Router9's
Skills then show up as mcp__router9__* tools.
You can also write the configuration by hand in .mcp.json (project scope) or
~/.claude.json (user scope):
{
"mcpServers": {
"router9": {
"type": "http",
"url": "https://api.router9.com/v1/mcp",
"headers": {
"Authorization": "Bearer sk-r9k-your-key"
}
}
}
}Prefer not to commit your key? Claude Code expands environment variables in
.mcp.json, so"Authorization": "Bearer ${ROUTER9_API_KEY}"works too.
This connects Router9 tools to Claude Code; it does not change which model Claude Code talks to.
Codex
Codex reads MCP servers from ~/.codex/config.toml. Add Router9 as a streamable
HTTP server and let Codex pull the key from your environment:
[mcp_servers.router9]
url = "https://api.router9.com/v1/mcp"
bearer_token_env_var = "ROUTER9_API_KEY"bearer_token_env_var names the environment variable holding your key — Codex sends
it as Authorization: Bearer <token>. To hardcode the header instead, use:
[mcp_servers.router9]
url = "https://api.router9.com/v1/mcp"
http_headers = { Authorization = "Bearer sk-r9k-your-key" }Run codex mcp list to confirm Router9 is registered.
OpenCode
Add Router9 as a remote MCP server in your opencode.json:
{
"mcp": {
"router9": {
"type": "remote",
"url": "https://api.router9.com/v1/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer sk-r9k-your-key"
}
}
}
}omp
omp discovers MCP servers from .omp/mcp.json (project) or
~/.omp/agent/mcp.json (user):
{
"mcpServers": {
"router9": {
"type": "http",
"url": "https://api.router9.com/v1/mcp",
"headers": {
"Authorization": "Bearer ${ROUTER9_API_KEY}"
}
}
}
}${ROUTER9_API_KEY} expands from your environment at discovery time; a literal
sk-r9k-... works too. You can also add it interactively with /mcp add, then
check it with /mcp test router9.
Generic MCP Client
Any client that speaks the MCP Streamable HTTP transport can connect. Point it at the endpoint and send your key as a Bearer token:
- URL —
https://api.router9.com/v1/mcp - Header —
Authorization: Bearer sk-r9k-your-key
Available Tools
Once connected, the MCP server exposes all Router9 Skills as tools:
audio_transcribe/audio_synthesizeimage_describeimage_generate/image_editmemory_save/memory_get/memory_list/memory_search/memory_deleteartifact_deploy/artifact_list/artifact_get/artifact_update/artifact_rotate_token/artifact_delete(when artifact deploys are enabled on the server)
search_webalso appears when web search is configured on the server.video_generateis on the roadmap and will appear here once available.
Skills
A skill is an authored procedure that chains several of the tools above into one job — "turn this recording into a decisions-and-owners page", "sweep the live web and publish a cited brief".
Skills are not MCP tools. They were skill.find / skill.get for a while,
and before that MCP prompts; both are gone. A skill is a document, so it is
delivered the way documents are: you install it into your agent once, and it then
calls the ordinary tools above as it follows the steps. That also keeps every tool
list short — two entries no client had to carry, and a search surface that
duplicated one your agent already has on disk.
Browse them on the Skills catalog, or read the catalog as JSON — no key needed, skills are public:
curl -fsSL https://api.router9.com/v1/skills/packs # the catalog
curl -fsSL https://api.router9.com/v1/skills/packs/meeting-recap # one packEach entry carries skill_zip_url and skill_zip_sha256 for the install below,
plus available, which is false when this deployment is missing a tool the
skill requires. A skill that merely benefits from an unconfigured tool stays
available and says which steps to skip.
Installing a skill
The archive filename carries the revision, so the URL and the file you end up
with are the same string. Take both from the catalog rather than guessing a
version — a URL naming an older revision redirects to the current one, which
curl -L follows, but then the digest you fetched will not match:
curl -fsSLO https://www.router9.com/skills/pack/meeting-recap/meeting-recap-v3.zip
curl -fsSL https://www.router9.com/skills/pack/meeting-recap/meeting-recap-v3.zip.sha256 | sha256sum -c -
unzip meeting-recap-v3.zip -d ~/.claude/skills/meeting-recapThe archive always contains SKILL.md — with Agent Skills frontmatter and a table
of the placeholders to fill — and a manifest.json listing every file with its
own sha256. Packs that ship supporting files carry those too.
To read a body without installing it:
curl -fsSL https://www.router9.com/skills/pack/meeting-recap/skill.mdThe catalog lives on the API host; the pack files are served from the site, and
every skill_zip_url the catalog returns already points there.
Some skills ship scripts. Anything you unzip runs with your own permissions, so
verify the digest and read the scripts before running them. The archive is built
server-side and deterministically, so the same pack version always has the same
sha256.
Browse every published skill on the Skills catalog. See Tool Usage & Credits for quotas and API Reference for detailed documentation.