Lokal Mcp

io.github.slookisen由 GitHub 帳號 slookisen 發布v0.5.0更新於 Nov 2, 2026

Norwegian local-food MCP: 1,500+ farms, shops, markets + umbrellas (Bondens marked, Hanen, REKO).

已驗證Streamable HTTP可網頁執行位置與生活網頁搜尋與抓取商業與電商

概覽

AI 產生的概覽

把助理連接到挪威在地食品生產者名錄 Rett fra Bonden,可搜尋農場、市集與聯合組織,並建立自取購物車。

可以做什麼
  • 依食品類別、標籤或距離搜尋與篩選生產者,並查看其產品目錄、聯絡方式、營業時間與配送方式
  • 查詢 Bondens marked、REKO、Mathallen、Hanen、Debio 等聯合組織、其成員生產者,以及某生產者所屬的組織
  • 將挪威地名解析為經緯度,並列出即將舉行的 Bondens marked 市集日
  • 為購物清單媒合附近的生產者,附上聯絡資訊及是否可下單
  • 建立、加入、檢視並提交匿名購物車,再查詢產生的取貨訂單狀態
適用情境
適合使用者詢問在挪威何處能買到在地或有機食品、哪些農友在某個市集販售、下一場 Bondens marked 何時舉行,或想就近組成取貨訂單時使用。
執行需求
可作為遠端 Streamable HTTP 端點使用,也可透過本機 npm 套件(npx lokal-mcp)橋接到該端點,本機方式需要 Node.js。不需帳號、登入或 API 金鑰。選用環境變數 LOKAL_URL 可覆寫基礎網址。需要能連線至該服務的網路,且受遠端速率限制。
安裝前請注意
提交購物車會寄送電子郵件給所選生產者,呼叫前應取得使用者明確同意;平台不收款,付款於取貨時進行。建立購物車回傳的 buyer_ref 權杖是後續購物車與訂單操作所必需,且無法找回。工具定義從遠端伺服器取得且未固定版本,所有工具參數都會傳送到 LOKAL_URL 指定的主機,因此該值必須來自可信任的設定。服務會保留含 IP 位址的請求日誌。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Lokal Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.slookisen%2Flokal-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "lokal": {
      "type": "http",
      "url": "https://rettfrabonden.com/mcp"
    }
  }
}

README

Rett fra Bonden MCP

MCP server for Rett fra Bonden — find local food producers in Norway from Claude Desktop, ChatGPT, Cursor, and other AI clients.

More than 1,500 verified producers: farms, REKO rings, farmers' markets, farm shops, and cooperatives across Norway.

