Read more of this story at Slashdot.
Read more of this story at Slashdot.
Continuing from the earlier article of Hosting Remote MCP Server on Azure Container Apps (ACA) using SSE transport mechanism
This blog showcases the Hosting Remote MCP Servers on Azure Container Apps (ACA) as HTTP type transport.
The Model Context Protocol (MCP) has revolutionized how AI assistants interact with external tools and data sources. While many examples focus on local implementations using stdio transport, this post demonstrates how to build and deploy a production-ready MCP server using HTTP transport in Azure Container Apps.
In this article, we create a live forex converter that fetches real-time exchange rates from external APIs, showcasing how MCP servers can integrate with third-party services to provide dynamic, up-to-date information to AI assistants.
MCP supports multiple transport mechanisms, with HTTP being ideal for cloud deployments:
HTTP transport enables:
Follow the steps to clone the code on your local machine and test the server locally
# Clone the repository git clone https://github.com/deepganguly/azure-container-apps-mcp-sample.git # Navigate to the project directory cd azure-container-apps-mcp-sample # Install dependencies npm install # Test Locally, Run the MCP server npm start # Test the server (in another terminal) curl -X POST http://localhost:3001/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'The `server.js` (checkout the file from the above repository for more details) fetches live forex exchange rates from a Third-Party API and servers as live price converter for any requests. It performs the following functions
1. Exchange Rate Management
2. Exchange Rate Management
// Fetch live exchange rates from exchangerate-api.com (free, no API key needed) async function getLiveRates() { try { // Check cache first if (ratesCache && cacheTimestamp && (Date.now() - cacheTimestamp) < CACHE_DURATION) { return ratesCache; } console.log('Fetching live exchange rates...'); const response = await fetch('https://api.exchangerate-api.com/v4/latest/USD'); const data = await response.json()
3. Currency Conversion Logic
4. Response Formatting
The code can be deployed with the following commands. Also, check out the main.bicep file provided in the repository for quick one step deployment
# Clone the repository git clone https://github.com/deepganguly/azure-container-apps-mcp-sample.git #Login to Azure az login # Create resource group az group create --name mcp-live-rates-rg --location eastus # Create Container App environment az containerapp env create --name mcp-forex-env --resource-group mcp-live-rates-rg --location eastus # Deploy container app az containerapp up --name mcp-live-forex-server --resource-group mcp-live-rates-rg --environment mcp-forex-env --source . --target-port 3001 --ingress externalFollowing picture showcases the Add Server configuration from the mcp.json file and the follow up conversation for the exchange rates
In this article we see the approach that enables to run serverless functions in a fully managed, scalable container environment, leveraging the flexibility of containers and the power of Azure Container Apps. You can now monitor, scale, and update your app easily using Azure tools and CLI.
Building a specification is not just a one-and-done affair - you can use the same content to test multiple implementation variants and see which one fits your preferences. This is a nice hidden superpower of spec-driven development - you're not constrained to just one technical version of a feature or project. The same spec can be used to produce multiple iterations.
😺 GitHub repo: https://github.com/github/spec-kit
✍️ Blog post: https://github.blog/ai-and-ml/generative-ai/spec-driven-development-with-ai-get-started-with-a-new-open-source-toolkit/
📚 Additional details: https://devblogs.microsoft.com/blog/spec-driven-development-spec-kit
⛰️ HawaiiDiff (demo project in video): https://hawaiidiff.com
Brand-new Spec Kit documentation: https://github.github.io/spec-kit/
For more videos:
📽️ Under the hood of Spec Kit: https://youtu.be/o6SYjY1Bkzo
📽️ Overview of Spec Kit: https://youtu.be/a9eR1xsfvHg
📽️ Building a MCP registry tracker with Spec Kit: https://youtu.be/pBJYq3BE7tc
📽️ Improvements in GitHub Spec Kit: https://youtu.be/Wg-29qf8zR4
📽️ GitHub Spec Kit supporting all major agents: https://youtu.be/1HnTGc7tHE4
📽️ Analyzing and clarifying with Spec Kit: https://youtu.be/YD66SBpJY2M
📽️ Using GitHub Spec Kit for existing projects: https://youtu.be/SGHIQTsPzuY
📽️ Using GitHub Spec Kit with GitHub Copilot CLI: https://youtu.be/7tjmA_0pl2c
📽️ Answering your Spec Kit questions: https://youtu.be/OFow2aTnqB8
📽️ Checklists in GitHub Spec Kit: https://youtu.be/zTiLF3-BvGs
#engineering #github #speckit #opensource #technology