1. Conduid
  2. AI
  3. On Azure
MCP server · AI

On Azure

Sample MCP Server on Azure that lists images from Blob Storage and describes them using Azure OpenAI (gpt-4o vision).

Unclaimed last commit a year ago enterprisemodel-context-protocolmcpcloudaiazure
44Fair

Scored 5 months ago · breakdown

About On Azure

On Azure is an MCP server published by OfekBenEliezer in the AI category: sample MCP Server on Azure that lists images from Blob Storage and describes them using Azure OpenAI (gpt-4o vision).

The repository has 6 stars and 3 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/OfekBenEliezer/mcp-on-azure

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about On Azure

Powered by Claude · Grounded in docs

I know everything about On Azure. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 11 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • !License declaredNo license file. Legally you have no right to use it in a product.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

MCP on Azure – Model Context Server that reads from Blob Storage and describes images with Azure OpenAI

Production-ready sample for running a minimal MCP Server on Azure. It exposes two tools:

  • list_captain_files – list all blob names in a container
  • describe_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.example for 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

README fetched from the repository 11 hours ago. The original is authoritative.

Questions

About On Azure

How do I install On Azure?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is On Azure safe to use with an AI agent?

Its trust score is 44 out of 100 (fair). It passes 3 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is On Azure still maintained?

The last commit was a year ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.