1. Why another protocol?
If GPT-4 was the brain, and Azure AI Foundry is the nervous system, MCP is the USB-C port: a tiny, universal socket that lets your agent grab new super-powers from anywhere on the internet. That was Microsoft’s sound-bite at Build 2025, where it joined the MCP steering committee and pledged first-party support across GitHub, Copilot, Dynamics 365, Windows 11 and now Azure AI Foundry.
Until now, Foundry agents could only call the built-in tools Microsoft shipped—or whatever you wrapped in a custom function. MCP smashes that wall: any service that speaks the open-source Model Context Protocol can be wired in with two parameters and zero code changes.

2. What exactly is MCP?
- Open standard (Apache 2.0) that describes how LLM hosts discover, describe, and safely invoke external tools.
- JSON-RPC 2.0 over your choice of transport (STDIO, SSE, WebSockets, HTTP/2).
- Client-server topology:
- MCP host = your agent
- MCP server = a lightweight process exposing one or more “tools” (functions with a JSON schema)
- MCP client = a connector that brokers messages between them.
Think “function calling on steroids”—multi-call chains, streaming arguments, and granular permission scopes baked in.
3. New in Azure AI Foundry (27 Jun 2025)
Capability | Details |
---|---|
MCP tool type | Add {"type":"mcp"} to an agent; one entry per remote server. |
Bring your own server | Point to any MCP endpoint—GitHub, Morningstar, Neo4j, internal micro-service, you name it. |
Custom headers | Pass API keys or OAuth tokens at run time via tool_resources.headers . |
No approval prompts | Preview supports require_approval: "never" only, so review endpoints carefully. |
Supported regions | westus , westus2 , uaenorth , southindia , switzerlandnorth . |
SDK parity | Works today in REST, Python, .NET, and JavaScript SDKs. |
4. Five-minute Quick-Start
- Spin up (or reuse) a Foundry agent bashCopyEdit
az foundry agent create \ --name my-agent \ --resource-group rg-demo \ --project standard
- Register your first MCP server (e.g., GitHub) jsoncCopyEdit
# PATCH body for agent update { "tools": [ { "type": "mcp", "server_url": "https://api.githubcopilot.com/mcp/", "server_label": "github", "require_approval": "never" } ] }
- Invoke a run and pass auth headers jsoncCopyEdit
POST /agents/my-agent/runs { "tool_resources": { "tool_label": "github", "headers": { "Authorization": "Bearer <gh-token>" } }, "messages": [ {"role":"user","content":"Create a PR on repo contoso/api that bumps AI SDK to 3.0"} ] }
- Watch the magic – the agent calls the GitHub MCP server, triggers the Pull Request, then replies with a link—all in one chat turn.
(Full payload samples live in the docs sandbox.) learn.microsoft.com
5. Security & governance checklist
- Treat the server as untrusted code → only use endpoints you own or vendors you’ve vetted.
- Log everything → headers are ephemeral but payloads could still contain sensitive data.
- Network boundaries → lock servers behind VNet + Private Link where possible.
- Least-privilege tokens → scope API keys to the smallest set of actions the tool needs.
Microsoft’s preview docs hammer these points precisely because all traffic ultimately leaves Azure’s boundary.
6. Early use-cases we’re seeing
Scenario | Example MCP server |
---|---|
Vector search RAG | https://embeddings.acme.ai/mcp exposes similarity_search against your private PGVector index. |
Finance analytics | Morningstar-MCP returns getFinancials(ticker,period) for real-time ratios. |
DevOps copilots | GitHub or Azure DevOps MCP servers manage PRs, pipelines, issue triage. |
Knowledge graphs | A Neo4j MCP server surfaces Cypher queries as tools—agents reason over graph data effortlessly. |
The beauty: you can chain multiple servers in one agent, fusing data from GitHub and Morningstar in a single answer without writing orchestration code.
7. Current limitations & roadmap clues
- Approval workflows – no “first-call consent” yet, expect UI / policy hooks later in preview.
- Latency – first call includes schema discovery; cache results for P99 improvements.
- GUI tooling – Visual Studio Code extension shows MCP servers in the tree view but lacks click-to-add wizard (on the backlog according to internal demo at Build).
Microsoft’s pattern is clear: ship raw API first, then layer polished UX, so jump in early if you want feedback influence.
8. Where to dig deeper
- Docs: Connect to MCP Servers (Preview) in Learn.
- Spec: <modelcontextprotocol.io> (open governance on GitHub).
- Sample code: Tech Community blog post with a Chainlit + Azure OpenAI end-to-end repo.
- Community:
#mcp
channel in the Azure AI Discord.
Final thoughts
The MCP tool turns Azure AI Foundry into a genuine agent platform, not just a chat wrapper. By externalising “skills” as network-addressable modules, teams can ship tiny, domain-specific services and let agents compose them on demand—much like micro-services revolutionised backend design a decade ago.
If you’ve been mapping out complicated function-calling glue code, rip it out, give MCP a spin, and tell us what you build. The port is finally open. 🚀
Leave a Reply