mcp-azure-apim
by bmoussaud
Overview
Demonstrates exposing an existing REST API (Setlist.fm) as a Model-Context-Protocol (MCP) server using Azure API Management, consumable by various clients including AI agents and GitHub Copilot tools.
Installation
uvicorn src/python/mcp_server_auth_entra_id.py --host 0.0.0.0 --port 8000Environment Variables
- AZURE_TENANT_ID
- SETLISTAPI_SUBSCRIPTION_KEY
- SETLISTAPI_MCP_ENDPOINT
- FASTMCP_SERVER_APP_ID
- FASTMCP_SERVER_CLIENT_SECRET
- ENTRA_PROXY_MCP_SERVER_BASE_URL
- MCP_MSLEARN_GATEWAY_URL
- MCP_MSLEARN_CLIENT_ID
- MCP_MSLEARN_CLIENT_SECRET
- MCP_MSLEARN_TENANT_ID
- AZURE_AI_PROJECT_ENDPOINT
- AZURE_AI_MODEL_DEPLOYMENT_NAME
- AZURE_RESOURCE_GROUP
- APIM_NAME
- SUBSCRIPTION_ID
Security Notes
The project contains hardcoded API keys in `src/python/mcp_server_auth_entra_id.py` for the backend Setlist.fm API, and in `infra/main.parameters.json`. Additionally, secrets are embedded into generated configuration files (`.vscode/mcp.json`, `src/apim/setlistfm/mcp-policy-setlistfm-entra-id.xml`) via shell hooks. This practice significantly increases the risk of accidental exposure of sensitive credentials.
Similar Servers
AI-Gateway
The project serves as a collection of labs demonstrating AI Gateway capabilities with Azure API Management, focusing on Model Context Protocol (MCP) to enable plug-and-play tool integration for Large Language Models (LLMs).
spotify-mcp-server
Enables AI assistants to control Spotify playback and manage playlists via the Model Context Protocol (MCP).
mcp-servers
A curated collection of Model Context Protocol (MCP) server configurations to integrate various developer tools and services with AI agents.
spotify-streamable-mcp-server
Provides an LLM-friendly interface to control Spotify playback, search music, and manage playlists/saved songs, enabling voice control and smart-home automations.