# Wield > Any website, as a tool for your agent. Your logins never leave your device. Wield turns a website's own internal API into a tool an AI agent can call. Recipes are public JSON describing one task's request sequence on one site. They run on the user's own device, inside their Chrome, with the session they already have. Passwords, cookies, parameters and results never reach wield.run. ## Install (for the user) 1. Node 20+, then run: npx -y wield-mcp@latest init It installs wield-mcp and the bridge into ~/.wield, registers the bridge with Chrome, and asks before adding Wield to Claude Desktop, Claude Code, Cursor and Codex. 2. Load the extension: chrome://extensions → Developer mode → Load unpacked → ~/.wield/extension 3. Check every link: ~/.wield/bin/wield doctor Setup prompt to paste into an agent: https://wield.run/install Manual MCP config (stdio): { "mcpServers": { "wield": { "command": "npx", "args": [ "-y", "wield-mcp" ] } } } Claude Code: claude mcp add wield -- npx -y wield-mcp Codex: # ~/.codex/config.toml [mcp_servers.wield] command = "npx" args = ["-y", "wield-mcp"] ## MCP tools (wield-mcp) - list_sites(): sites with recipes and whether the user is logged in - find_recipe(task, site?, limit?): ranked recipes for a task - run(recipe_id, params, version?): runs in the user's browser; write recipes wait for the user to click Allow - request_recipe(site, task): ask for a new site or task - status(): executor, registry and login state ## Registry API (public, read-only, CORS *) - GET https://wield.run/api/v1/index - GET https://wield.run/api/v1/recipes/{site}/{slug} (ETag = sha256 of the canonical JSON body) - GET https://wield.run/api/v1/recipes/{site}/{slug}/{version} - GET https://wield.run/api/v1/sites - GET https://wield.run/api/v1/stats - POST https://wield.run/api/v1/requests {site, task, source: "mcp"} - GET https://wield.run/api/v1/requests/top ## Recipes (18) - bahn.de/search-connections (v1, read): Search train connections between two stations with prices - check24.de/compare-electricity (v1, read): Compare electricity tariffs for a postcode and yearly consumption - doctolib.de/book-slot (v1, write, needs login): Reserve a Doctolib appointment slot for the logged-in user (UNTESTED draft) - doctolib.de/get-slots (v1, read): Get free appointment slots for a Doctolib practitioner - doctolib.de/search-practitioners (v1, read): Search doctors on Doctolib by specialty and city - eventim.de/search-events (v1, read): Search concerts and events with dates, venues and ticket availability - flixbus.de/search-trips (v1, read): Search bus trips between two cities on a date - idealo.de/price-lookup (v1, read): Look up current shop prices for a product - immobilienscout24.de/search-rentals (v1, read): Search rental flats or houses in a German city with rent, rooms and size filters - jameda.de/get-slots (v1, read): Get free online appointment slots for a doctor on jameda - jameda.de/search-doctors (v1, read): Search doctors by specialty and city - kleinanzeigen.de/message-seller (v1, write, needs login): Send a message to the seller of a Kleinanzeigen listing (UNTESTED draft) - kleinanzeigen.de/search-listings (v1, read): Search classified listings by keyword, location and price range - lieferando.de/search-restaurants (v1, read): Search restaurants that deliver to an address - vinted.de/search-items (v1, read): Search second-hand fashion and items on Vinted - willhaben.at/search-marketplace (v1, read): Search the willhaben marketplace (Austria) for second-hand items - zalando.de/search-products (v1, read): Search fashion products with optional size and price filters - zalando.de/search-products-html (v1, read): Search fashion products (HTML fallback without GraphQL hashes)