Back to Home
bmoussaud icon

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

Run Command
uvicorn src/python/mcp_server_auth_entra_id.py --host 0.0.0.0 --port 8000

Environment 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

Stats

Interest Score33
Security Score4
Cost ClassMedium
Avg Tokens500
Stars3
Forks5
Last Update2026-01-14

Tags

Azure APIMMCPAI AgentsSetlist.fmOAuth2