willys-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WILLYS_HOME | No | Directory where .env and session database are stored. Defaults to the project directory if not set. | ./ |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| willys_loginA | Logga in på Willys och få ett sessionId tillbaka. Säkert att anropa: servern läser uppgifterna ur .env, de når aldrig din kontext (se read_doc med help/security.md). Återanvänder en giltig session (24h); force=true tvingar ny inloggning. |
| willys_check_authB | Kontrollera om en session fortfarande är giltig. |
| willys_logoutC | Avsluta sessionen. |
| willys_read_docA | Läs ett dokument som följer med servern (t.ex. "help/setup.md"). Deterministiskt begränsad till serverns docs/-mapp — kan inte läsa .env, sessioner eller något annat på datorn, så den är säker att anropa fritt. De korta instruktionerna pekar hit för detaljer så de inte belastar varje session. Tillgängliga: help/setup.md, help/security.md, help/search.md, help/planning.md, help/errors.md. |
| willys_fetch_urlA | Hämta en webbsida från ANVÄNDARENS dator och få tillbaka strukturerad data (JSON-LD, t.ex. schema.org Recipe) plus ren text. Kör detta FÖRST när du behöver läsa en URL — det går via användarens hem-IP och tar sig förbi block som din egen hämtning fastnar på, och det är billigare. Faller din egen webbläsning tillbaka bara om detta misslyckas. Renderar JS-sidor automatiskt vid behov. |
| willys_open_fileA | Öppna en lokal fil i användarens standardeditor. Använd för att öppna .env åt dem vid uppsättning — sökvägen står i svaret från willys_setup. En chattklient gör inte filsökvägar klickbara. Läser inte innehållet. |
| willys_setupA | Kontrollera om servern är konfigurerad på den här datorn och få exakta steg om något saknas, med full sökväg till filen. Kräver ingen session. Kör detta först om willys_login svarar SETUP_REQUIRED. Se read_doc med help/setup.md. |
| willys_setup_initA | Skapa .env åt användaren och skriv in butiks-id, med rättigheter 600. Returnerar sökvägen till filen. Öppna den sedan med willys_open_file så användaren kan fylla i sina uppgifter. |
| willys_searchC | Sök produkter. onlySwedish filtrerar på verifierad svensk märkning (labels), inte på varumärke. |
| willys_search_suggestionsB | Sökförslag (autocomplete) för en term. |
| willys_get_product_detailC | Detaljerad produktinformation för en artikelkod. |
| willys_find_cheapestA | Sök och rangordna på jämförpris (kr/kg, kr/l, kr/st), sorterat av Willys över hela träffmängden. Returnerar tillgängliga kategorier så du kan smalna av — utan kategori rankas köttfärssås som köttfärs. |
| willys_get_cartC | Hämta kundvagnens innehåll. |
| willys_add_to_cartC | Lägg en produkt i kundvagnen. |
| willys_remove_from_cartB | Ta bort en produkt ur kundvagnen. |
| willys_get_ordersC | Hämta orderhistorik, sidad. |
| willys_get_order_detailsC | Alla varurader i en tidigare order. |
| willys_get_frequent_productsB | Vanligast köpta varor, härledda ur din faktiska orderhistorik (inte CMS-sidan, som saknar produktdata). |
| willys_get_customer_infoC | Hämta kundprofil. |
| willys_find_storesB | Slå upp butiker på ort, namn eller postnummer. Läser ur lokal cache (hela kedjan, 254 butiker). |
| willys_nearest_storesB | Närmaste butiker till en koordinat, sorterade på avstånd. |
| willys_get_storeB | Detaljer för en butik: öppettider, plockavgift, fri frakt-gräns och länk till butikens erbjudandeblad. |
| willys_refresh_storesC | Hämta om butiksregistret från Willys. |
| willys_get_campaignsB | Butiksspecifika kampanjer och erbjudanden. Ersätter den döda get_offers. |
| willys_plan_add_recipeA | Lägg ett recepts ingredienser i behovsregistret. Mängder slås ihop per vara över alla recept i planen, så tre recept som vill ha ägg blir ETT behov. Rör inte kundvagnen — kör willys_plan_apply för det. |
| willys_plan_remove_recipeA | Ta bort ett recept ur planen. Behoven räknas om; varor som bara det receptet krävde försvinner ur den föreslagna korgen. |
| willys_plan_set_ingredientA | Lägg till eller rätta EN ingrediens i ett recept utan att röra de andra. Använd detta för att fixa en felmatchad rad (t.ex. skärpa mustContain) i stället för att skicka om hela receptet med willys_plan_add_recipe. |
| willys_plan_remove_ingredientA | Ta bort EN ingrediens ur ett recept (t.ex. en skafferivara användaren redan har hemma), utan att röra receptets övriga rader. |
| willys_plan_statusA | Visa vad planen kräver, vilken produkt och mängd som föreslås för varje vara, vad det kostar, och vilka val som väntar på svar om överskott. Läser bara — ändrar varken plan eller kundvagn. Kör detta innan willys_plan_apply. |
| willys_plan_applyA | Synka kundvagnen mot planen. Skickar BARA differensen: rätt vara i rätt antal ger inget anrop, växande behov byter förpackning eller höjer antalet. dryRun=true (default) visar ändringarna utan att röra vagnen. |
| willys_plan_clearA | Nollställ planen. Tömmer INTE kundvagnen — den behåller det som redan lagts i. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/oscarthroedsson/willys-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server