mcpField
R
ronfix

ronfix

ローカル
github.com/CloudCorpRecords金融データ01 週間前に更新

ronfix について

ronfixは、ルーマニア国立銀行のレウ参考レートを提供するキー不要のMCPサーバー兼CLIです。2005年以降の日付を扱い、浮動小数点数ではなく正確な十進演算で換算や履歴系列を処理します。

主な機能

  1. 01日付を指定したレート照会
  2. 02RONとの金額換算
  3. 03過去のレート系列の取得
  4. 04ANAF方式の年平均算出
  5. 05正確な十進演算と丸め

活用シーン

  1. 01過去の日付のBNRレート確認
  2. 02参考レートを使った金額換算
  3. 03期間内の通貨フィキシングの確認
  4. 04ANAF向け年平均の算出

MCP 対応

stdio MCPでBNR参考レート、換算、履歴系列、年平均、サービス状態のツールを公開します。BNRの公開XMLファイルを読み取り、キーやアカウントは不要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-ronfix": {
"command": "npx",
"args": [
"-y",
"@reneturcios/ronfix"
]
}
}
}
起動コマンドnpx -y @reneturcios/ronfix

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/ronfix0.1.0
ocighcr.io/cloudcorprecords/ronfix:0.1.0

ツール

5

掲載時のツール一覧 · 1 週間前に更新

このツールにパラメーターはありません。

詳細

ronfix

ルーマニア・レウの参考レートを、情報源から直接取得します。 ronfix は、ルーマニア国立銀行(BNR)が公開する日次参考レートを記載した静的 XML ファイルを利用する、小規模なキー不要のクライアントです。2005 年以降の任意の日付について、これらのファイルで確認できる内容に答えます。指定日の適用レート、そのレートで RON に換算した金額または RON から換算した金額、一定期間における通貨のレート推移、そして ANAF の計算方法による年間平均を確認できます。

すべての数値は正確な十進数として扱います。レートは BNR が公開した表記(4.2440。4.244 ではありません)のまま保持し、金額は記載された文字列のまま計算に使用し、各結果は指定した規則に従って一度だけ丸めます。浮動小数点数に変換することはありません。

ツール

  • health — BNR が応答するかどうかを確認します。最新レートの日付と、そのレートに含まれる通貨数を返し、レートが 5 日以上前のものなら警告します。
  • rate — 指定日の適用レート(デフォルトは今日)を返します。週末、祝日、またはブカレスト時間で約 13:00 のレート公表前の今日については、それ以前の最新レートを使用します。これには、1 月上旬における 12 月の最終レートも含まれます。回答には、BNR が公表したとおりの正確なレート、その multiplier、および published_on としてレートの日付が含まれます。レート公表前に今日のレートを問い合わせた場合は、その旨を示す note も含まれます。
  • convert — 指定日の適用レートで、金額(十進数の文字列)を RON に、または RON から換算します。currency のみを指定して通貨ペアを指定する場合(金額はその通貨、結果は RON)、または from/to で明示的に指定します。places(0~8。デフォルトは 2)と rounding(デフォルトは half-up、または half-even)で一度だけ行う丸めを制御します。rate_rule では in_force(デフォルト)または last_before(指定日より前の最終レート)を選択します。回答にはレート、その multiplier と日付、および次のような meaning の行が含まれます。「100 EUR = 509.10 RON at BNR's EUR rate 5.0910 RON for 1 EUR, published on 2026-10-16 (in force on 2026-10-16), rounded half-up to 2 places」。計算例:10000 HUF を 100 あたり 1.2354 のレートで換算すると 123.54 RON です。
  • rates — 通貨ごとに 1 つの時系列を返します(currencies で最大 50 通貨を指定するか、BNR が公開したすべての通貨を指定できます)。各時系列には multiplier と、古い順に並んだレートが含まれます。date(または今日を対象とする場合は指定なし)を指定すると、その日の適用レート 1 件を、そのレートの日付とともに返します。from と to(デフォルトは今日)を指定すると、期間内のすべてのレートを両端の日付を含めて返します。BNR が公開していても期間内に含まれない通貨は absent に一覧表示されます。期間内にレートが 1 件もない場合は、時系列を返さず、その旨を示す note を返します。
  • annual_average — ANAF の方法による年間平均を返します。BNR の月間平均 12 件(各月の日次レートの平均)の平均値を計算し、それぞれの平均を四捨五入(half up)で 4 桁に一度だけ丸めます。月間平均と各月の日数も含まれます。まだ終了していない年については、それまでの月を返し、complete: false とします。参考値:USD の平均は 2022 年が 4.6885、2023 年が 4.5743、EUR の平均は 2022 年が 4.9315 です。

