Skip to main content
Glama
7nashinick

norwegian-data-mcp

get_exchange_rates

Read-only

Get daily NOK exchange rates from Norges Bank for ISO currency codes, normalized to NOK per unit over recent business days. Use it to check USD/NOK or how the krone moved against the euro.

Instructions

Daily NOK exchange rates from Norges Bank (the central bank). Pass ISO currency codes; every column is normalized to NOK per 1 unit of the currency, most recent periods business days. Use for 'USD/NOK rate', 'how has the krone moved against the euro'. For interest rates use get_key_series(series='interest_rates') instead. Example: currencies=['USD', 'EUR'], periods=30.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
periodsNoNumber of most recent business days
currenciesYesISO 4217 codes, e.g. ['USD', 'EUR', 'SEK', 'GBP']

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds real behavioral context beyond that: Norges Bank as source, daily business-day cadence, and the normalization convention (NOK per 1 unit). It omits rate limits and error behavior, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences, front-loading the resource and source, then configuration semantics, then routing, then an example. Every sentence carries distinct information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return structure need not be described, and the description still supplies the interpretation keys (normalization basis, business-day window) an agent needs. No gaps remain for a two-parameter read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema lacks: that `periods` counts business days and that all columns are normalized to NOK per one unit. The inline example with currencies=['USD','EUR'], periods=30 reinforces correct usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (daily NOK exchange rates), names the data source (Norges Bank), and explicitly distinguishes itself from the sibling get_key_series for interest rates. An agent can identify the tool without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete query patterns ('USD/NOK rate', 'how has the krone moved against the euro') and an explicit alternative with the parameter to use instead (get_key_series(series='interest_rates')). Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.