opplevagent-mcp について
opplevagent-mcpは、ノルウェーの体験やアクティビティを探すMCPサーバーです。旅行や外出の計画に向け、地域や条件でBrreg確認済みの情報を検索し、農場直売の生産者へ保留中の予約リクエストを送れます。
主な機能
- 01県やカテゴリーで体験を検索
- 02天候、季節、屋内外で絞り込み
- 03人数、年齢、価格、所要時間で絞り込み
- 04体験の詳細を取得
- 05農場直売の飲料生産者を検索
- 06生産者への予約リクエストを送信
活用シーン
- 01Tromsの冬のアクティビティ探し
- 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 | いいえ | 1人あたりの上限価格(ノルウェークローネ、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 ブリッジとして動作します。ツール、説明、指示、UI リソースは常にリモートサービスと一致するため、npm パッケージとリモートサーバーの内容にずれが生じず、自由入力の query は変更されずに discover_experiences に渡されます。リモートサーバーのレート制限が適用されます。
リモート(Streamable HTTP)
ChatGPT やその他のリモート MCP クライアントでは、この URL を直接貼り付けてください。
https://opplevagent.no/mcp
ツール
| ツール | 説明 |
|---|---|
discover_experiences | 県(fylke)、カテゴリ、天候、季節、屋内/屋外、グループの人数、年齢、価格、所要時間で体験を検索します |
list_experience_categories | 体験数とともにすべてのカテゴリを一覧表示します |
get_experience | UUID を指定して、1 件の体験の詳細を取得します |
discover_gardssalg | 県、自治体、生産者の種類、現在地からの距離、予約状況で gårdssalg(農場直売)の飲料生産者を検索します。または query で名前を指定して検索します。各行には予約に使用する provider_id である id が含まれます |
book_gardssalg | gårdssalg の生産者に予約リクエストを送信します。リクエストは保留中となり、生産者が返信します。provider_id の代わりに生産者名を指定する provider_query を受け付けます。また、曜日違いを防ぐ requested_weekday も指定できます。これにより、「X のところで 10 月 20 日金曜日の 10 時に面会を予約して」という一文を 1 回の呼び出しで処理できます |
例
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 のところで面会を予約して」は、1 回の 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 を含む保留中のリクエストです。生産者にはメールで通知され、予約を確定するか、別の時間を提案するか、辞退します。ツール自体が予約を確定することはありません。
ブリッジが送信する情報
各呼び出しのツール引数に加え、ブリッジは 2 つの方法でリモートサーバーに自身を識別します。MCP の clientInfo(AI クライアントの名前とバージョン。「 via opplevagent-mcp」)と、opplevagent-mcp/<version> 形式の User-Agent ヘッダーです。これはクライアント統計用であり、利用者を識別するものではありません。アカウント情報、認証情報、デバイス識別子は送信されません。サーバーは運用と不正利用防止のため、通常のウェブリクエストログ(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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。