知っておくと便利な動作

  • レートは RON の通貨単位あたり、または HUF、JPY、KRW など一部通貨では 100 通貨単位あたり(multiplier)です。換算時はそれに応じて除算または乗算します。
  • データ取得元は BNR の公開 XML(curs.bnr.ro)です。最新レートには /nbrfxrates.xml、年間全体のデータには /files/xml/years/nbrfxrates<year>.xml を使用します。5xx、429、または接続切断が発生した場合、リクエストを最大 3 回試行します。過去の年のファイルはプロセスごとに一度取得し、当年のファイルと最新レートは 10 分間保持します。ホストのタイムゾーンにかかわらず、日付はブカレストの日付です。
  • 制限:対象は 2005 年以降の BNR 参考レートのみです。クロスレートには対応していません(換算の一方は RON です)。期間は最大 366 日、レート数は最大 2,000 件です。

エラー

失敗は、メッセージの先頭にある次の4つのクラスのいずれかで示されます。

  • input — 質問どおりには回答できず、データも取得されていません。今日より後または2005年より前の日付、366日または2,000レートを超える期間、あるいはRONを含まない換算が該当します。メッセージで該当する内容が示されます。
  • not_found — BNRがその通貨を公開していない場合(「BNR publishes no ... rate here; it publishes ...」と表示され、公開している通貨が列挙されます)、またはその年のレートファイルがまだない場合です。
  • api — 再試行後もBNRのサーバーから応答がありませんでした。
  • drift — BNRからレートXML以外のもの(古いwww.bnr.roのアドレスはステータス200でHTMLを返します)、単純な10進数ではないレート、または年平均の同じ月内での倍率変更が返されました。年平均の月をまたいだ倍率変更の場合は、代わりにwarningが返されます。

CLI

各ツールは、1つのJSON引数文字列を受け取るサブコマンドです。

npx @reneturcios/ronfix health '{}'
npx @reneturcios/ronfix rate '{"currency":"EUR","date":"2026-10-16"}'
npx @reneturcios/ronfix convert '{"amount":"10000","currency":"HUF"}'
npx @reneturcios/ronfix rates '{"currencies":["EUR","USD"],"from":"2026-10-01","to":"2026-10-16"}'
npx @reneturcios/ronfix annual_average '{"currency":"USD","year":2022}'
npx @reneturcios/ronfix --version

出力は、ツールの結果をJSON形式で返します。終了コードは次のとおりです。 0は成功、1は実行時エラー、2は使用方法のエラーです。

MCP サーバー

npx -y @reneturcios/ronfix mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "ronfix": {
      "command": "npx",
      "args": ["-y", "@reneturcios/ronfix", "mcp"]
    }
  }
}

キーやアカウントは不要です。サーバーはBNRの公開ファイルのみを読み取ります。

Docker

docker run -i ghcr.io/cloudcorprecords/ronfix
docker run --rm ghcr.io/cloudcorprecords/ronfix rate '{"currency":"EUR"}'

開発

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev     # run the CLI from source

ライセンス

MIT — Copyright (c) 2026 Rene Turcios

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。