On Azure
FreeNot checkedEnables listing image blobs from Azure Blob Storage and generating descriptions using Azure OpenAI's gpt-4o vision model.
About
Enables listing image blobs from Azure Blob Storage and generating descriptions using Azure OpenAI's gpt-4o vision model.
README
Production-ready sample for running a minimal MCP Server on Azure. It exposes two tools:
list_captain_files– list all blob names in a containerdescribe_blob– generate a short description for an image blob using Azure OpenAI (gpt-4o)
✨ What you get
- A minimal MCP Server built with Express.js.
- Secure access to Azure Blob Storage using a connection string.
- Server-side calls to Azure OpenAI vision models for image description.
- Example
.env.examplefor easy setup. - PowerShell & cURL commands for quick testing.
🧱 Architecture
flowchart TD
A[MCP Client] -->|HTTP| B[MCP Server]
B -->|List/Fetch| C[Azure Blob Storage]
B -->|Send image| D[Azure OpenAI gpt-4o Vision]
D -->|Description| B
B -->|JSON Response| A
MCP Client (Copilot, Inspector, etc.) sends HTTP requests.
This Server (Express.js) handles /tools endpoints.
Server fetches the file from Azure Blob Storage.
Sends it to Azure OpenAI GPT-4o for a short, clear description.
📦 Prerequisites
- Node.js 18+ (or 20/22)
- Azure Storage Account with a container (e.g.,
captain-azure) containing images - Azure OpenAI resource with a gpt-4o deployment
- Access keys & endpoint for both services
🔐 Environment Variables (.env)
AZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=https;AccountName=<name>;AccountKey=<key>;EndpointSuffix=core.windows.net
CONTAINER_NAME=captain-azure
AZURE_OPENAI_ENDPOINT=https://<your-openai>.openai.azure.com
AZURE_OPENAI_KEY=<your-openai-key>
AZURE_OPENAI_DEPLOYMENT_NAME=gpt-4o
AZURE_OPENAI_API_VERSION=2024-02-15-preview
🚀 Install & Run
git clone https://github.com/OfekBenEliezer/mcp-on-azure.git
cd mcp-on-azure
npm install
node server.js
# MCP Server running on: http://localhost:3333
📂 List blobs
PowerShell
Invoke-RestMethod -Uri "http://localhost:3333/tools/list_captain_files" `
-Method Post `
-ContentType "application/json"
cURL
curl -s -X POST http://localhost:3333/tools/list_captain_files \
-H "Content-Type: application/json"
🖼 Describe a blob
PowerShell
Invoke-RestMethod -Uri "http://localhost:3333/tools/describe_blob" `
-Method Post `
-Body (@{ blobName = "CertWebinar.png" } | ConvertTo-Json) `
-ContentType "application/json"
cURL
curl -s -X POST http://localhost:3333/tools/describe_blob \
-H "Content-Type: application/json" \
-d '{"blobName":"CertWebinar.png"}'
Expected output
{
"description": "A short, clear sentence describing the image."
}
🛡️ Security Notes
- Never commit keys or secrets.
- If blobs are private, generate SAS URLs with short TTL.
- Restrict CORS and ingress when running in production.
- For enterprise scenarios, prefer Managed Identity over raw keys.
📜 License
MIT License – free to use, modify, and distribute with attribution.
👨✈️ Built by Captain Azure – Ofek Ben Eliezer
Installing On Azure
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/OfekBenEliezer/mcp-on-azureFAQ
Is On Azure MCP free?
Yes, On Azure MCP is free — one-click install via Unyly at no cost.
Does On Azure need an API key?
No, On Azure runs without API keys or environment variables.
Is On Azure hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install On Azure in Claude Desktop, Claude Code or Cursor?
Open On Azure on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
ARA
Generate images, video and audio from any AI agent — one connector.
by ARAOmni Video
An MCP server that transforms LLM-enabled IDEs into professional video editors by pre-processing footage into text proxies, generating motion graphics via HTML/
by buildwithtazaYouTube
Transcripts, channel stats, search
by YouTubeEverArt
AI image generation using various models.
by modelcontextprotocolgpu-bridge/mcp-server
GPU inference API for LLMs, image and video generation, TTS, Whisper, embeddings, reranking and OCR, paid per use via x402 or an API key.
by gpu-bridgemerterbak/Grok-MCP
Access xAI's Grok API with agentic tool calling, image generation, vision and file support.
by merterbakSureScaleAI/openai-gpt-image-mcp
Image generation and editing with OpenAI's GPT image models.
by SureScaleAIYangLiangwei/PersonalizationMCP
Aggregate personal data from Steam, YouTube, Bilibili, Spotify, Reddit and other gaming, music, video and social platforms, with OAuth2 and token management.
by YangLiangweiAceDataCloud/MCPFlux
Flux image generation and editing from Black Forest Labs via the Ace Data Cloud API.
by AceDataCloudAceDataCloud/MCPNanoBanana
Nano Banana image generation and editing, including virtual try-on and product placement in realistic scenes.
by AceDataCloudCompare On Azure with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All media MCPs
