Provides a server implementation using FastAPI to handle MCP requests via SSE transport with API key authentication
Azure Container Apps remote MCP server example
This MCP server uses SSE transport and is authenticated with an API key.
Running locally
Prerequisites:
Python 3.11 or later
Run the server locally:
uv venv
uv sync
# linux/macOS
export API_KEYS=<AN_API_KEY>
# windows
set API_KEYS=<AN_API_KEY>
uv run fastapi dev main.py
VS Code MCP configuration (mcp.json):
{
"inputs": [
{
"type": "promptString",
"id": "weather-api-key",
"description": "Weather API Key",
"password": true
}
],
"servers": {
"weather-sse": {
"type": "sse",
"url": "http://localhost:8000/sse",
"headers": {
"x-api-key": "${input:weather-api-key}"
}
}
}
}
Related MCP server: FastAPI MCP SSE
Deploy to Azure Container Apps
az containerapp up -g <RESOURCE_GROUP_NAME> -n weather-mcp --environment mcp -l westus --env-vars API_KEYS=<AN_API_KEY> --source .
If the deployment is successful, the Azure CLI returns the URL of the app. You can use this URL to connect to the server from Visual Studio Code.
If the deployment fails, try again after updating the CLI and the Azure Container Apps extension:
az upgrade
az extension add -n containerapp --upgrade