
Wassette MCP Server by Microsoft: Setup for Claude, Cursor and Other Apps
Lets Claude, Copilot, Cursor and other assistants load new tools on demand and run them in a WebAssembly sandbox that you set permissions for.
Wassette is Microsoft's open-source runtime that runs WebAssembly components as MCP tools. Ask your assistant to load a component from a file or an OCI registry, and its functions appear as new tools. Each component runs in a sandbox with no access until you grant file, network or environment permissions. The README warns it is in early development and not production ready.
Good for
- Developers who want to add tools to an assistant without leaving the chat
- Security-minded teams who want third-party tools to run with limited access
- Rust and WebAssembly developers who publish components
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install Wassette MCP
Claude Code
- 1
Copy this prompt.
Add the Wassette MCP server to Claude Code. Run this command: claude mcp add wassette -- wassette run Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires wassette program.
Read-only mode: Add --disable-builtin-tools to the run command to remove the load and permission tools.
Install the wassette program first. The install guide lists a script for Linux and macOS, Homebrew, WinGet and Nix. This config is adapted from the project's wassette run command.
Built from the package data we hold. Not yet tested by us.
Tools
Loads a new tool from a file or an online registry
Downloads or opens a WebAssembly component and adds its functions to your assistant as new tools. The path can be a local file or an OCI registry address.
Try: “Load the time component from oci://ghcr.io/microsoft/time-server-js:latest.”
Write ·
load-componentRemoves a loaded tool
Unloads a component by ID so its tools disappear from your assistant.
Try: “Unload the time component.”
Write ·
unload-componentLists the components you have loaded
Shows which components are loaded right now.
Try: “Which components are loaded?”
Read ·
list-componentsShows what a component is allowed to do
Returns the permission policy of one component, covering its storage, network and environment access.
Try: “Show the policy for the fetch component.”
Read ·
get-policyLets a component read or write a path
Gives a component access to a file path, either read-only or read and write.
Try: “Let the file-notes component read /tmp/notes.”
Write ·
grant-storage-permissionLets a component call specific hosts
Allows a component to make network requests to the hosts you name.
Try: “Allow the weather component to reach api.weather.example.”
Write ·
grant-network-permissionLets a component read named environment variables
Allows a component to read the environment variables you name. Be careful with keys and tokens.
Try: “Let the github component read GITHUB_TOKEN.”
Write ·
grant-environment-variable-permissionTakes back a component's access to a path
Removes both read and write access a component had to a path.
Try: “Revoke the file-notes component's access to /tmp/notes.”
Write ·
revoke-storage-permissionTakes back a component's access to a host
Stops a component from making requests to a host you granted earlier.
Try: “Revoke the weather component's network access.”
Write ·
revoke-network-permissionTakes back access to an environment variable
Stops a component from reading an environment variable you granted earlier.
Try: “Revoke the github component's access to GITHUB_TOKEN.”
Write ·
revoke-environment-variable-permissionClears all permissions a component has
Takes away every permission you granted to a component and returns it to its default state.
Try: “Reset all permissions for the fetch component.”
Write ·
reset-permissionLists components you can fetch and load
Searches the list of known components, optionally by a word you give.
Try: “Search for components that deal with time.”
Network ·
search-components
Read from the source code
Permissions
medium risk · 5 things to watch
Medium risk
The assistant can fetch WebAssembly components from the internet, run them and widen their file, network and environment access. Check every component source and permission grant before you approve it.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
The assistant can load code from the internet
The load tool fetches a component from a file or OCI registry and runs it. Load only components you trust and check the address first. github.com
The assistant can grant permissions itself
The grant tools give components access to paths, hosts and environment variables, so a mistaken approval widens what runs. Review each grant, especially tokens and write access. github.com
The tool list changes as you load components
Every loaded component adds its own tools, and their effects depend on that component. Read its policy with the policy tool before you use it. github.com
Components run in a Wasmtime sandbox
The project says components run in a WebAssembly sandbox with allow and deny lists for files and network. The repository warns it is early development and not production ready. github.com
Optional HTTP mode binds to localhost
The serve command's HTTP address defaults to 127.0.0.1:9001. Change it only if you add your own protection. github.com
Security advisories
No published security advisories for the MCP server as of Nov 1, 2026.
1 other advisory is about the wider wassette project, not this MCP server. See them on GitHub
Technical details
| Turning on read-only | Start it with the disable-builtin-tools option to remove the load and permission tools. Components you already loaded still run. |
|---|---|
| Talks to | OCI registries and URLs you load components from. Hosts you grant to a component |
| Sign-in and keys | No account or key. Components store state in a folder on your machine, which defaults to the wassette folder under your data directory. |
Questions
Is Wassette an official Microsoft project?
Yes. It is published by Microsoft as open source on GitHub under the MIT license. The README says it is early development and not production ready.
What does Wassette do?
It runs WebAssembly components as tools for your assistant. You ask the assistant to load one, and Wassette runs it in a sandbox with only the permissions you give.
Does it need an API key or account?
No. It runs locally with no sign-in. A component you load may need its own settings, which you pass through an environment permission.
How do I install it?
Install the wassette program first with the command in the install box or the project's install guide, then add the config for your client. Homebrew, WinGet, Nix and Docker options are in the install guide.
Which assistants does it work with?
The project documents VS Code, GitHub Copilot CLI, Cursor, Claude Code, Codex CLI and Gemini CLI. Other clients that run a local command can use the same config.
Can it be locked down?
Partly. The disable-builtin-tools option removes the tools for loading components and changing permissions. Components that are already loaded keep their granted access.
Where do the components come from?
From a local file or an OCI registry, such as ghcr.io. You choose the source, so check it before loading.
Information
updated Nov 2, 2026
- Publisher
- Official
- Transport
- stdio, Streamable HTTP
- Auth
- None
- Version
- 0.8.1
- License
- MIT
- Last commit
- Oct 27, 2026
- Open issues
- 24
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 5Hide
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com