Router9
Documentation

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/mcp

Authenticate with your Router9 API key in an Authorization: Bearer header.

Prerequisites

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:

  • URLhttps://api.router9.com/v1/mcp
  • HeaderAuthorization: Bearer sk-r9k-your-key

Available Tools

Once connected, the MCP server exposes all Router9 Skills as tools:

  • audio_transcribe / audio_synthesize
  • image_describe
  • image_generate / image_edit
  • memory_save / memory_get / memory_list / memory_search / memory_delete
  • artifact_deploy / artifact_list / artifact_get / artifact_update / artifact_rotate_token / artifact_delete (when artifact deploys are enabled on the server)

search_web also appears when web search is configured on the server. video_generate is 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 pack

Each 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-recap

The 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.md

The 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.

On this page