Skip to main content
Glama

Hyperlink

The hyperlink connected every page on the web. Hyperlink connects every app.

Hyperlink is a many-to-many middleman for AI agents. You run it on your machine, add your apps to it as connectors (MCP servers), and every agent (Claude Code, Cursor, your own) connects to Hyperlink once and reaches all of them.

 your agent ─┐                       ┌─ Chrome      (an MCP server it starts)
 Claude ─────┤──► HYPERLINK ◄────────┼─ GitHub      (an MCP server it starts)
 Cursor ─────┤    one MCP server     ├─ Notion      (a hosted MCP server)
 a script ───┘                       └─ …

What it does today (v0.1)

  • One MCP server in front of all your MCP servers. Connectors are started from a command or reached at an address; their tools are offered as <connector>__<tool> at http://127.0.0.1:7466/mcp.

  • Live. Add or remove a connector while it runs and it starts or stops at once.

  • Local and locked. It listens on 127.0.0.1 only, every call needs its token, requests naming another host are refused (no DNS rebinding), and pages from other sites are refused.

  • Logged, not recorded. Every call is logged as what, how long and whether it worked, never its arguments or results. You can see the log on the status page at http://127.0.0.1:7466/.

Related MCP server: MCP Workstation

The brain: when nothing connects, it makes a way

hyperlink make "Wikipedia: search articles, and read an article's summary"
  The brain is writing it (try 1 of 3)…
  Testing it in the sandbox…
  2 tries, 20 s, 4221 tokens

  ┌ wikipedia: Searches English Wikipedia and reads article summaries.
  │ reaches   en.wikipedia.org
  │ reads     search_articles: Searches English Wikipedia and returns up to 10 matching articles…
  │ reads     read_summary: Reads an English Wikipedia article's introductory summary.
  │ tested    search_articles: ok in 545 ms, 1218 characters
  │ tested    read_summary: ok in 245 ms, 3139 characters
  └ runs in its own process: no files but its own, no programs, network only to the hosts above

Add it? [y/N]
  1. It writes a connector: a plain definition of tools, in TypeScript, with no imports and no access to the process.

  2. It tests it for real: Hyperlink starts it in a sandbox and runs every tool that changes nothing against the live service. Failures go back to the brain to fix, up to three tries.

  3. You approve the permit card: what it reaches, what it reads, what it changes, how its tests went. Nothing is added without your yes (--yes skips the question).

  4. It runs sandboxed: its own process under Node's permission system (no files but its own, no programs, no workers), no global fetch, and a fetch that reaches only the hosts on its permit.

The brain is any OpenAI-compatible model; MiniMax M3.1 Flash by default (HYPERLINK_MODEL_URL, HYPERLINK_MODEL, HYPERLINK_MODEL_KEY). It wakes only to make or repair: a working connector runs with no AI at all. Point it at an API's docs with --docs <url>.

Repair: when a service changes, the brain fixes its connector

A connector the brain made that will not start, or fails three calls in a row, is marked as needing repair.

hyperlink repair wikipedia

The brain gets its code and its last errors, writes a fix, and Hyperlink tests it in the sandbox like a new one. A fix that needs no more than its permit (the same hosts, keys and kinds of tools) goes in at once; one that needs more (a new host, a new key, a tool that now changes things) waits for your yes. The old version is kept as connector.ts.previous, and the connector starts again before the repair answers.

The vault: keys sealed, each connector gets only its own

hyperlink secret set github GITHUB_TOKEN    # asked for hidden (or piped in), never on the command line
hyperlink secret list                       # names only; values are never shown
  • Sealed at rest. Keys live in vault.enc (AES-256-GCM). Its key is kept by the operating system: Windows DPAPI, the macOS Keychain, or the Secret Service on Linux; on a server, HYPERLINK_VAULT_PASSWORD. Where none of those is there, Hyperlink keeps nothing rather than keep it in plain text.

  • Nothing secret in the list. connectors.json holds a <vault> placeholder where a key goes. A key written there in plain text (by hand, or by an app that installed a server) is moved into the vault as soon as Hyperlink sees it.

  • Each connector gets its own keys and no one else's, when it starts; nothing it inherits from Hyperlink's environment looks like a key. Change a key and the connector starts again with it.

  • The brain never sees a secret. A made connector declares the keys it needs; they reach it at run time, never its code.

Where it is going

  • Links: "when this happens in A, do that in B", planned by the brain from a sentence, then running with no AI at all.

  • The map: your apps around the brain, links lit as data flows.

Use it

npm install -g hyperlink-mcp        # or run from a clone: npm install && npm run build
hyperlink add chrome -- npx -y @playwright/mcp
hyperlink start                     # http://127.0.0.1:7466

Point any MCP client at http://127.0.0.1:7466/mcp with the header Authorization: Bearer <token>. The token is in ~/.hyperlink/token (set HYPERLINK_HOME to keep Hyperlink somewhere else).

Command

hyperlink start [--port 7466]

run Hyperlink

hyperlink add <name> -- <command> [args…]

add a connector Hyperlink starts

hyperlink add <name> --url <address>

add a connector that runs elsewhere

hyperlink remove <name>

remove one

hyperlink list

the connectors in the list

hyperlink status

how a running Hyperlink's connectors are

hyperlink make "<what>" [--docs <url>] [--yes]

the brain writes a connector, tests it, asks you

hyperlink repair <name> [--yes]

the brain fixes a connector it made that stopped working

hyperlink secret set <connector> <NAME>

keep a key in the vault

hyperlink secret list [connector]

the keys kept (names only)

hyperlink secret remove <connector> <NAME>

forget one

Built with

TypeScript on Node 22.18+, and the official MCP TypeScript SDK. Hyperlink is also the way Freya, a desktop AI companion, reaches every app outside herself.

License

MIT

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A centralized management platform that aggregates multiple Model Context Protocol (MCP) servers into a single unified endpoint for AI agents. It provides a web interface for hot-swappable tool management, proxying of existing servers, and AI-powered generation of custom MCP plugins.
    1
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI clients to connect once and access tools from many registered MCP servers plus built-in modules, with multi-user authentication, per-user server/tool toggles, and a skills hub.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI apps to connect to any local or remote MCP server through one local endpoint, with per-server permissions, tool prefixes, and an activity log. Supports one-click connections to multiple AI clients and imports servers already configured in those apps.
    2
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables organizations to govern agent tool access by onboarding remote MCP servers, defining function-level allow lists and credential modes, and exposing permitted tools through a single unified MCP endpoint with search and execute functions.
    -