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 分