Microsoft Agent Framework

Build, orchestrate, and deploy production-grade AI agents and multi-agent workflows in Python and .NET.

Stars
★ 15k
Last updated
today
License
MIT
Primary language
Python

At a glance

How it runs
Library / SDKFramework
Works with
Universal · cross-platformOpenAI API
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
Python or .NETAzure CLI credentials for the Python Foundry quickstartShell / CLINetwork access
Typical use
A Python team turning a prompt-driven prototype into a restartable, checkpointed multi-agent workflow.
Not a fit if
  • Developers who want a single-vendor SDK, not a multi-provider abstraction
  • Beginners wanting zero-config setup with no Azure account or env vars

What does this agent do, and when should you use it?

Microsoft Agent Framework (MAF) is an open framework for building production-grade AI agents and multi-agent workflows in Python and C#/.NET. It supplies Agent/AIAgent interfaces, provider integrations, middleware, and graph-based patterns for sequential, concurrent, handoff, and group collaboration flows. Workflows include checkpointing, streaming, human-in-the-loop control, and time-travel, while OpenTelemetry integration supports distributed tracing, monitoring, and debugging. The repository also includes YAML declarative agents, Agent Skills, DevUI, and local and cloud hosting samples, including Foundry-hosted agents, A2A, Azure Functions, and Durable Task hosting.

In Python, a developer creates an Agent with a FoundryChatClient, name, and instructions, then calls await agent.run(...) to obtain a model response. In .NET, an AIProjectClient can create an AIAgent through AsAIAgent(...), which is invoked with await agent.RunAsync(...). Middleware processes requests, responses, exceptions, and custom pipelines, while graph-based workflows coordinate sequential, concurrent, handoff, or group-collaboration agent execution. The framework documents checkpointing, streaming, human-in-the-loop control, OpenTelemetry telemetry, YAML declarative agents, and samples for deployment to Foundry-hosted infrastructure.

  1. A Python team turning a prompt-driven prototype into a restartable, checkpointed multi-agent workflow.
  2. A C#/.NET service team integrating a Microsoft Foundry-backed AIAgent through AsAIAgent and RunAsync.
  3. An application developer coordinating multiple agents through sequential, concurrent, handoff, or group-collaboration patterns.
  4. A platform team that needs OpenTelemetry-based tracing, monitoring, and debugging for agent execution.
  5. An Azure team evaluating Foundry-hosted agents or the provided A2A, Azure Functions, and Durable Task hosting samples.

How do you install or deploy this agent?

Python: run pip install agent-framework. The Python Foundry quickstart also requires az login and the azure.identity dependency used in the sample. Create Agent(client=FoundryChatClient(credential=AzureCliCredential()), name="HaikuAgent", instructions="..."), then call await agent.run("Write a haiku about Microsoft Agent Framework.").

.NET: run dotnet add package Microsoft.Agents.AI. For the README Foundry quickstart, also run dotnet add package Microsoft.Agents.AI.Foundry, dotnet add package Azure.AI.Projects, and dotnet add package Azure.Identity. Set AZURE_AI_PROJECT_ENDPOINT; AZURE_AI_MODEL_DEPLOYMENT_NAME is optional and the sample defaults it to gpt-5.4-mini.

How do you use this agent?

For a first Python invocation, construct Agent with FoundryChatClient(credential=AzureCliCredential()) and run print(await agent.run("Write a haiku about Microsoft Agent Framework.")) inside asyncio.run(main()). The endpoint, deployment name, and API version may be supplied through environment variables or passed directly to FoundryChatClient.

For .NET, read AZURE_AI_PROJECT_ENDPOINT, construct new AIProjectClient(new Uri(endpoint), new DefaultAzureCredential()).AsAIAgent(model: deploymentName, instructions: "...", name: "HaikuAgent"), then call Console.WriteLine(await agent.RunAsync("Write a haiku about Microsoft Agent Framework.")).

What are this agent's strengths and limitations?

Pros
  • It supports both Python and C#/.NET and presents them as a consistent framework foundation.
  • Its workflow model explicitly covers sequential, concurrent, handoff, and group collaboration patterns, plus checkpointing, streaming, human control, and time-travel.
  • OpenTelemetry is built in for distributed tracing, monitoring, and debugging.
  • It documents ecosystem support for Microsoft Foundry, Azure OpenAI, OpenAI, and the GitHub Copilot SDK, with local and cloud hosting samples.
Limitations
  • The Python quickstart depends on Azure CLI sign-in and Azure credentials; the .NET Foundry sample depends on an Azure project endpoint and Azure.Identity.
  • Third-party servers, agents, code, and non-Azure Direct models are governed by their own terms, and users are responsible for related usage, costs, data flows, and compliance implications.
  • The project places responsibility for application review, testing, content filters, metaprompts, and other responsible-AI mitigations on the application builder.
  • Although several provider ecosystems are named, provider-specific setup is distributed across samples and environment-variable configuration must be checked for the chosen path.

How does this agent compare with similar options?

