关于 opplevagent-mcp
opplevagent-mcp 是用于查找挪威体验和活动的 MCP 服务,适合规划出游的人。它可按地点和实际条件搜索经 Brreg 核验的条目,并向农场直售生产商提交待处理的预约请求。
主要功能
- 01按郡和类别搜索体验
- 02按天气、季节及室内外筛选
- 03按人数、年龄、价格和时长筛选
- 04获取体验的完整详情
- 05搜索农场直售饮品生产商
- 06提交待处理的生产商预约
适用场景
- 01查找 Troms 的冬季活动
- 02为多人挑选 Oslo 户外活动
- 03寻找预算范围内的家庭活动
- 04向农场直售生产商申请参观
MCP 相关
向 MCP 客户端提供体验发现、类别列表、详情查询、生产商搜索和预约工具。它将 stdio 客户端桥接至实时远程 MCP 服务,也支持远程 Streamable HTTP 连接。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://opplevagent.no/mcpclaude mcp add --transport http slookisen-opplevagent https://opplevagent.no/mcp{"mcpServers":{"slookisen-opplevagent":{"type":"http","url":"https://opplevagent.no/mcp"}}}在 Cursor 中打开{"servers":{"slookisen-opplevagent":{"type":"http","url":"https://opplevagent.no/mcp"}}}在 VS Code 中打开{"mcpServers":{"slookisen-opplevagent":{"type":"http","url":"https://opplevagent.no/mcp"}}}{"mcpServers":{"slookisen-opplevagent":{"serverUrl":"https://opplevagent.no/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
5| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| age | integer | 否 | 参与者中最年轻者的年龄。筛除最低年龄要求高于此年龄的体验。示例:8 |
| lat | number | 否 | 附近搜索的起点纬度(十进制度)。必须与 lng 一起提供。示例:69.65(Tromsø) |
| lng | number | 否 | 附近搜索的起点经度(十进制度)。必须与 lat 一起提供。示例:18.95(Tromsø) |
| sort | enum | 否 | 'distance' — 按距 lat/lng 的距离升序排列结果。提供 lat/lng 时,这已是默认设置;此参数用于明确指定排序方式。distance |
| fylke | string | 否 | 挪威郡(fylke)。示例:'Oslo'、'Vestland'、'Troms'、'Rogaland' |
| limit | number | 否 | 结果数量上限(默认 20,最多 50) |
| query | string | 否 | 用几个词概括用户的请求,包括用户提到的地点,例如 'safari lodge in Kenya'、'northern lights in Tromsø'。Opplevagent 仅覆盖挪威:如果指定的是挪威境外地点,且未提供挪威的 fylke/kommune 或坐标,工具将不返回体验并说明原因。也要包含购买意图:购买鳕鱼属于食品零售,而非体验搜索。 |
| season | string | 否 | 季节筛选条件:'summer'、'winter'、'spring' 或 'autumn'(挪威语 sommer/vinter/vår/høst 也可)。全年体验始终包含在内。用户询问某个季节可以做什么时使用此筛选条件(而非类别或天气),例如 'Troms om vinteren' → fylke='Troms',season='winter'。 |
| kommune | string | 否 | 挪威市镇(kommune)。示例:'Tromsø'、'Bergen'、'Stavanger' |
| weather | enum | 否 | 筛选当天的天气,而非季节:'rain'/'snow' 优先选择室内和不受天气影响的体验。示例:'rain'、'clear'。对于“冬季”,请使用 season。rain | snow | clear | any |
| category | string | 否 | 体验类别 slug,可选值之一:'kultur_historie'(文化/历史、博物馆)、'natur_friluft'(自然/户外)、'adrenalin_action'、'sightseeing_transport'(观光、游船、缆车)、'overnatting_opplevelse'(住宿)、'dyreliv_safari'(野生动物、观鲸/驼鹿之旅、狗拉雪橇)、'vinter_sno'(冬季与雪)、'mat_drikke'(美食与饮品)、'velvaere_spa'(养生/水疗)。调用 list_experience_categories 获取实时计数。对于“我们可以做些什么”这类一般性问题,请省略 category。“冬季”/“om vinteren”是季节,不是类别:使用 season='winter';'vinter_sno' 仅涵盖雪上活动,可能会排除例如极光游船等体验。 |
| language | string | 否 | 体验所需语言。示例:'no'、'en' |
| max_price | integer | 否 | 每人的最高价格,单位为挪威克朗(NOK)。示例:500 |
| radius_km | number | 否 | 距 lat/lng 的最大距离,单位为公里。仅在提供 lat/lng 时适用。示例:50 |
| group_size | integer | 否 | 团体人数。用于按体验的最小/最大团体容量筛选。示例:4 |
| duration_max | integer | 否 | 最长时长,单位为分钟。示例:120(2 小时) |
| indoor_outdoor | enum | 否 | 室内/室外偏好。示例:'indoor'、'outdoor'、'both'indoor | outdoor | both |
详细介绍
opplevagent-mcp
适用于 opplevagent.no 的 MCP 服务——通过 Claude Desktop、ChatGPT、Cursor 和其他 AI 助手查找挪威的体验和活动。
精选且经 Brreg 验证的体验,可按郡、类别、天气、季节、团体人数、价格和时长搜索。
安装
npx opplevagent-mcp
或者添加到 Claude Desktop 配置文件(~/.claude/claude_desktop_config.json):
{
"mcpServers": {
"opplevagent": {
"command": "npx",
"args": ["opplevagent-mcp"]
}
}
}
工作原理
从 0.4.0 起,该软件包是连接实时远程服务(
https://opplevagent.no/mcp)的轻量级 stdio 桥接程序。工具、描述、说明和界面资源始终
与远程服务保持一致,因此 npm 软件包和远程服务不会出现偏差,且自由文本
query 会原样传递给 discover_experiences。远程服务的速率限制同样适用。
远程服务(Streamable HTTP)
对于 ChatGPT 和其他远程 MCP 客户端,直接粘贴此 URL:
https://opplevagent.no/mcp
工具
| 工具 | 描述 |
|---|---|
discover_experiences | 按郡(fylke)、类别、天气、季节、室内/室外、团体人数、年龄、价格和时长搜索体验 |
list_experience_categories | 列出所有类别及体验数量 |
get_experience | 通过 UUID 获取某项体验的完整详情 |
discover_gardssalg | 按郡、市镇、生产者类型、附近距离、预订状态搜索 gårdssalg(农场直售)饮品生产者——也可通过 query 按名称查找。每行包含 id(用于预订的 provider_id) |
book_gardssalg | 向 gårdssalg 生产者提交待处理的预订请求(不会确认预订——由生产者回复)。接受 provider_query(生产者名称)而非 provider_id,并支持 requested_weekday 以防选错日期,因此一句话(«预订 10 月 20 日星期五 10 点在 X 处见面»)即可完成一次调用 |
示例
hva kan vi finne på i Troms om vinteren?
utendørsaktiviteter i Oslo for 4 personer
opplevelser som passer i regnvær i Bergen
hvalsafari Tromsø
familievennlige aktiviteter under 500 kr
hvilke typer opplevelser finnes i Norge?
book et besøk hos Fjordgard Bryggeri fredag 23. oktober kl. 10 for 4 personer
一句话预订(gårdssalg)
«预订 10 月 20 日星期五 10 点在 X 处见面»只需调用一次 book_gardssalg:
| 字段 | 值 |
|---|---|
provider_query | "X"——客人提到的生产者名称(或使用 discover_gardssalg 获取的 provider_id) |
slot_at | "2026-10-20T10:00"(Europe/Oslo) |
requested_weekday | "fredag"——如果 20 日不是星期五,工具会返回 weekday_mismatch:true 并提供最近的几个星期五,而不是预订错误日期 |
party_size、guest_name、guest_email | 人类客人本人的信息——请向他们询问,切勿自行编造 |
结果始终如实且明确:provider_not_found、provider_ambiguous(附上可提供给客人选择的候选项)、weekday_mismatch(附上建议)、paused(生产者尚未启用预订——包含个人资料链接)、outside_hours(使用 confirm_outside_hours:true 重试),或返回包含 booking_ref、解析后的 provider.navn 和 slot_at_local 的待处理请求。生产者会收到电子邮件通知,并确认、提议其他时间或拒绝——工具本身绝不会确认预订。
桥接程序会发送什么
除了每次调用的工具参数外,桥接程序还会通过两种方式向远程服务标识自身:MCP clientInfo(AI 客户端的名称和版本,格式为
" via opplevagent-mcp")以及格式为 opplevagent-mcp/<version> 的 User-Agent 标头。这些是
客户端统计信息,并非用于识别你的信息:不会发送账号、凭据或设备标识符。服务器会保留常规的 Web 请求日志(IP 地址和请求元数据),用于运维和防止滥用。
预订(gårdssalg)
book_gardssalg 无需登录,且受服务器速率限制。调用会将
客人的姓名和电子邮件地址发送到 opplevagent.no。请求会保持待处理状态,直到
生产者回复;工具不会确认预订。AI 客户端应在调用工具前获得客人的明确同意。
信任边界
每次桥接程序启动时,都会通过 HTTPS 从远程服务(https://opplevagent.no/mcp)获取工具列表、工具描述和服务指令。此软件包不会对这些内容进行固定或冻结,因此 AI 客户端看到的内容取决于远程服务当前提供的内容。
OPPLEVAGENT_URL 可覆盖远程 URL,而你或 AI 客户端提供的每个工具参数都会发送到该主机。请仅通过你信任的配置设置此变量。
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
OPPLEVAGENT_URL | https://opplevagent.no | 覆盖远程基础 URL(或完整的 /mcp URL) |
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。