opplevagent-mcp
Server Details
Discover Norwegian experiences & activities by county, category, weather, season and price.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- slookisen/opplevagent-mcp
- GitHub Stars
- 0
- Server Listing
- opplevagent-mcp
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.5/5 across 4 of 4 tools scored.
Each tool targets a distinct domain or action: discover_experiences searches experiences, discover_gardssalg searches farm sales, get_experience retrieves experience details, and list_experience_categories lists categories. No overlap in purpose.
All tool names follow a consistent verb_noun pattern: discover_ for searches, get_ for single item retrieval, list_ for enumeration. The naming is uniform and predictable.
With 4 tools, the server is lean and focused. It covers essential search, detail, and category browsing for a niche marketplace without extraneous tools.
The tool surface covers search and detail for experiences, but lacks a dedicated tool to retrieve full details of a farm sale producer from discover_gardssalg results, leaving a minor gap.
Available Tools
4 toolsdiscover_experiencesDiscover Norwegian experiencesARead-onlyIdempotentInspect
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. Examples: 'hva kan vi finne på i Troms om vinteren?', 'outdoor activities in Oslo for 4 people', 'experiences within 50km of lat 69.65 / lng 18.95'.
| Name | Required | Description | Default |
|---|---|---|---|
| age | No | Age of the youngest participant. Filters out experiences with a minimum-age requirement above this. Example: 8 | |
| lat | No | Origin latitude for a near-me search (decimal degrees). Must be given together with lng. Example: 69.65 (Tromsø) | |
| lng | No | Origin longitude for a near-me search (decimal degrees). Must be given together with lat. Example: 18.95 (Tromsø) | |
| sort | No | 'distance' — sort results ascending by distance from lat/lng. Already the default whenever lat/lng are given; this makes the request explicit. | |
| fylke | No | Norwegian county (fylke). Examples: 'Oslo', 'Vestland', 'Troms', 'Rogaland' | |
| limit | No | Max results (default 20, max 50) | |
| season | No | Season filter. Examples: 'summer', 'winter', 'spring', 'autumn' | |
| kommune | No | Norwegian municipality (kommune). Examples: 'Tromsø', 'Bergen', 'Stavanger' | |
| weather | No | Weather suitability filter. 'rain'/'snow' prefers indoor + weather-independent experiences. Examples: 'rain', 'clear' | |
| category | No | Experience category slug. Examples: 'natur_friluft', 'dyreliv_safari', 'mat_drikke', 'vinter' | |
| language | No | Required language for the experience. Examples: 'no', 'en' | |
| max_price | No | Maximum price per person in Norwegian kroner (NOK). Example: 500 | |
| radius_km | No | Max distance from lat/lng in kilometers. Only applies when lat/lng are given. Example: 50 | |
| group_size | No | Number of people in the group. Used to filter experiences by min/max group capacity. Example: 4 | |
| duration_max | No | Maximum duration in minutes. Example: 120 (2 hours) | |
| indoor_outdoor | No | Indoor/outdoor preference. Examples: 'indoor', 'outdoor', 'both' |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds valuable behavioral details: only verified providers (Brreg-checked), geo-precision flag for near-me searches, distance rounding, and default sorting. No contradictions; the description enhances transparency beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is slightly long but well-structured: main purpose first, then filter list, then near-me specifics, return fields, examples. Every sentence serves a purpose, and front-loading key information helps agents quickly grasp the tool's scope. Minor redundancy (Norwegian/English filter names) is acceptable for completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 16 parameters and no output schema, the description covers filters, near-me search, return fields, and provider verification. It includes examples and default limit. Missing details like pagination or default sort order (beyond near-me) are minor; overall, agents have sufficient context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for all 16 parameters. The description adds meaning by grouping filters (e.g., fylke, kategori, vær, sesong) and explaining near-me search behavior (lat/lng, radius_km, geo_precision). This goes beyond the schema's individual parameter descriptions, significantly aiding an AI agent in understanding parameter interplay.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Search the opplevagent.no curated marketplace of Norwegian experiences and activities,' providing a specific verb (search) and resource. It distinguishes from siblings: get_experience (single experience) and list_experience_categories (categories only), making the tool's purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete examples and indicates broad search capabilities (natural language, filters, near-me). While it doesn't explicitly state when not to use or compare to siblings, the examples and context imply appropriate scenarios, earning a high score with minor room for explicit exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_gardssalgDiscover Norwegian farm-sale drink producers (gårdssalg)ARead-onlyIdempotentInspect
Search opplevagent.no's gårdssalg (farm-sale) vertical — Brreg-registered Norwegian drink producers (bryggeri/cideri/vingård/destilleri/mjøderi/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 name, location, producer type, and an honest booking status (live direct booking vs. a dark-launch 'coming soon' note — never overclaims booking availability). Examples: 'gårdssalg i Vestland', 'cideri near lat 60.4 / lng 5.3', 'bryggeri med booking'.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Origin latitude for a near-me search (decimal degrees). Must be given together with lng. Example: 69.65 (Tromsø) | |
| lng | No | Origin longitude for a near-me search (decimal degrees). Must be given together with lat. Example: 18.95 (Tromsø) | |
| fylke | No | Norwegian county (fylke) of the producer. Examples: 'Oslo', 'Vestland', 'Troms', 'Rogaland' | |
| limit | No | Max results (default 20, max 50) | |
| kommune | No | Norwegian municipality (kommune) of the producer. Examples: 'Tromsø', 'Bergen', 'Stavanger' | |
| radius_km | No | Max distance from lat/lng in kilometers. Only applies when lat/lng are given. Example: 50 | |
| booking_live | No | When true, only return producers that currently accept direct bookings. Omit to include producers regardless of booking status. | |
| producer_type | No | Type of drink producer. Examples: 'bryggeri' (brewery), 'cideri' (cidery), 'vingård' (vineyard), 'destilleri' (distillery), 'mjøderi' (meadery), 'seltzeri' |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds behavioral details beyond annotations: near-me search excludes ungeocoded rows, distance is rounded and never fabricated, booking status is honest (live vs. coming soon). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is relatively long but well-structured: English explanation, Norwegian summary, then examples. Each sentence adds value, though slight verbosity prevents a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description lists return fields (name, location, producer type, booking status) and explains near-me behavior. Covers all key aspects for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-documented. The description adds context: lat/lng required together, radius_km only with lat/lng, booking_live filter effect. Examples enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches for Norwegian farm-sale drink producers on opplevagent.no, specifying the data source (Brreg-registered) and filtering capabilities. It distinguishes from sibling tools (discover_experiences, etc.) by focusing on drink producers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides examples and explains when to use near-me search, filters, and booking status. It doesn't explicitly state when not to use it or mention alternatives, but the context is clear given sibling tools are unrelated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_experienceGet full details for a Norwegian experienceARead-onlyIdempotentInspect
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID of the experience to fetch. Example: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890' |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds detail about the rich return fields (title, description, category, etc.), which is consistent. No contradictions, but doesn't mention potential network delays.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a bilingual intro. Front-loaded with main action. The Norwegian duplicate adds slight redundancy but overall concise and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter, no output schema, and annotations covering safety, the description fully covers what the tool does, what it returns, how to obtain the UUID, and provides an example. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 100% for the single 'id' parameter. The description adds context with an example UUID and ties it to discover_experiences, enhancing understanding beyond the schema's format description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches complete details for a single experience by UUID. It distinguishes from sibling tools (discover_experiences, list_experience_categories) by focusing on a single item, not discovery or categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use: 'Obtain the UUID from discover_experiences results.' This directly connects to the sibling tool and provides clear guidance on prerequisite data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_experience_categoriesList Norwegian experience categoriesARead-onlyIdempotentInspect
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?'.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly and idempotent. Description adds that it returns categories with counts, providing minor behavioral detail beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description includes both English and Norwegian text, which is somewhat redundant. However, it is brief and front-loaded with the main action in the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless list operation with no output schema, the description adequately explains return content (categories with counts) and usage context. Minor missing details like sorting or pagination are acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters; schema coverage is 100% and description does not need to add parameter semantics. Baseline score of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all experience categories with verified experience counts, distinguishing it from siblings by advising usage before calling discover_experiences with a filter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using this tool to understand available categories before filtering with discover_experiences. Includes example questions. Lacks explicit when-not-to-use, but sibling context makes it sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Your Connectors
Sign in to create a connector for this server.