agent-framework is a free, open source orchestration & scheduling project written in Python and released under MIT. It has 13,565 GitHub stars, 2,333 forks and 617 open issues, and was last pushed 5 hours ago. On this registry it ranks #14 of 64 tracked projects in Orchestration & Scheduling, with 5 head-to-head comparisons available. It gained 31 stars over the last 3 tracked days.

What is agent-framework?

Microsoft Agent Framework is an open, MIT-licensed, multi-language framework for building, orchestrating and deploying production-grade AI agents and multi-agent workflows in Python and .NET, aimed at teams moving agents from prototype to production.

What it is

Microsoft Agent Framework (MAF) is an open framework distributed as agent-framework on PyPI and Microsoft.Agents.AI on NuGet, providing full framework support for Python and C#/.NET with consistent APIs across both. Go support lives in a separate repository, microsoft/agent-framework-go, which carries its own documentation, samples, contribution guidance and issue tracker. The project is developed under microsoft/agent-framework and documents itself at https://aka.ms/agent-framework.

The concrete problem it solves is orchestration past the single prompt. MAF targets systems that need orchestration beyond a single prompt or stateless chat loop, and it supplies graph-based patterns such as sequential, concurrent, handoff and group collaboration. It provides a consistent foundation for building, orchestrating and operating agent systems while keeping architecture choices open as requirements evolve, and it supports a broad ecosystem including Microsoft Foundry, Azure OpenAI, OpenAI and the GitHub Copilot SDK, with samples and hosting patterns for both local development and cloud deployment.

Key capabilities

  • Dual-language support: full framework support for both Python and C#/.NET implementations with consistent APIs, with source under python/packages/ and dotnet/src/.
  • Multiple agent provider support: integrations for various LLM providers, with Python examples under python/samples/02-agents/providers/ and .NET examples under dotnet/samples/02-agents/AgentProviders/.
  • Middleware: a flexible middleware system for request/response processing, exception handling and custom pipelines.
  • Orchestration patterns and workflows: graph-based workflows supporting sequential, concurrent, handoff and group collaboration patterns, including checkpointing, streaming, human-in-the-loop and time-travel.
  • Foundry Hosted Agents: deploy and host agents on Foundry-hosted infrastructure with two additional lines of code.
  • Observability: built-in OpenTelemetry integration for distributed tracing, monitoring and debugging.
  • Declarative agents: agents defined in YAML for faster setup and versioning, plus Agent Skills for building domain-specific knowledge bases from multiple sources.

Who uses it and how

  • Teams building agents and workflows they expect to run in production, rather than demo or notebook-scale experiments.
  • Systems that require orchestration beyond a single prompt or stateless chat loop, and that therefore need graph-based workflow patterns.
  • Projects where durability, restartability, observability, governance or human-in-the-loop control are explicit requirements.
  • Architectures that need provider flexibility so the design can evolve without major rewrites, spanning Microsoft Foundry, Azure OpenAI, OpenAI and the GitHub Copilot SDK.
  • Mixed Python and .NET organizations that want consistent APIs across both stacks, and separate Go teams that adopt the Go SDK from its own repository.

Getting started

Install the Python package agent-framework from PyPI or the .NET package Microsoft.Agents.AI from NuGet. The project homepage is https://aka.ms/agent-framework, and deployment to Foundry-hosted infrastructure is documented through the hosting samples under python/samples/04-hosting/foundry-hosted-agents/ and dotnet/samples/04-hosting/FoundryHostedAgents/.

How it compares

The provided facts name no similar tools and no list of paid products that this project replaces, so it stands alone in this registry on that basis.

When to use it — and when not to

Adopt MAF when the work is production-bound, multi-agent and needs checkpointing, streaming, human-in-the-loop control or OpenTelemetry tracing out of the box. Teams that only need a single prompt or a stateless chat loop, or that want a Go implementation inside the same repository and issue tracker, should look elsewhere, since the Go SDK is maintained separately at microsoft/agent-framework-go. Note that the project carries 617 open issues, and that provider access is not bundled: the framework integrates with Microsoft Foundry, Azure OpenAI, OpenAI and the GitHub Copilot SDK, so a working provider account is a prerequisite.

project readme (upstream, from github) — read inline

Microsoft Agent Framework

Welcome to Microsoft Agent Framework!

Microsoft Foundry Discord MS Learn Documentation PyPI NuGet GitHub stars

Microsoft Agent Framework (MAF) is an open, multi-language framework for building production-grade AI agents and multi-agent workflows in .NET and Python.

Microsoft Agent Framework is built for teams taking agents from prototype to production. It provides a consistent foundation for building, orchestrating, and operating agent systems across Python, .NET and Go, while keeping architecture choices open as requirements evolve, and supports a broad ecosystem including Microsoft Foundry, Azure OpenAI, OpenAI, and the GitHub Copilot SDK, with samples and hosting patterns for both local development and cloud deployment.

