Hyper MCP
A fast, secure, and extensible MCP server using WebAssembly plugins.
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
- Sanboxing with WASM: ability to limit network, filesystem, memory access
- Lightweight enough for resource-constrained environments
- Support all 3 protocols in the spec:
stdio,sseandstreamble-http. - Deploy anywhere: serverless, edge, mobile, IoT devices
- Cross-platform compatibility out of the box
- Support tool name prefix to prevent tool names collision
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
- 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
- Linux:
{
"plugins": {
"time": {
"url": "oci://ghcr.io/tuananh/time-plugin:latest"
},
"qr_code": {
"url": "oci://ghcr.io/tuananh/qrcode-plugin:latest"
},
"hash": {
"url": "oci://ghcr.io/tuananh/hash-plugin:latest"
},
"myip": {
"url": "oci://ghcr.io/tuananh/myip-plugin:latest",
"runtime_config": {
"allowed_hosts": ["1.1.1.1"]
}
},
"fetch": {
"url": "oci://ghcr.io/tuananh/fetch-plugin:latest",
"runtime_config": {
"allowed_hosts": ["*"],
"memory_limit": "100 MB",
}
}
}
}
📖 For detailed configuration options including authentication setup, runtime configuration, and advanced features, see RUNTIME_CONFIG.md
Supported URL schemes:
oci://- for OCI-compliant registries (like Docker Hub, GitHub Container Registry, etc.)file://- for local fileshttp://orhttps://- for remote filess3://- for Amazon S3 objects (requires that you have your AWS credentials set up in the environment)
- Start the server:
$ hyper-mcp
- By default, it will use
stdiotransport. If you want to use SSE, use flag--transport sseor 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_signatureflag or env varHYPER_MCP_INSECURE_SKIP_SIGNATUREtotrue
Using with Cursor IDE
You can configure hyper-mcp either globally for all projects or specifically for individual projects.
- For project-scope configuration, create
.cursor/mcp.jsonin your project root:
{
"mcpServers": {
"hyper-mcp": {
"command": "/path/to/hyper-mcp"
}
}
}
-
Set up hyper-mcp in Cursor's settings:

-
Start using tools through 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)
- think: Think tool(Rust)
- maven: Maven plugin (Rust)
- serper: Serper web search plugin (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.
- rand16: This plugen generates random 16 bytes buffer and provides it in base64uri format - very usable for symmetric cryptography online.
Documentation
- Runtime Configuration Guide - Comprehensive guide to configuration options including:
- Authentication setup (Basic, Token, and Keyring)
- Plugin runtime configuration
- Security considerations and best practices
- Platform-specific keyring setup for macOS, Linux, and Windows
- Troubleshooting authentication issues
- Skip Tools Pattern Guide - Comprehensive guide to filtering tools using regex patterns:
- Pattern syntax and examples
- Common use cases and best practices
- Environment-specific filtering strategies
- Advanced regex techniques
- Migration and troubleshooting
Creating Plugins
-
Install the XTP CLI:
curl https://static.dylibso.com/cli/install.sh -s | bash -
Create a new plugin project:
xtp plugin init --schema-file plugin-schema.yamlFollow the prompts to set up your plugin. This will create the necessary files and structure.
For example, if you chose Rust as the language, it will create a
Cargo.toml,src/lib.rsand asrc/pdk.rsfile. -
Implement your plugin logic in the language appropriate files(s) created (e.g. -
Cargo.tomlandsrc/lib.rsfor Rust) For example, if you chose Rust as the language you will need to update theCargo.tomlandsrc/lib.rsfiles.Be sure to modify the
.gitignorethat is created for you to allow committing yourCargo.lockfile.
Check out our example plugins for insight.
To publish a plugin:
# example how to build with rust
FROM rust:1.88-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
Star History
Related Servers
Postman MCP Generator
Provides JavaScript tools for making API requests, generated by the Postman MCP Generator.
GitHub Workflow Debugger MCP
Diagnose and fix GitHub Actions workflow failures using the GitHub API.
Quantum Code Validator
A server for validating quantum computing library code, with support for PennyLane.
mcp-sync
Sync MCP server configurations across various AI coding tools.
DIY MCP
A from-scratch implementation of the Model Context Protocol (MCP) for building servers and clients, using a Chinese tea collection as an example.
MCP Playground
A demonstration MCP server implementation in Go featuring real-time bidirectional file communication.
Qase
Interact with the Qase API for test management. Requires a QASE_API_TOKEN for authentication.
Claude Memory MCP Server
A persistent memory server for Large Language Models, designed to integrate with the Claude desktop application. It supports tiered memory, semantic search, and automatic memory management.
MCP My Mac
Exposes local Mac system information through a simple API for AI assistants.
Chrome Debug MCP
This MCP allows you to record browser interactions with a chrome extension that include screenshots and console logs. The data is then saved to a local database that feeds the data to an AI system like claude code to search.