plugin-examples
🚀 Production-ready WebAssembly plugin examples for the Noorle platform - showcasing HTTP APIs, WASI 2.0, and the Component Model across Rust, Go, Python, JavaScript, and TypeScript
claude mcp add --transport stdio noorle-plugin-examples docker run -i noorle/plugin-examples \ --env NEWSAPI_KEY="Your NewsAPI key (required for News plugin examples)" \ --env ARXIV_API_KEY="Your arXiv API key or credentials if required by templates" \ --env NOORLE_CLI_TOKEN="Optional: Noorle CLI authentication token if deployment requires it" \ --env OPENWEATHER_API_KEY="Your OpenWeatherMap API key (required for Weather plugin examples)" \ --env EXCHANGE_RATE_API_KEY="Optional: key if using rate-limited API variants"
How to use
This MCP repository is a curated collection of Noorle WebAssembly plugins implemented across multiple languages (Rust, Go, Python, JavaScript, TypeScript) that demonstrate real-world patterns for HTTP API integration using the WebAssembly Component Model and WASI 0.2. Each example exposes a well-defined plugin interface (via WIT) and illustrates common production concerns such as API key management through environment variables, error handling, and structured data returns. To experiment locally, you typically build a language-specific plugin, package it as a WebAssembly component, and then use Noorle tooling to test and deploy. The examples include weather, news, exchange rate, Amadeus flight, and arXiv plugins, showing how to model complex records, nested data, and multi-language interop within the same ecosystem.
How to install
Prerequisites:
- Noorle CLI: Install to scaffold, build, and deploy plugins (see Noorle CLI docs).
- WASI tooling: wasmtime, wkt/wit tooling, and wasm-tools as required by templates.
- Language toolchains: Rust toolchain (and many examples rely on TinyGo for Go), Python with componentize-py, Node.js for JavaScript/TypeScript templates, etc.
Step-by-step:
- Install Noorle CLI (example quick install):
curl -L https://cli.noorle.dev | sh
- Install and prepare WASM toolchain via the plugin templates:
noorle plugin prepare
This will install wasmtime, wkg, wasm-tools, and language-specific dependencies as needed by the templates.
- Clone this repository (or use your preferred example directory):
git clone https://github.com/noorle/plugin-examples
cd plugin-examples
- Build a specific example (e.g., Rust Weather):
cd rust/weather
noorle plugin build
This will produce dist/plugin.wasm and a .npack archive suitable for deployment.
- Run locally for testing (example using wasmtime with WASI):
wasmtime run --wasi http --env OPENWEATHER_API_KEY=your_key \
--invoke 'check-weather("Austin", metric)' dist/plugin.wasm
- Deploy via Noorle (authenticate first):
noorle login
noorle deploy
Follow the CLI prompts to deploy the generated .npack to your Noorle environment.
Additional notes
Tips and caveats:
- Each language template typically expects API keys via environment variables; keep .env files or CI secrets secure.
- The Weather and News plugins demonstrate nested record types; ensure your consumer handles complex responses.
- Use the prepare step once to install tools; subsequent builds can reuse them.
- If you see WASI permission errors, verify that the container/environment has network access and the proper WASI features enabled.
- For local testing, you can often swap the API key values on the fly with environment variables when invoking the WASI binary.
- The repository emphasizes production patterns: robust error handling, environment-based configuration, and testing strategies; adapt these practices when integrating your own plugins.
Related MCP Servers
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
robloxstudio
Create agentic AI workflows in ROBLOX Studio
forgemax
Code Mode inspired local sandboxed MCP Gateway - collapses N servers x M tools into 2 tools (~1,000 tokens)
mcp
🤖 Taskade MCP · Official MCP server and OpenAPI to MCP codegen. Build AI agent tools from any OpenAPI API and connect to Claude, Cursor, and more.
snippy
🧩 Build AI-powered MCP Tools with Azure Functions, Durable Agents & Cosmos vector search. Features orchestrated multi-agent workflows using OpenAI.
mcpcat-python-sdk
MCPcat is an analytics platform for MCP server owners 🐱.