[!NOTE] For the Go SDK, including its documentation, samples, contribution guidance, and issue tracker, visit microsoft/agent-framework-go.

Watch the full Agent Framework introduction (30 min)

Watch the full Agent Framework introduction (30 min)

Is this the right framework for you?

MAF is a strong fit if you:

  • are building agents and workflows you expect to run in production,
  • need orchestration beyond a single prompt or stateless chat loop,
  • want graph-based patterns such as sequential, concurrent, handoff, and group collaboration,
  • care about durability, restartability, observability, governance, or human-in-the-loop control,
  • need provider flexibility so your architecture can evolve without major rewrites.

Key Features

Explore new MAF capabilities and real implementation patterns on the official blog.

  • Python and C#/.NET Support: Full framework support for both Python and C#/.NET implementations with consistent APIs
  • Go Support: For the Go SDK, including its documentation, samples, contribution guidance, and issue tracker, visit microsoft/agent-framework-go.
  • Multiple Agent Provider Support: Support for various LLM providers with more being added continuously
  • Middleware: Flexible middleware system for request/response processing, exception handling, and custom pipelines
  • Orchestration Patterns & Workflows: Build multi-agent systems with graph-based workflows supporting sequential, concurrent, handoff, and group collaboration patterns; includes checkpointing, streaming, human-in-the-loop, and time-travel
  • Foundry Hosted Agents (new): Deploy and host your agents to Foundry-hosted infrastructure with just 2 additional lines of code
  • Observability: Built-in OpenTelemetry integration for distributed tracing, monitoring, and debugging
  • Declarative Agents: Define agents using YAML for faster setup and versioning
  • Agent Skills: Build domain-specific knowledge bases from multiple sources—files, inline code, class libraries—for agents to discover and use
  • AF Labs: Experimental packages for cutting-edge features including benchmarking, reinforcement learning, and research initiatives
  • DevUI: Interactive developer UI for agent development, testing, and debugging workflows

Table of Contents

Getting Started

Installation

Python

pip install agent-framework
# This installs the standard package set; install `agent-framework-lab` separately for experimental modules.
# It may take a minute on first install on Windows.

.NET

dotnet add package Microsoft.Agents.AI
# For Foundry integration (used in the .NET quickstart below):
dotnet add package Microsoft.Agents.AI.Foundry
dotnet add package Azure.AI.Projects
dotnet add package Azure.Identity

Learning Resources

Quickstart

Basic Agent - Python

Create a simple Azure Responses Agent that writes a haiku about the Microsoft Agent Framework

# pip install agent-framework
# Use `az login` to authenticate with Azure CLI
import os
import asyncio
from agent_framework import Agent
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential


async def main():
    # Initialize a chat agent with Microsoft Foundry
    # the endpoint, deployment name, and api version can be set via environment variables
    # or they can be passed in directly to the FoundryChatClient constructor
    agent = Agent(
      client=FoundryChatClient(
          credential=AzureCliCredential(),
          # project_endpoint=os.environ["FOUNDRY_PROJECT_ENDPOINT"],
          # model=os.environ["FOUNDRY_MODEL_DEPLOYMENT_NAME"],
      ),
      name="HaikuAgent",
      instructions="You are an upbeat assistant that writes beautifully.",
    )

    print(await agent.run("Write a haiku about Microsoft Agent Framework."))

if __name__ == "__main__":
    asyncio.run(main())
Basic Agent - .NET

Create a simple Agent, using Microsoft Foundry that writes a haiku about the Microsoft Agent Framework

// This sample shows how to create and run a basic agent with AIProjectClient.AsAIAgent(...).

using Azure.AI.Projects;
using Azure.Identity;
using Microsoft.Agents.AI;

string endpoint = Environment.GetEnvironmentVariable("AZURE_AI_PROJECT_ENDPOINT") ?? throw new InvalidOperationException("AZURE_AI_PROJECT_ENDPOINT is not set.");
string deploymentName = Environment.GetEnvironmentVariable("AZURE_AI_MODEL_DEPLOYMENT_NAME") ?? "gpt-5.4-mini";

AIAgent agent =
    new AIProjectClient(new Uri(endpoint), new DefaultAzureCredential())
    .AsAIAgent(model: deploymentName, instructions: "You are an upbeat assistant that writes beautifully.", name: "HaikuAgent");

// Once you have the agent, you can invoke it like any other AIAgent.
Console.WriteLine(await agent.RunAsync("Write a haiku about Microsoft Agent Framework."));

More Examples & Samples

Python

  • [Getting St

readme truncated — read the full docs on github

Frequently asked questions

Is agent-framework free to use?

agent-framework is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does agent-framework do?

A framework for building, orchestrating and deploying AI agents and multi-agent workflows with support for Python and .NET.

What is agent-framework written in?

agent-framework is primarily written in Python. Its source is publicly available at https://github.com/microsoft/agent-framework, and it has 13,565 GitHub stars.