@allratestoday/mcp-server 0.7.5 → 0.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -231,7 +231,7 @@ Current mid-market rate between two currencies.
231
231
  **Response (with a key):**
232
232
 
233
233
  ```json
234
- { "rate": 0.888889, "source": "interbank" }
234
+ { "rate": 0.888889, "source": "mid-market" }
235
235
  ```
236
236
 
237
237
  **Response (keyless — `USD` → `GBP`, not in the ECB table, so the Bank of England table answers):**
@@ -433,14 +433,14 @@ Self-issues an API key with 100 lifetime calls, valid 7 days, with no account an
433
433
 
434
434
  | Variable | Default | Required | Purpose |
435
435
  |---|---|---|---|
436
- | `ALLRATES_API_KEY` | — | no | Your API key, sent as `Authorization: Bearer`. Unset ⇒ keyless mode (see above); set ⇒ real-time rates and the historical tools. |
436
+ | `ALLRATES_API_KEY` | — | no | Your API key, sent as `Authorization: Bearer`. Unset ⇒ keyless mode (see above); set ⇒ real-time rates and multi-target lookups (the historical tools need a paid-plan key). |
437
437
  | `ALLRATES_BASE_URL` | `https://allratestoday.com/api` | no | Override for self-hosted or staging deployments. |
438
438
 
439
439
  Set these in your MCP client's config (in the `env` block) — not in your shell — because MCP servers are launched as subprocesses with isolated environments.
440
440
 
441
441
  ## 💳 Plans
442
442
 
443
- A free tier and paid plans are available — see [allratestoday.com/pricing](https://allratestoday.com/pricing) for current quotas. The free tier is 300 requests, lifetime (it never resets), and covers real-time rates, mid-market history and multi-target lookups. Dated official and reference-rate tables need a paid plan. The Official Rates plan covers official central-bank and tax-authority rates only (no market rates).
443
+ A free tier and paid plans are available — see [allratestoday.com/pricing](https://allratestoday.com/pricing) for current quotas. The free tier is 300 requests, lifetime (it never resets), and covers real-time rates and multi-target lookups. All history and dated rates — mid-market history, point-in-time lookups, dated official and reference-rate tables — need a paid plan (free and trial keys get `403 historical_requires_paid_plan`). The Official Rates plan covers official central-bank and tax-authority rates only (no market rates).
444
444
 
445
445
  ## 🛠️ Troubleshooting
446
446
 
@@ -449,6 +449,7 @@ A free tier and paid plans are available — see [allratestoday.com/pricing](htt
449
449
  | Client shows "MCP server failed to start" or red dot | Not a missing key — 0.5.0+ starts fine without one. Usually `npx` cannot reach the registry, or Node is older than 18 | Run `npx -y @allratestoday/mcp-server` in a shell and read stderr |
450
450
  | Rates look like yesterday's, response mentions "keyless mode" | No key set, so answers come from an official central-bank table (see `bank` and `rate_date`) | Set `ALLRATES_API_KEY` for real-time mid-market rates |
451
451
  | `No keyless official source covers X/Y` | Keyless mode, and no single central bank publishes that pair or its inverse | Set `ALLRATES_API_KEY` (free) |
452
+ | `HTTP 403 — Historical rates require a paid plan` | `get_historical_rates`, or `time` on `get_rates_authenticated`, on a free or trial key | Upgrade at /pricing — history is paid-only |
452
453
  | `HTTP 403 — Historical central bank rates require a paid plan` | `date` given to `get_official_rates` / `get_reference_rate` on a free key | Omit `date` for the latest table, or upgrade at /pricing |
453
454
  | Every call returns "Invalid AllRatesToday API key" | Key is malformed (missing prefix, truncated, or revoked) | Copy a fresh key from the dashboard |
454
455
  | Tools return "AllRatesToday API quota exceeded" | Quota used up — the free tier is 300 requests lifetime and never resets; paid plans are monthly | Upgrade at [/pricing](https://allratestoday.com/pricing) |
@@ -534,6 +535,7 @@ server.json # MCP registry manifest
534
535
 
535
536
  See [GitHub Releases](https://github.com/AllRates-Today/mcp-server/releases) for the full list. Recent highlights:
536
537
 
538
+ - **0.7.6** — Keyless `get_rates_authenticated` with `time` now says a paid plan is needed; README: free tier no longer listed as covering history, `source` example is `mid-market`
537
539
  - **0.7.4** — Keyless `get_exchange_rate` falls back from the ECB table to the central bank that issues the target or source currency (USD/GBP, GBP/JPY, USD/INR now answer keyless), same as the hosted endpoint; response adds `bank`. Dated-table errors say a paid plan is needed. README: real response shapes, tool counts, 300-lifetime free tier
538
540
  - **0.7.0** — `get_reference_rate` (Daily Reference Rate, 16:00 London, keyless latest table) and `request_trial_key` (self-issued 100-call trial key adopted for the session)
539
541
  - **0.6.1** — README: Claude Code plugin and hosted `/api/mcp` endpoint cross-links; coverage wording refreshed
@@ -551,6 +553,8 @@ See [GitHub Releases](https://github.com/AllRates-Today/mcp-server/releases) for
551
553
  - [MCP protocol docs](https://modelcontextprotocol.io)
552
554
  - [GitHub](https://github.com/AllRates-Today/mcp-server) · [Bug reports](https://github.com/AllRates-Today/mcp-server/issues)
553
555
  - Support: [support@allratestoday.com](mailto:support@allratestoday.com)
556
+ - [Dashboard](https://allratestoday.com/profile)
557
+ - [Status](https://allratestoday.com/status)
554
558
 
555
559
  ## 📜 License
556
560
 
package/dist/client.js CHANGED
@@ -195,7 +195,9 @@ export class AllRatesTodayClient {
195
195
  }
196
196
  getAuthenticatedRates(params) {
197
197
  if (this.keyless)
198
- return Promise.reject(new NeedsKeyError('Multi-target and point-in-time rates'));
198
+ return Promise.reject(params.time
199
+ ? new NeedsKeyError('Point-in-time rates', true)
200
+ : new NeedsKeyError('Multi-target rates'));
199
201
  return this.request('/v1/rates', params);
200
202
  }
201
203
  /** Every covered official source (121 central banks + 3 tax authorities). Keyless. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allratestoday/mcp-server",
3
- "version": "0.7.5",
3
+ "version": "0.7.7",
4
4
  "mcpName": "io.github.cahthuranag/mcp-server",
5
5
  "description": "MCP server for AllRatesToday — let AI coding tools (Claude Code, Cursor, Claude Desktop) fetch real-time and historical currency exchange rates.",
6
6
  "keywords": [
@@ -14,6 +14,7 @@
14
14
  "allratestoday",
15
15
  "exchangerate",
16
16
  "exchange rate",
17
+ "exchange rates",
17
18
  "currency-api",
18
19
  "currency-exchange-rates",
19
20
  "forex-api",