Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions tools/src/aden_tools/tools/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@

if TYPE_CHECKING:
from aden_tools.credentials import CredentialStoreAdapter

# ---------------------------------------------------------------------------
# Verified tools (stable, on main)
# ---------------------------------------------------------------------------
Expand All @@ -46,6 +45,7 @@
from .calendly_tool import register_tools as register_calendly
from .cloudinary_tool import register_tools as register_cloudinary
from .confluence_tool import register_tools as register_confluence
from .currency_exchange_tool import register_tools as register_currency_exchange
from .csv_tool import register_tools as register_csv
from .databricks_tool import register_tools as register_databricks
from .discord_tool import register_tools as register_discord
Expand Down Expand Up @@ -225,7 +225,6 @@ def _register_verified(

def _register_unverified(
mcp: FastMCP,
credentials: CredentialStoreAdapter | None = None,
) -> None:
"""Register unverified (new/community) tools."""
# --- No credentials ---
Expand All @@ -243,6 +242,7 @@ def _register_unverified(
register_intercom(mcp, credentials=credentials)
register_apollo(mcp, credentials=credentials)
register_brevo(mcp, credentials=credentials)
register_currency_exchange(mcp)
register_bigquery(mcp, credentials=credentials)
register_calcom(mcp, credentials=credentials)
register_razorpay(mcp, credentials=credentials)
Expand Down Expand Up @@ -324,3 +324,4 @@ def register_all_tools(


__all__ = ["register_all_tools"]

63 changes: 63 additions & 0 deletions tools/src/aden_tools/tools/currency_exchange_tool/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Currency Exchange Rate Tool

Fetch real-time currency exchange rates and convert amounts between
currencies using the [ExchangeRate-API](https://exchangerate-api.com).

## Setup

1. Go to [exchangerate-api.com](https://exchangerate-api.com)
2. Click **Get Free Key**
3. Sign up — no credit card required
4. Copy your **API Key** from the dashboard

Free tier includes 1,500 requests/month.

## Authentication

Set the following environment variable:
```bash
export EXCHANGERATE_API_KEY=your_api_key_here
```

## Available Tools

### `currency_exchange_get_rates`
Get latest exchange rates for a base currency.

| Argument | Type | Required | Description |
|----------|------|----------|-------------|
| base_currency | str | Yes | ISO 4217 code e.g. 'USD', 'EUR', 'INR' |

### `currency_exchange_convert`
Convert an amount from one currency to another.

| Argument | Type | Required | Description |
|----------|------|----------|-------------|
| from_currency | str | Yes | Source currency code e.g. 'USD' |
| to_currency | str | Yes | Target currency code e.g. 'INR' |
| amount | float | Yes | Amount to convert (must be > 0) |

### `currency_exchange_list_currencies`
List all ~160 supported currency codes and names. No arguments needed.

## Example Usage
```python
# Get all rates relative to USD
currency_exchange_get_rates(base_currency="USD")
# {"base_currency": "USD", "rates": {"EUR": 0.92, "INR": 83.5, ...}}

# Convert 100 USD to INR
currency_exchange_convert(from_currency="USD", to_currency="INR", amount=100)
# {"converted_amount": 8350.0, "exchange_rate": 83.5, ...}

# List all supported currencies
currency_exchange_list_currencies()
# {"count": 161, "currencies": [{"code": "USD", "name": "US Dollar"}, ...]}
```

## Use Cases

- Convert invoice amounts to client's local currency
- Monitor exchange rate changes and alert via Slack or Pushover
- Generate multi-currency financial reports
- Validate currency codes before processing payments
4 changes: 4 additions & 0 deletions tools/src/aden_tools/tools/currency_exchange_tool/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
"""Currency Exchange Rate tool package for Aden Tools."""
from .currency_exchange_tool import register_tools

__all__ = ["register_tools"]
Loading
Loading