The project provides migration guides from Semantic Kernel and AutoGen; the supplied material does not claim complete feature parity with either framework.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Microsoft Agent Framework This agent 49 · Major gaps Library / SDKFree + model costs ★ 15k today Python OpenAI API
OpenAI Agents SDK 64 · Some gaps Library / SDKFree + model costs ★ 31k 1d ago Python OpenAI API
Inkeep Agents 45 · Major gaps Web appFreemium ★ 1.5k 1d ago TypeScript —
agentUniverse 30 · Major gaps Library / SDKFree + model costs ★ 2.4k 12d ago Python OpenAI API · Claude API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
49/ 100 5-point scale 2.5 / 5
This review covers the source as of Aug 09, 2026. The project has shipped 21 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 11/29
Reliability 8/14
Adaptability 10/18
Convention 10/18
Effectiveness 7/13
Verifiability 3/8
Why each dimension lost points
Trust11 / 29 · 1.9/5

Evidence shows: repository includes security policy (SECURITY.md) and CodeQL workflow, but lacks specific implementation details for least privilege, user confirmation, data flow transparency, sensitive data handling, dependency security, external effects, and rollback. Deductions: these aspects are only partially mentioned or not clearly specified. Source attribution: clearly Microsoft official organization, but no specific author or contributor information provided.

Reliability8 / 14 · 2.9/5

Evidence shows: README and code structure are consistent, but no specific implementation for dependency availability and failure messages. Deductions: self-consistency is adequate, but dependency availability and failure messages are only partially covered.

Adaptability10 / 18 · 2.8/5

Evidence shows: README clearly defines target audience and scenarios, provides multiple examples, but does not clearly define capability boundaries and trigger precision. Deductions: environment fit is good, but capability boundaries and trigger precision are not fully explained.

Convention10 / 18 · 2.8/5

Evidence shows: README structure is clear, provides installation instructions and examples, but does not provide naming stability, known limitations, and version changelog. Deductions: information architecture and installation notes are good, but naming stability, known limitations, and version changelog are missing.

Effectiveness7 / 13 · 2.7/5

Evidence shows: README provides quickstart and examples, but does not provide cost-benefit analysis. Deductions: output usability and marginal value are adequate, but cost-benefit is not explained.

Verifiability3 / 8 · 1.9/5

Evidence shows: claims in README are not supported by specific evidence, and facts and inferences are not separated. Deductions: claim traceability, cross-source corroboration, and fact-inference separation are insufficient.

Risks and how to mitigate them
  • Static review cannot verify actual runtime behavior; all scores are based on source code and documentation.
  • Dependency security and external effects are not detailed in the provided files; further review is needed.
  • Version changelog and known limitations are not mentioned in README, which may affect user decisions.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 5eb3eb745e16 New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. python-1.24.0
    Release notes excerpt
    [1.24.0] - 2026-10-30 > [!WARNING] > Redis context index migration: The beta RedisContextProvider now preserves exact scope identity and rejects the legacy raw-scope index schema. Delete the old context index and its context hashes, let the provider create a new index, and re-ingest the context data. overwrite_index=True does not migrate incompatible indexes. > [!IMPORTANT] …
    View on GitHub ↗
  2. dotnet-1.27.0
    Release notes excerpt
    [1.27.0] - 2026-10-30 Added * skills: Add a .NET consumer skill for building with Agent Framework ([#9651](https://github.com/microsoft/agent-framework/pull/9651) by @westey-m). * .NET, CI: Add a script to bump the .NET release version ([#9894](https://github.com/microsoft/agent-framework/pull/9894) by @baywet). Changed * .NET, AgentServer: [BREAKING] Update AgentServer dependencies ([#9721](https://github.com/microsoft/agent-framework/pull/9721) by @rogerbarreto). …
    View on GitHub ↗
  3. dotnet-1.26.0
    Release notes excerpt
    Changes: * 9c8a3514a15a702f81bfda456d80c7ccaa4d2712 Update package versions for release (#9650) * c3b9f22d64fd86e8133395555a1fa4aa22f745e0 Add ACGS to the Python community projects (#9618) * 71cf48cb4019bc503c7ceb61420cc3d836250790 Python: Honor allow_multiple_tool_calls in AnthropicClient when tool_choice is unset (#8980) * ea32b6db9e9b4b434a86496bacd9cc6dd0422a69 Python: compose Copilot session hooks correctly (#9649) * 678c6616aa4c73ecfc28cc6fc119a3928ba04024 .NET: Fix AG-UI sample prerequisites and troubleshooting paths (#9620) …
    View on GitHub ↗

FAQ

Can I use only Python or only .NET?
Yes. The project explicitly provides Python packages and C#/.NET source, samples, and quickstarts.
Is Microsoft Foundry the only supported provider path?
No. The material names Microsoft Foundry, Azure OpenAI, OpenAI, and the GitHub Copilot SDK. The implementation details still depend on the relevant provider samples and configuration.
Is it worthwhile for a simple one-prompt chat app?
It can create and invoke a single Agent, but its documented fit is stronger for systems needing orchestration, workflows, observability, or production operations.
Who is responsible for cost and data handling with third-party systems?
The application builder is responsible for related usage and costs and should assess data sharing, retention, location, organizational compliance boundaries, and permissions.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents