Opplevagent Mcp

io.github.slookisen由 GitHub 帳號 slookisen 發布v0.4.0更新於 Oct 24, 2026

Norwegian experiences marketplace MCP: activities by county, category, weather, season, group size.

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

概覽

AI 產生的概覽

在 opplevagent.no 上搜尋精選的挪威體驗活動,並送出農場直銷(gårdssalg)預訂請求。

可以做什麼
  • 依郡、類別、天氣、季節、室內外、團體人數、年齡、價格與時長搜尋並篩選體驗活動
  • 列出所有體驗類別及各类別中已驗證體驗的數量
  • 依 UUID 取得單一體驗的完整詳情
  • 依郡、市鎮、生產者類型、距離或名稱搜尋農場直銷飲品生產者
  • 向生產者送出待確認的預訂請求,並附星期與營業時間檢查
適用情境
適合規劃挪威行程或活動時,讓助理依天氣、季節、團體人數或預算尋找合適的體驗,或向農場直銷生產者送出參訪請求。它不是通用的旅遊預訂工具,只涵蓋 opplevagent.no 的目錄。
執行需求
可使用 opplevagent.no/mcp 的遠端 Streamable HTTP 端點,或以 npx 在本機執行 npm 套件 opplevagent-mcp(需 Node.js)。不需帳號或 API 金鑰;選用環境變數 OPPLEVAGENT_URL 可覆寫遠端基礎位址。需要能連線遠端主機的網路,且受遠端速率限制。
安裝前請注意
book_gardssalg 會把旅客姓名與電子郵件傳送到 opplevagent.no,且只建立待處理請求,絕不會確認預訂;呼叫前須取得旅客明確同意並使用真實資料。橋接程式會傳送用戶端名稱/版本與 User-Agent,伺服器會記錄 IP 與請求中繼資料。工具定義在啟動時從遠端取得且未固定,OPPLEVAGENT_URL 會把所有工具參數送往其指定的主機,僅應以可信設定設定。

安裝

在 SourceWeft 中

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

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

交給代理程式安裝

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

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

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

其他 MCP 客戶端

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

{
  "mcpServers": {
    "opplevagent": {
      "type": "http",
      "url": "https://opplevagent.no/mcp"
    }
  }
}

README

opplevagent-mcp

MCP server for opplevagent.no — find Norwegian experiences and activities from Claude Desktop, ChatGPT, Cursor, and other AI assistants.

Curated, Brreg-verified experiences searchable by county, category, weather, season, group size, price, and duration.

Install

bash
npx opplevagent-mcp

Or add to Claude Desktop config (~/.claude/claude_desktop_config.json):

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

How it works

Since 0.4.0 the package is a thin stdio bridge to the live remote server (https://opplevagent.no/mcp). Tools, descriptions, instructions and UI resources always match the remote service, so the npm package and the remote never drift, and free-text query reaches discover_experiences unchanged. Remote rate limits apply.

Remote (Streamable HTTP)

For ChatGPT and other remote MCP clients, paste this URL directly:

https://opplevagent.no/mcp

Tools

ToolDescription
discover_experiencesSearch experiences by county (fylke), category, weather, season, indoor/outdoor, group size, age, price, duration
list_experience_categoriesList all categories with experience counts
get_experienceFull details for one experience via UUID
discover_gardssalgSearch gårdssalg (farm-sale) drink producers by county, municipality, producer type, near-me distance, booking status — or look one up by name with query. Rows carry id (the provider_id for booking)
book_gardssalgSubmit a pending booking request to a gårdssalg producer (never confirms — the producer responds). Accepts provider_query (the producer's name) instead of provider_id, plus requested_weekday as a wrong-day guard, so one sentence («book et møte hos X fredag 20. okt kl. 10») becomes one call

Examples

hva kan vi finne på i Troms om vinteren?utendørsaktiviteter i Oslo for 4 personeropplevelser som passer i regnvær i Bergenhvalsafari Tromsøfamilievennlige aktiviteter under 500 krhvilke typer opplevelser finnes i Norge?book et besøk hos Fjordgard Bryggeri fredag 23. oktober kl. 10 for 4 personer

One-sentence booking (gårdssalg)

«Book et møte hos X fredag den 20. oktober klokken 10» is a single book_gardssalg call:

FieldValue
provider_query"X" — the producer's name as the guest said it (or provider_id from discover_gardssalg)
slot_at"2026-10-20T10:00" (Europe/Oslo)
requested_weekday"fredag" — if the 20th is not a Friday the tool answers weekday_mismatch:true with the nearest Fridays instead of booking the wrong day
party_size, guest_name, guest_emailthe human guest's own details — ask for them, never invent them

Outcomes are always honest and explicit: provider_not_found, provider_ambiguous (with candidates to put to the guest), weekday_mismatch (with suggestions), paused (the producer has not activated booking — profile link included), outside_hours (retry with confirm_outside_hours:true), or a pending request with booking_ref, the resolved provider.navn and slot_at_local. The producer is notified by email and confirms, proposes another time, or declines — the tool itself can never confirm a booking.

What the bridge sends

Besides the tool arguments of each call, the bridge identifies itself to the remote server in two ways: the MCP clientInfo (your AI client's name and version, as " via opplevagent-mcp") and a User-Agent header of the form opplevagent-mcp/<version>. This is client statistics, not an identifier of you: no account, credentials or device identifier is sent. The server keeps ordinary web-request logs (IP address and request metadata) for operations and abuse prevention.

Booking (gårdssalg)

book_gardssalg requires no login and is rate-limited on the server. The call sends the guest's name and e-mail address to opplevagent.no. The request stays pending until the producer answers; the tool never confirms a booking. Your AI client should have the guest's explicit yes before it calls the tool.

Trust boundary

The tool list, tool descriptions and server instructions are fetched from the remote server (https://opplevagent.no/mcp) over HTTPS every time the bridge starts. This package does not pin or freeze them, so what your AI client sees is whatever the remote service currently serves. OPPLEVAGENT_URL overrides the remote URL, and every tool argument you or your AI client supply is sent to that host. Only set it from a configuration you trust.

Environment

VariableDefaultDescription
OPPLEVAGENT_URLhttps://opplevagent.noOverride the remote base URL (or a full /mcp URL)

License

MIT

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

工具

5

discover_experiences

Discover Norwegian experiences

Search the opplevagent.no curated marketplace of Norwegian experiences and activities. Filtrer på fylke (county), kategori, vær, sesong, innendørs/utendørs, gruppestørrelse, pris og varighet. / Filter by county, category, weather, season, indoor/outdoor, group size, price, and duration. Also supports near-me search via lat/lng (+ optional radius_km): when given, results include a rounded distance_km and a geo_precision flag ('address' = exact, 'kommune' = approximate municipality centroid) and are sorted nearest-first. Returns title, category, location (fylke/kommune), description, and booking URL if available. Only verified experiences from active providers (Brreg-checked) are returned. Covers Norway only: pass the user's request in `query`; for a place outside Norway (e.g. Kenya) the tool returns no experiences, and the answer is that Opplevagent only covers Norway. Food-product shopping such as buying stockfish is outside this tool's scope. Pass that intent in query; an out_of_scope response must not be retried as a general discovery search. Examples: 'hva kan vi finne på i Troms om vinteren?' (fylke='Troms', season='winter'), 'wildlife experiences' (category='dyreliv_safari'), 'outdoor activities in Oslo for 4 people', 'experiences within 50km of lat 69.65 / lng 18.95'.

輸入參數agelatlngsortfylkelimitqueryseasonkommuneweathercategorylanguage另有 5 個

list_experience_categories

List Norwegian experience categories

List all experience categories available on opplevagent.no, along with the number of verified experiences in each category. Henter alle kategorier med antall verifiserte opplevelser. Use this to understand what kinds of experiences are available before calling discover_experiences with a specific category filter. Example question: 'hvilke typer opplevelser finnes i Norge?', 'what categories are available?'.

無需輸入參數。

get_experience

Get full details for a Norwegian experience

Fetch complete details for a single experience from opplevagent.no by its UUID. Henter fullstendig informasjon om en opplevelse via UUID. Returns title, full description, category, location (fylke/kommune/meeting point), indoor/outdoor, season, weather suitability, group size limits, age suitability, price, duration, languages, booking URL, and booking type. Obtain the UUID from discover_experiences results. Example: id 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'.

輸入參數id必填

discover_gardssalg

Discover Norwegian farm-sale drink producers (gårdssalg)

Search opplevagent.no's gårdssalg (farm-sale) vertical — Brreg-registered Norwegian drink producers (bryggeri/cideri/vingård/destilleri/gårdskafé/mjød/seltzeri) selling directly from the farm. Finn norske gårdssalg-produsenter (drikkeprodusenter som selger direkte fra gården) etter fylke, kommune og produsenttype. / Filter by county (fylke), municipality (kommune), and producer type. Also supports near-me search via lat/lng (+ optional radius_km): when given, results include a rounded distance_km and are sorted nearest-first, and rows with no geocoded location are excluded (never a fabricated distance). Returns id (the provider_id for book_gardssalg), name, location, producer type, profile_url, and an honest booking status (live direct booking vs. a dark-launch 'coming soon' note — never overclaims booking availability). Include each returned producer's profile_url as a clickable link when available; when booking is paused, tell the user to contact the producer via that profile page. To look up ONE specific producer by name (e.g. when the guest says 'book hos Fjordgard Bryggeri'), pass `query`. Examples: 'gårdssalg i Vestland', 'cideri near lat 60.4 / lng 5.3', 'bryggeri med booking', query: 'Fjordgard Bryggeri'.

輸入參數latlngfylkelimitquerykommuneradius_kmbooking_liveproducer_type

book_gardssalg

Request a gårdssalg booking (pending — email confirmation required)

Submit a booking REQUEST for a Norwegian gårdssalg (farm-sale) producer discovered via discover_gardssalg. Send inn en reservasjonsforespørsel for et gårdssalg-besøk. IMPORTANT: this NEVER creates a confirmed booking — it creates a PENDING request, exactly like the producer's own website form. The PRODUCER reviews the request and responds (confirms, proposes another time, or declines); guest_email only receives a read-only status link, never anything that can finalize the booking. No payment is involved (pickup/visit, pay on arrival, as today). Only producers with an active booking status (see discover_gardssalg's booking.live field) can be booked — a paused/not-yet-onboarded producer is rejected with a clear message, never a silent failure. VIKTIG: oppretter ALDRI en bekreftet booking — kun en avventende forespørsel; produsenten mottar forespørselen og svarer (bekrefter, foreslår nytt tidspunkt eller avslår). ONE-SENTENCE FLOW («book et møte hos X fredag 20. oktober kl. 10 for 4 personer»): call this ONCE with provider_query='X' (the producer's name — no discover_gardssalg round-trip needed), slot_at, party_size, guest_name, guest_email and requested_weekday='fredag'. The tool resolves X to exactly one producer (or returns candidates / not-found with NO booking created), checks that the date really is a Friday (or returns weekday_mismatch:true with the nearest Fridays, NO booking created), then submits the request and notifies the producer by email. guest_name and guest_email are the HUMAN guest's own — ask the guest for them if you do not have them; never invent or reuse someone else's. Required: provider_id OR provider_query, slot_at (requested date/time, 'YYYY-MM-DDTHH:MM' Europe/Oslo), party_size, guest_name, guest_email. Optional: requested_weekday, experience_id, guest_phone, notes, confirm_outside_hours. The requested slot_at is ALWAYS hard-rejected if it's in the past or too far ahead. If the producer has stated opening hours and slot_at falls outside them,

輸入參數notesslot_at必填guest_name必填party_size必填guest_email必填guest_phoneprovider_idexperience_idprovider_queryrequested_weekdayconfirm_outside_hours

版本歷史

2
  1. v0.4.0最新Oct 19, 2026
  2. v0.2.0Sep 16, 2026

評分

已滿足適用檢查項的 100%

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

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