Skip to main content

hyperroute-mcp

Model Context Protocol server for HyperRoute, a tool router for AI agents. A coordinator agent (Claude Code, Codex, OpenCode, …) sends its outside lookups with run: each is ranked on its own and the best tool runs on HyperRoute's server with the user's stored key. Items marked for it get a score back.

Install

In your coding agent, type:

! uvx -q hyperroute-mcp@latest install

It adds HyperRoute to Claude Code with hooks: the routing rules at session and subagent start, a guard that blocks the agent's own outside calls (web search and fetch, network commands, other MCP servers) until HyperRoute has ranked the lookup, and an end-of-turn check for unreported runs. install --remind-only makes the guard remind instead of block; install --remove undoes the hooks. Needs uv.

By hand. Claude Code:

claude mcp add --scope user hyperroute -- uvx hyperroute-mcp@latest

then ask the agent to "finish HyperRoute setup". Any other MCP client:

{ "mcpServers": { "hyperroute": { "command": "uvx", "args": ["hyperroute-mcp@latest"] } } }

Web apps and workflow tools

Claude (web, desktop, mobile), ChatGPT and other apps that connect to a remote MCP server by URL use the hosted endpoint:

https://hyperroute.io/mcp

Add it as a custom connector and sign in with your HyperRoute account when asked. Tools that send a fixed header instead (n8n's MCP Client node, any HTTP MCP client) send a hyr_… token from hyperroute.io as Authorization: Bearer hyr_…. The hosted endpoint has the same tools minus setup, use_token and login (the app signs you in; nothing is installed), and no hooks.

Setup, checks and upgrades

Ask your agent to set up, check, upgrade or remove HyperRoute; it calls setup, shows you what it would change, and applies it when you agree. hyperroute-mcp install --remove also undoes it.

Log in

Routing needs an account. On hyperroute.io, open Connect and copy the login line from the MCP tab into your agent; it calls use_token. Email and password (login) also work. The login is saved and reused in every later session.

Your coordinator

HyperRoute compares external tools against what the coordinator can already do. The server reads which coordinator launched it and declares it; session_info shows what it resolved.

Tools

Tool What it does
run Lookups → each ranked on its own; clear picks run, results back; owed reports ride along.
ranking The full ranking behind one run item (and the evidence, on request).
connect_info / onboard A tool's signup steps; save and test its API key.
report_outcome / report_narrative Score one run item, or feedback on a whole task.
describe One tool's details: about · price · facets · evidence.
fetch_result Page through a large result.
get_preferences / set_preferences Preferences applied to every route, and every facet you can set.
console History, connected keys, tools, stats.
my_tools / declare_my_tool / update_my_tool / remove_my_tool Tools you already have, when to use them, and how they did.
my_preferred_tools / prefer_tool / unprefer_tool Catalog tools you favour.
session_info Connection, login and versions.
setup Set up, check, upgrade or remove (local only).
use_token / login Log in (local only).

A run reply looks like:

run r_7f3a
[1] frankfurter [settled, conf high; report if wrong]
  {"date":"2023-01-02","rates":{"JPY":130.92}}
[2] do it yourself
[3] needs a key: sonar_deep_research is best. STOP; ask the user (signup https://…)
  1. Create an account …
  then onboard('sonar_deep_research', <key>) and resend this item
owed: r_7f3a/4 → reports=[{item, score}] on next run

Development

pip install -e ".[dev]"
pytest
ruff check .

The suite is offline: the router is faked.

Serving over HTTP

hyperroute-mcp serve [--host H] [--port P] runs the server over Streamable HTTP at /mcp (default 127.0.0.1:8076), for many accounts at once. Every request needs a bearer, resolved to an account through the router's /auth/whoami (cached a minute) and relayed on every call; none gets a 401 pointing at <HYPERROUTE_PUBLIC_URL>/.well-known/oauth-protected-resource/mcp. Each account is rate-limited (429 with Retry-After). No token file, ledger, notices or caller profile.

Environment variables

None are needed against the hosted router. For development and self-hosting:

Variable Default Meaning
HYPERROUTE_BASE_URL https://hyperroute.io Router to talk to (local dev or self-hosted).
HYPERROUTE_API_KEY — hyr_… token to start logged in; used, never cached.
HYPERROUTE_TIMEOUT 30 Per-request timeout, seconds.
HYPERROUTE_TOKEN_FILE ~/.hyperroute/token.json Cached login.
HYPERROUTE_HOME ~/.hyperroute Setup record and version cache.
HYPERROUTE_COORDINATOR auto-detect Coordinator override; none disables.
HYPERROUTE_NATIVE_TOOLS — Exact coordinator tool ids.
HYPERROUTE_HELD — Comma-separated plan groups you hold.
HYPERROUTE_GUARD block remind makes the Claude Code guard remind instead of block.
HYPERROUTE_PUBLIC_URL HYPERROUTE_BASE_URL serve only: the public origin the endpoint is reached at.
HYPERROUTE_MCP_RATE / HYPERROUTE_MCP_BURST 120 / 60 serve only: calls per minute per account, and burst.
HYPERROUTE_LOG_LEVEL info serve only: uvicorn log level.

License

MIT — see LICENSE.

Metadata

Release files for hyperroute-mcp 0.10.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hyperroute-mcp 0.10.1
File Size Uploaded Provenance Actions
hyperroute_mcp-0.10.1.tar.gz 58.8 kB With provenance Details for hyperroute_mcp-0.10.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for hyperroute-mcp 0.10.1
File Interpreter ABI Platform Actions
hyperroute_mcp-0.10.1-py3-none-any.whl Python 3 none any Details for hyperroute_mcp-0.10.1-py3-none-any.whl

Total release size: 104.7 kB

Release files / hyperroute_mcp-0.10.1.tar.gz

Download URL hyperroute_mcp-0.10.1.tar.gz
Size 58.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f12afd1570581fa508cd98e5641abb70dc095765cc3736cdb0a38f370eef39bc
BLAKE2b-256 checksum
How to use checksums
4a2b75d3f980afec58377ef04fb68a609a6c8399b87a699c0a8a8d4d917e7ff0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Release files / hyperroute_mcp-0.10.1-py3-none-any.whl

Download URL hyperroute_mcp-0.10.1-py3-none-any.whl
Size 45.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4e233960d3a02d434ad299f6a1f0bd974e774d21cdeccc819450a3bf778adbfa
BLAKE2b-256 checksum
How to use checksums
5c1caa7f439aafd4838900bd73f54924e9eb5653a1e9cf666dd0c5943dfc8968
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Security for hyperroute-mcp 0.10.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for hyperroute_mcp-0.10.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page