mcpField
H
hyper-mcp

hyper-mcp

Local
github.com/krannersDeveloper Tools10Updated 35w ago

About hyper-mcp

hyper-mcp (described in the README as jailbreak-mcp) is a middleware MCP server and client for routing configured MCP servers through selectable modes. It is intended to limit which tools are exposed and to make configured prompts and resources available as tools; the README notes that it is now antiquated and currently tools-only in this respect.

Key features

  1. 01Loads configured MCP servers
  2. 02Routes tool calls to source servers
  3. 03Mode-based server and tool allowlists
  4. 04Optional tool exclusion or preference
  5. 05Loads prompts and resources

Use cases

  1. 01Exposing only task-relevant tools in a mode
  2. 02Reducing the tools shown to an MCP client
  3. 03Forwarding selected tool calls to configured servers

MCP support

Connects to configured MCP servers as a client, then exposes and routes their tools through a wrapper MCP server. The README describes prompts and resources being loaded, while their exposure as tools is marked incomplete.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"hyper": {
"command": "npx",
"args": [
"-y",
"hyper-mcp"
]
}
}
}
Run commandnpx -y hyper-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmhyper-mcp

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

jailbreak-mcp

Important

This tool existed to fill a few functional gaps in existing MCP clients like Cursor or Claude Desktop, and is now antiquated as these tools implement it themselves.

The idea was to create a middleware MCP server & client which could whitelist or blacklist unwanted tools to save on context window, and to expose resources & prompts as tools.


A MCP server wrapper for using the entire Model Context Protocol without tool limits, missing concepts, or context overload.

Why does this exist?

MCP servers could be ✨ amazing ✨ but using them comes with a few caveats.


Your client is probably missing most of the actual protocol. There are many capabilities listed in the MCP:

  • Tools, which are like functions.
  • Resources, which are like values.
  • Prompts, which are prompts.

As of writing, almost no MCP client (Cursor, Claude Desktop, Cherry Studio) implements all of them. If you are a Cursor user, you can only use tools.

See the Model Context Protocol documentation to see what your MCP client of choice is lacking.

Admittedly this isn't the biggest deal - most servers just use tools anyway. This may become a bigger deal in future if more servers start to implement more of the protocol.

Warning

This bit isn't done yet! It's currently tools only.

Jailbreak-MCP remedies this by exposing configured resources and prompts as tools, so even the most restrictive implementations are fully usable.


MCP servers fill the context window

The more tools you have configured, the more your MCP servers are taking up of the all-important context window of your agent.

If you wanted to use tools or information from multiple MCP servers at once, your context window becomes very small very fast.

To remedy this, some clients have implemented warnings about having too many tools configured at once. Cursor has implemented a hard restriction of 40 tools, but hides which tools are disabled at any given moment.

Some servers expose many tools at the same time. The GitHub MCP server alone fills the entire Cursor tool cap.

The best thing you can do currently is manually enable and disable which MCP servers you want to have turned on at any given moment.

JailbreakMCP fixes this by providing configurable "modes" which expose only the exact tools and resources you need to do a given task, and tools to switch between modes on the fly.

Installation

Example installation will be assuming you're using Cursor.

  1. Start by making a backup of your current mcp.json file.

Tip

The default location is ~/.cursor/jailbreak.mcp.json. To rename your existing Cursor config: mv ~/.cursor/mcp.json ~/.cursor/jailbreak.mcp.json

  1. Create a new mcp.json file where the old one was, with these contents:
{
  "mcpServers": {
    "jailbreak": {
      "command": "npx",
      "args": [
        "jailbreak-mcp@latest",
        "/optional/path/to/jailbreak.mcp.json",
      ],
      "env": {
        "CONFIG_PATH": "/optional/path/to/jailbreak.mcp.json"
      }
    }
  }
}

The server will prefer arguments over environment variables over ~/.cursor/jailbreak.mcp.json.

  1. From here, you need to configure a default mode.
{
  "mcpServers": {
    ...
  },
  "modes": {
    "default": {
      "everything": {
        "tools": [
          "echo",
          "add",
          "longRunningOperation"
        ],
        "prompts": [
          "simple_prompt",
          "complex_prompt",
          "resource_prompt"
        ],
        "resources": [
          "test://static/resource/1",
          "test://static/resource/2"
        ]
      },
      "time": true
    }
  }
}

Configuration

Modes

Each mode is a whitelist of available servers, and any particular tools/prompts/capabilities to allow.

Modes are key/value pairs under the modes key in the config.

{
    "mcpServers": {
        ...
    },
    "modes": {
        "default": {
            ...
        },
        "anotherModeName": {
            ...
        }
    }
}

Under each mode are keys of the names of the servers to allow (the same name as defined under mcpServers).

To allow everything for a given server, set its value to true.

{
    "modes": {
        "admin": {
            "email": true,
            "slack": true,
            "time": true,
        }
    }
}

To be more specific, specify which tools, prompts, and resources you want as a list of names or resource URIs.

{
    "modes": {
        "admin": {
            "time": true,
            "email": {
                "tools": [
                    "read_email",
                    "send_email",
                    "list_inbox"
                ]
            },
            "slack": {
                "tools": [
                    "slack_list_channels",
                    "slack_get_channel_history",
                    "slack_get_thread_replies",
                    "slack_get_users",
                    "slack_get_user_profile"
                ]
            },
            "everything": {
                "tools": [
                    "echo",
                    "add",
                    "longRunningOperation"
                ],
                "prompts": [
                    "simple_prompt",
                    "complex_prompt",
                    "resource_prompt"
                ],
                "resources": [
                    "test://static/resource/1",
                    "test://static/resource/2"
                ]
            },
        }
    }
}

TODO

Need to:

  • Read in the config file (mcp.json), can take in an argument or a env var
  • Validate it's in the correct format (zod schema)
Startup
  • Load a new client for each MCP entry
  • List all tools
  • Add all those to a register
  • create-jailbreak package for npm init jailbreak setup
Runtime
  • Expose that list via the tools endpoint
  • Take in commands
  • Forward them through to the respective MCP server
  • Forward the results back
Support
  • Update transport command to support Nix, fnm, etc
  • Update connections to pass through MCP host environment (is this needed?)
  • Update tools to support dynamic tools, eg changing
Spice
  • CI & releases
  • Support SSE servers
  • Also load all prompts & resources
  • Optionally exclude or prefer tools
  • Expose all of the other things as well
  • Instructions, dynamic?
    • Templatable help message?

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.