hyper-mcp

MCP.Pizza Chef: tuananh

hyper-mcp is a high-performance, secure MCP server designed to extend AI capabilities through WebAssembly plugins. It enables developers to write plugins in any language that compiles to WebAssembly, facilitating flexible and portable AI integrations. Compatible with MCP hosts like Claude Desktop and Cursor IDE, hyper-mcp supports plugin distribution via container registries and deployment across diverse environments from cloud to edge. This server empowers developers to seamlessly add AI functionality to their applications with speed, security, and extensibility.

Use This MCP server To

Extend AI app functionality with custom WebAssembly plugins Deploy AI plugins across cloud and edge environments Integrate AI features into MCP-compatible IDEs and desktops Distribute AI plugins via container registries Run secure, high-performance MCP servers for AI workflows

README

Rust License Issues - hyper-mcp GitHub Release

hyper-mcp logo

hyper-mcp

A fast, secure MCP server that extends its capabilities through WebAssembly plugins.

What is it?

hyper-mcp makes it easy to add AI capabilities to your applications. It works with Claude Desktop, Cursor IDE, and other MCP-compatible apps. Write plugins in your favorite language, distribute them through container registries, and run them anywhere - from cloud to edge.

Features

  • Write plugins in any language that compiles to WebAssembly
  • Distribute plugins via standard OCI registries (like Docker Hub)
  • Built on Extism for rock-solid plugin support
  • Lightweight enough for resource-constrained environments
  • Support all 3 protocols in the spec: stdio, sse and streamble-http.
  • Deploy anywhere: serverless, edge, mobile, IoT devices
  • Cross-platform compatibility out of the box

Security

Built with security-first mindset:

  • Sandboxed plugins that can't access your system without permission
  • Memory-safe execution with resource limits
  • Secure plugin distribution through container registries
  • Fine-grained access control for host functions
  • OCI plugin images are signed at publish time and verified at load time with sigstore.

Getting Started

  1. Create your config file:
    • Linux: $HOME/.config/hyper-mcp/config.json
    • Windows: {FOLDERID_RoamingAppData}. Eg: C:\Users\Alice\AppData\Roaming
    • macOS: $HOME/Library/Application Support/hyper-mcp/config.json
{
  "plugins": [
    {
      "name": "time",
      "path": "oci://ghcr.io/tuananh/time-plugin:latest"
    },
    {
      "name": "qr-code",
      "path": "oci://ghcr.io/tuananh/qrcode-plugin:latest"
    },
    {
      "name": "hash",
      "path": "oci://ghcr.io/tuananh/hash-plugin:latest"
    },
    {
      "name": "myip",
      "path": "oci://ghcr.io/tuananh/myip-plugin:latest",
      "runtime_config": {
        "allowed_hosts": ["1.1.1.1"]
      }
    },
    {
      "name": "fetch",
      "path": "oci://ghcr.io/tuananh/fetch-plugin:latest",
      "runtime_config": {
        "allowed_hosts": ["*"],
        "memory_limit": "100 MB"
      }
    }
  ]
}
  1. Start the server:
$ hyper-mcp
  • By default, it will use stdio transport. If you want to use SSE, use flag --transport sse or streamable HTTP with --transport streamable-http.
  • If you want to debug, use RUST_LOG=info.
  • If you're loading unsigned OCI plugin, you need to set insecure_skip_signature flag or env var HYPER_MCP_INSECURE_SKIP_SIGNATURE to true

Using with Cursor IDE

You can configure hyper-mcp either globally for all projects or specifically for individual projects.

  1. For project-scope configuration, create .cursor/mcp.json in your project root:
{
  "mcpServers": {
    "hyper-mcp": {
      "command": "/path/to/hyper-mcp"
    }
  }
}
  1. Set up hyper-mcp in Cursor's settings: cursor mcp

  2. Start using tools through chat: cursor mcp chat

Available Plugins

We maintain several example plugins to get you started:

  • time: Get current time and do time calculations (Rust)
  • qr-code: Generate QR codes (Rust)
  • hash: Generate various types of hashes (Rust)
  • myip: Get your current IP (Rust)
  • fetch: Basic webpage fetching (Rust)
  • crypto-price: Get cryptocurrency prices (Go)
  • fs: File system operations (Rust)
  • github: GitHub plugin (Go)
  • eval-py: Evaluate Python code with RustPython (Rust)
  • arxiv: Search & download arXiv papers (Rust)
  • memory: Let you store & retrieve memory, powered by SQLite (Rust)
  • sqlite: Interact with SQLite (Rust)
  • crates-io: Get crate general information, check crate latest version (Rust)
  • gomodule: Get Go modules info, version (Rust)
  • qdrant: keeping & retrieving memories to Qdrant vector search engine (Rust)
  • gitlab: GitLab plugin (Rust)
  • meme-generator: Meme generator (Rust)
  • context7: Lookup library documentation (Rust)

Community-built plugins

  • hackernews: This plugin connects to the Hacker News API to fetch the current top stories and display them with their titles, scores, authors, and URLs.
  • release-monitor-id: This plugin retrieves project ID from release-monitoring.org, which helps track versions of released software.
  • yahoo-finance: This plugin connects to the Yahoo Finance API to provide stock prices (OHLCV) based on a company name or ticker symbol.

Creating Plugins

Check out our example plugins to learn how to build your own.

To publish a plugin:

# example how to build with rust
FROM rust:1.86-slim AS builder

RUN rustup target add wasm32-wasip1 && \
    rustup component add rust-std --target wasm32-wasip1 && \
    cargo install cargo-auditable

WORKDIR /workspace
COPY . .
RUN cargo fetch
RUN cargo auditable build --release --target wasm32-wasip1

FROM scratch
WORKDIR /
COPY --from=builder /workspace/target/wasm32-wasip1/release/plugin.wasm /plugin.wasm

Then build and push:

docker build -t your-registry/plugin-name .
docker push your-registry/plugin-name

License

Apache 2.0

Star History

Star History Chart

hyper-mcp FAQ

How do I write plugins for hyper-mcp?
You can write plugins in any language that compiles to WebAssembly, enabling flexible development.
Can hyper-mcp plugins be distributed easily?
Yes, plugins can be distributed through container registries for easy sharing and deployment.
Is hyper-mcp compatible with popular MCP hosts?
Yes, it works with MCP-compatible apps like Claude Desktop and Cursor IDE.
What environments can hyper-mcp run in?
hyper-mcp can run anywhere from cloud servers to edge devices, providing versatile deployment options.
How does hyper-mcp ensure security?
By leveraging WebAssembly sandboxing, hyper-mcp isolates plugins to maintain a secure execution environment.
What programming languages can I use for hyper-mcp plugins?
Any language that compiles to WebAssembly, such as Rust, C, C++, and AssemblyScript, can be used.
Does hyper-mcp support plugin updates without downtime?
Yes, plugins can be updated and managed dynamically to minimize service interruptions.
How does hyper-mcp compare to other MCP servers?
hyper-mcp emphasizes speed, security, and extensibility through WebAssembly, differentiating it from traditional MCP servers.