Frankfurter MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | The level for logging. Changing this level also affects the log output of other dependent libraries that may use the same environment variable. See valid values at Python logging documentation. | INFO |
| SSL_CERT_DIR | No | Can be configured to use self-signed certificates of hosted API endpoint or intermediate HTTP(S) proxy server(s). | |
| FAST_MCP_HOST | No | This variable specifies which host the MCP server must bind to unless the server transport is set to stdio. | localhost |
| FAST_MCP_PORT | No | This variable specifies which port the MCP server must listen on unless the server transport is set to stdio. | 8000 |
| HTTPX_TIMEOUT | No | The time for the underlying HTTP client to wait, in seconds, for a response from the Frankfurter API. | 5.0 |
| SSL_CERT_FILE | No | Can be configured to use self-signed certificates of hosted API endpoint or intermediate HTTP(S) proxy server(s). | |
| HTTPX_VERIFY_SSL | No | This variable can be set to False to turn off SSL certificate verification, if, for instance, you are using a proxy server with a self-signed certificate. However, setting this to False is advised against: instead, use the SSL_CERT_FILE and SSL_CERT_DIR variables to properly configure self-signed certificates. | True |
| FRANKFURTER_API_URL | No | If you are self-hosting the Frankfurter API, you should change this to the API endpoint address of your deployment. | https://api.frankfurter.dev/v1 |
| MCP_SERVER_TRANSPORT | No | The acceptable options are stdio, sse or streamable-http. | stdio |
| MCP_SERVER_INCLUDE_METADATA_IN_RESPONSE | No | This specifies if additional metadata will be included with the MCP type TextContent that wraps the response data from each tool call. The additional metadata, for example, will include the API URL of the Frankfurter server, amongst others, that is used to obtain the responses. | True |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_supported_currenciesB | Returns a list of three-letter currency codes for the supported currencies. |
| get_latest_exchange_ratesB | Returns the latest exchange rates for specific currencies. The symbols can be used to filter the results to specific currencies. If symbols is not provided, all supported currencies will be returned. |
| convert_currency_latestB | Converts an amount from one currency to another using the latest exchange rates. |
| get_historical_exchange_ratesA | Returns historical exchange rates for a specific date or date range. If the exchange rates for a specified date is not available, the rates available for the closest date before the specified date will be provided. Either a specific date, a start date, or a date range must be provided. The symbols can be used to filter the results to specific currencies. If symbols are not provided, all supported currencies will be returned. |
| convert_currency_specific_dateA | Convert an amount from one currency to another using the exchange rates for a specific date. If there is no exchange rate available for the specific date, the rate for the closest available date before the specified date will be used. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Every tool has a clearly distinct purpose with no ambiguity. convert_currency_latest and convert_currency_specific_date handle currency conversion with different time contexts, while get_historical_exchange_rates, get_latest_exchange_rates, and get_supported_currencies provide different types of exchange rate data and metadata. The descriptions clearly differentiate their functions.
All tools follow a consistent verb_noun pattern with snake_case naming throughout. The naming convention is predictable and readable, with clear action-object relationships (e.g., convert_currency, get_exchange_rates, get_supported_currencies).
With 5 tools, this server is well-scoped for a currency exchange rate service. Each tool earns its place by covering distinct aspects of the domain: currency conversion (two variants), exchange rate retrieval (historical and latest), and currency metadata. This is an appropriate number for the purpose.
The tool surface provides complete coverage for a currency exchange rate API. It includes conversion operations (with time flexibility), data retrieval (historical and current), and metadata (supported currencies). There are no obvious gaps—agents can perform all expected currency exchange workflows without dead ends.