Currency Agent MCP Server
MCP server for currency conversion with real-time exchange rates via the Frankfurter API. Enables agents to retrieve latest currency data and perform conversions.
README
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 list
Display the active Google Cloud project ID:
gcloud config list project
2. 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_ID
3. 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.com
Installation & Local Setup
This project requires Python 3.10+. Verify your Python version in Cloud Shell:
python3 --version
1. Clone the Repository
Clone the repository to your environment:
git clone https://github.com/jackwotherspoon/currency-agent.git
cd currency-agent
2. 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 | bash
To verify the installation in a new terminal, check the version and executable location:
uv --version
which uv
3. 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" >> .env
Verify that the .env file has been populated correctly:
cat .env
Running 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.py
2. 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.py
Deployment 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 .
[!IMPORTANT] The
--no-allow-unauthenticatedflag 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-central1
This 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.py
4. 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/latest - Sample Request:
GET https://api.frankfurter.dev/v2/latest?base=USD&symbols=INR,EUR
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.