How it works: since 0.5.0 the package is a thin stdio bridge to the live remote server (https://rettfrabonden.com/mcp). Tools, descriptions and instructions always match the remote service, so the npm package, the .mcpb extension and the remote never drift. Remote rate limits apply.

Tools (stdio/npm and .mcpb, same as the remote): lokal_search, lokal_discover, lokal_info, lokal_stats, lokal_list_umbrellas, lokal_get_umbrella_members, lokal_get_producer_affiliations, lokal_bm_next_markets, lokal_geocode, lokal_find_offers, lokal_cart_create, lokal_cart_add_item, lokal_cart_view, lokal_cart_submit, lokal_order_status

Claude Desktop extension: lokal-mcp.mcpb in this folder (Settings → Extensions → Advanced settings → Install Extension…). Rebuild with npx @anthropic-ai/mcpb pack . lokal-mcp.mcpb after npm ci --omit=dev.

Claude Desktop config:

json
{"mcpServers":{"lokal":{"command":"npx","args":["lokal-mcp"]}}}

Remote HTTP (Streamable HTTP): https://rettfrabonden.com/mcp

More: https://rettfrabonden.com/teknologi

Privacy Policy

Full policy: https://rettfrabonden.com/personvern (English: https://rettfrabonden.com/privacy). Terms: https://rettfrabonden.com/vilkar

Summary for reviewers and users of this extension:

  • What is sent. Only the query text and parameters you supply in a tool call (search terms, a place name, a producer id) are sent to rettfrabonden.com. Nothing is read from your machine: the extension has no file, shell or filesystem access and declares no user_config.
  • What is not sent. No account, no credentials, no payment details, no chat history. The service has no user accounts, so there is nothing to log in to.
  • What is stored. The server keeps ordinary web-request logs (IP address and request metadata) for operations and abuse prevention.
  • What the bridge sends about itself. Besides the tool arguments, the bridge sends your AI client's name and version in the MCP clientInfo (as " via lokal-mcp") and a User-Agent of the form lokal-mcp/<version>. This is client statistics and does not identify you: no account, credentials or device identifier is sent.
  • Who else sees it. Nobody. Data is not sold, and it is not shared with third parties for advertising or profiling.
  • Third-party contact. The cart tools (lokal_cart_*) are part of this extension since 0.5.0. If you submit a cart with lokal_cart_submit, the chosen producer is e-mailed about that pickup order, and only if the producer has opted in to orders through the platform. Payment is made to the producer at pickup; the platform never takes payment. The other tools are read-only.
  • Cart and ordering need no login. lokal_cart_* require no sign-in, and submission is rate-limited on the server. Submission only reaches producers that have opted in to orders. Your AI client must get your explicit yes before it calls lokal_cart_submit, because that sends an e-mail to the producer.
  • Trust boundary. Tools, descriptions and instructions are fetched from the remote server over HTTPS and are not pinned by this package. LOKAL_URL must come from a trusted configuration, because every tool argument is sent to that host.
  • Your control. Stop sending data by removing the extension. Because no account exists, there is no stored profile to delete. Questions and deletion requests: [email protected].
  • Optional setting. LOKAL_URL overrides the remote base URL; leave it unset to use https://rettfrabonden.com (see Trust boundary above).

來源:mcp-server/README.md,提交 004a2fb

工具

15

lokal_discover

Discover producers by filter

Structured search in the Lokal food producer registry. Filter by food categories, tags, and geographic distance. Never use this tool to build marketing or bulk-email recipient lists. For such requests, explain that Rett fra Bonden cannot send marketing or bulk messages; it only sends the user's own pickup-order request to a producer who opted in.

輸入參數latlngtagslimitcategoriesmaxDistanceKmdrinkSubcategory

lokal_info

Producer details

Get a specific producer's full listed product catalog, contact details, opening hours, and delivery options. Use when you already have an agentId from lokal_search. Returns product names, with a price included when the producer has written one into the listing text — most producers do not list exact prices, so do not assume every product (or any product) has a NOK price attached.

輸入參數agentId必填

lokal_stats

Platform statistics

Get Lokal platform statistics — total agents, cities covered, interactions.

無需輸入參數。

lokal_list_umbrellas

List umbrella organizations

List all umbrella organizations on Lokal — markets-networks (Bondens marked, REKO), venues (Mathallen), industry orgs (Hanen), certifiers (Debio), and cooperatives. Each umbrella has many member producers. Optionally filter by type. Useful when the user asks 'where can I find local food markets?', 'what is Bondens marked?', or 'which certifications matter for local Norwegian food?'.

輸入參數limitumbrellaType

lokal_get_umbrella_members

Get producers in an umbrella's network

List producers that are members of a specific umbrella organization (e.g. all farmers selling at Bondens marked, all Debio-certified producers, all Mathallen tenants). Returns producer names + cities + profile links. Useful when the user asks 'which farmers sell at Bondens marked?', 'show me all Debio-certified producers', or 'who is at Mathallen Oslo?'.

輸入參數limitumbrellaId必填

lokal_get_producer_affiliations

Get a producer's umbrella affiliations

List umbrella organizations a specific producer is a member of (e.g. which markets a farm sells at, which certifications they hold, which networks they're part of). Returns umbrella names + types + their profile links. Useful when the user asks 'where does <Farmer X> sell?', 'is <Farm Y> Debio-certified?', or 'which markets does <Producer Z> attend?'.

輸入參數producerId必填

lokal_bm_next_markets

Get upcoming Bondens marked events

Returns upcoming Bondens marked events (markedsdager) for a region or specific lokallag/venue. Useful when AI agents are asked 'when is the next Bondens marked in Oslo?' or similar. Data is refreshed daily from bondensmarked.no.

輸入參數daysregionlokallag_slug

lokal_geocode

Geocode a Norwegian place name

Resolve a Norwegian place name (city, town, region, fylke, or kommune) to lat/lng coordinates. Use this when you need explicit coordinates for lokal_discover (e.g., 'show me organic farms within 10 km of Florø'). Returns coordinates + suggested search radius. Covers all of Norway via Kartverket Stedsnavn API fallback. Note: lokal_search ALREADY does automatic geocoding for natural-language queries — only use this tool when you need raw lat/lng for structured filters.

輸入參數place必填

lokal_find_offers

Find offers for shopping-list items

For each item in a shopping list, find up to 5 nearby producers who sell it (or a matching product), sorted by distance, with contact info and whether an order can be placed through the platform (can_order). Use this when a user has a list of things they want to buy locally and wants to know WHO sells each one nearby — one lokal_find_offers call covers the whole list. Read-only.

輸入參數latlngnearitems必填radius_km

lokal_cart_create

Create a shopping cart

Create a new anonymous shopping cart ('handleliste'). Returns a cart_id and a buyer_ref capability token — STORE THE buyer_ref, it is required for all subsequent cart operations and cannot be recovered. Each cart is valid for 7 days. Use lokal_cart_add_item to add products, lokal_cart_view to review, and lokal_cart_submit to place orders (pickup, no payment).

無需輸入參數。

lokal_cart_add_item

Add item to shopping cart

Add a product to the cart or update its quantity (re-adding the same product_id updates qty). Product must be in_stock and from a verified non-umbrella producer (use lokal_search / catalog feed to find eligible products and their IDs). Requires cart_id and buyer_ref from lokal_cart_create.

輸入參數qty必填notecart_id必填buyer_ref必填product_id必填

lokal_cart_view

View shopping cart

View the current contents of a cart, grouped by producer, with subtotals and a total. Use this before submitting to review what is in the cart. Requires cart_id and buyer_ref.

輸入參數cart_id必填buyer_ref必填

lokal_cart_submit

Submit cart and place pickup orders

Submit the cart. Re-checks availability of every item at submit time; if any item is no longer in_stock, submit is rejected with a clear per-item message. No payment is charged. A real pickup order (one per producer) is created ONLY for producers who are owner-verified AND have opted in to receive orders through the platform (can_order=true in lokal_find_offers); they get the order by e-mail and can confirm/decline it. Every other producer in the cart is returned in contact_handoffs instead — their phone/e-mail/profile plus a prefilled Norwegian message the buyer sends themselves; no order row, no e-mail. Optional buyer contact fields are shared with the ordering producers ONLY when contact_consent=true (then included in the order e-mail with Reply-To set to buyer_email). Returns orders[] and contact_handoffs[]. Use lokal_order_status to check an order.

輸入參數cart_id必填buyer_ref必填buyer_namebuyer_emailbuyer_phonedelivery_notecontact_consent

lokal_order_status

Get order status

Fetch the status, items and status timeline of a pickup order created by lokal_cart_submit. Requires the order_id returned by submit and the buyer_ref token. Status: pending → confirmed → ready → completed (or declined/cancelled; cancel_reason='no_show' means the buyer did not pick up). The timeline array lists every status transition with timestamps.

輸入參數order_id必填buyer_ref必填

版本歷史

3
  1. v0.5.0最新Oct 19, 2026
  2. v0.4.1Oct 18, 2026
  3. v0.4.0Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分