Currency Agent MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Currency Agent MCP ServerConvert 100 USD to EUR"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Currency Agent
An AI agent implementation built on Google Cloud, featuring MCP (Model Context Protocol) for tool integration, ADK (Agent Development Kit) for orchestration, and A2A (Agent-to-Agent) protocol for inter-agent communication.
Setup & Google Cloud Configuration
1. Authenticate & Verify Project
Open the Cloud Shell and verify your active account:
gcloud auth listDisplay the active Google Cloud project ID:
gcloud config list project2. Configure Environment Variables
Export your Project ID to an environment variable and configure gcloud:
export PROJECT_ID="<YOUR_PROJECT_ID>"
gcloud config set project $PROJECT_ID3. Enable Required Google Cloud APIs
Enable all required Google Cloud service APIs for the project:
gcloud services enable \
cloudresourcemanager.googleapis.com \
servicenetworking.googleapis.com \
run.googleapis.com \
cloudbuild.googleapis.com \
artifactregistry.googleapis.com \
aiplatform.googleapis.com \
compute.googleapis.comRelated MCP server: FrankfurterMCP
Installation & Local Setup
This project requires Python 3.10+. Verify your Python version in Cloud Shell:
python3 --version1. Clone the Repository
Clone the repository to your environment:
git clone https://github.com/jackwotherspoon/currency-agent.git
cd currency-agent2. Install Dependency Manager (uv)
This project uses uv to manage Python dependencies. Install uv using the following curl command:
curl -LsSf https://astral.sh/uv/install.sh | bashTo verify the installation in a new terminal, check the version and executable location:
uv --version
which uv3. Configure Environment Variables
Create and configure your .env file to supply the necessary variables:
echo "GOOGLE_GEN_AI_USE_VERTEXAI=True" >> .env \
&& echo "GOOGLE_CLOUD_LOCATION=us-central1" >> .env \
&& echo "GOOGLE_CLOUD_PROJECT=$PROJECT_ID" >> .envVerify that the .env file has been populated correctly:
cat .envRunning and Testing the Server Locally
1. Start the MCP Server
Run the following command in your Cloud Shell terminal to start the server:
uv run mcp-server/server.py2. Test the MCP Server
Open a new Cloud Shell terminal and run the test script. This will query the server's API and output the result:
uv run mcp-server/test_server.pyDeployment to Google Cloud Run
To make the tool permanent, reliable, and benefit from automatic scaling, deploy the MCP server to Google Cloud Run.
1. Deploy the Service
Stop the local server and run the following deployment command from within the mcp-server directory:
gcloud run deploy mcp-server \
--no-allow-unauthenticated \
--region=us-central1 \
--source .The--no-allow-unauthenticated flag is critical for security. It ensures that only authorized accounts can access the deployed server.
2. Authenticate and Proxy Deployed Calls
To securely access and test the live Cloud Run service locally, start a local proxy tunnel:
gcloud run services proxy mcp-server --region=us-central1This establishes a secure tunnel between your local machine (or Cloud Shell) and the Cloud Run service.

3. Test the Deployed Service
With the proxy running, open a new Cloud Shell terminal and run the test script:
uv run mcp-server/test_server.py4. View Deployment Logs
To monitor the service and verify requests, stream the logs from the command line:
gcloud run services logs read mcp-server --region=us-central1 --limit=5
You are now ready to build and run agents interacting with your deployed tools!
External APIs & Data Sources
Currency Converter Endpoint
The agent utilizes the Frankfurter API for real-time exchange rates:
Endpoint:
https://api.frankfurter.dev/v2/latestSample Request:
GET https://api.frankfurter.dev/v2/latest?base=USD&symbols=INR,EUR
This server cannot be deployed
Maintenance
Related MCP Connectors
A MCP server for the Frankfurter API for currency exchange rates.
Frankfurter MCP — wraps Frankfurter API (api.frankfurter.dev)
Exchange MCP — wraps the Frankfurter currency exchange API (free, no auth)
Related MCP Servers
- FlicenseCqualityFmaintenanceAn MCP server providing real-time currency conversion and exchange rate data through the Frankfurter API, enabling users to convert currencies, fetch latest or historical rates, and list available currencies.436-
- AlicenseBqualityAmaintenanceA MCP server for the Frankfurter API for currency exchange rates.6259 PyPI6MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP (Multi-Agent Conversation Protocol) Server that provides an interface to the 1Forge financial APIs, allowing access to forex data and currency conversion services through natural language interactions.-
- FlicenseBqualityDmaintenanceAn MCP server that provides currency rates, conversions, and historical exchange-rate data using the Frankfurter API. It enables users to retrieve latest rates, convert amounts between currencies, and access time-series data for currency pairs.3-