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 分