Give the agents you build reliable website tools
wield-mcp is a local MCP server that gives your agent website tools. Your agent calls find_recipe and run, and gets structured data back. In our benchmark, a recipe run took a median of 908 ms. Running a recipe uses no model tokens. The executor, bridge, MCP server and recipe format are open source under MIT.
The tool surface
| Tool | What it does |
|---|---|
find_recipe | Finds a recipe for a site and task |
run | Runs a recipe with parameters and returns its result |
list_sites | Lists the sites in the registry |
status | Shows your setup, including the first eight characters of your API key |
request_recipe | Requests a recipe for a site and task, or starts a recording on a paid plan |
Public recipe ids take the form <site>/<slug>. Private recipes take the form <org>:<site>/<slug>, and your agent sees both kinds in the same list.
Where it fits in your agent loop
Your agent decides what to do. It calls find_recipe for the task, then run with parameters, then reads the result and decides the next call. Wield does not plan or call a model during a run. A multi-step task is simply several run calls.
The Doctolib recipes show the pattern. A practitioner search makes 3 requests and returns the ids a slot lookup needs. The slot lookup then makes 1 request per practitioner and returns the free slots for 7 days.
Each run is limited to 12 steps, 40 requests, 5 MB per response and 60 seconds. The run needs your Chromium browser open with the Wield extension. The extension supports Chrome, Edge, Brave, Arc, Vivaldi, Opera and Chromium. Firefox and Safari are not on that list.
Error handling
| Code | Meaning | What to do |
|---|---|---|
site_challenge | The site shows a check, such as a CAPTCHA | Ask the user to solve it in their own tab. Wield does not solve the check |
recipe_unsigned | The recipe is unsigned or has changed | Wield refuses it. Use a signed version |
policy_denied | The organization's policy doesn't allow the site | Nothing was sent. Choose another site or ask an admin |
Recipes are versioned. If a recipe fails its daily health check, it is marked degraded, and wield-mcp falls back to the last good version. Results are marked as website content. Your agent should never follow instructions found inside a result.
Write and publish a recipe
A recipe is a small public JSON file that describes the requests a site's own pages make. Recipes are data, not code. No JavaScript from the registry runs in the page. A recipe may send requests only to the https origins it lists. Redirects to other hosts are not followed. Requests carry no Cookie or Host headers. The registry signs every recipe with Ed25519.
To publish a private recipe, use PUT /api/v1/private/recipes/<site>/<slug> with a recipes:write key. To contribute a public recipe, follow the contributing guide.
FAQ
Do I need an account to use it?
No. Public recipes work without an API key. A key adds your organization's private recipes and policy.
How does the protocol work?
wield-mcp speaks MCP over stdio. It is a local process with no network port. It talks to the Wield extension through a local bridge that uses Chrome native messaging.
How does it compare with a browser agent?
In our preliminary benchmark, as of 7 Nov 2026, the Wield recipe passed 85% of runs with a median of 0.9 s and no model cost. The browser agent, Browser Use with Claude Sonnet 5.5, passed 52% of runs with a median of 78 s and a model cost of $0.18 per run. Read the benchmark for the method and per-task rows.
Can my agent make writes?
Yes, but every write stops for the user's Allow. Deny is the default. One Allow covers one run.