Microsoft Agent Framework (MAF) is Microsoft's open source framework for building AI agents and multi-agent workflows in .NET and Python, with a Go SDK in public preview, and it is the direct successor to both AutoGen and Semantic Kernel. Version 1.0 shipped on 3 April 2026 for .NET and Python, and Microsoft describes it as production-ready with stable APIs and a commitment to long-term support. This page explains what the framework contains, which parts are stable and which are preview, how it connects to models, what hosting costs, what the telemetry records and what has happened to AutoGen and Semantic Kernel. It is written for developers, architects and the people who approve frameworks for a team. Every fact comes from Microsoft Learn, the Agent Framework blog, the GitHub repositories and Azure pricing pages. Last checked: 2026-11-15.
This is an independent guide from NHI Mgmt Group, based on Microsoft's public Agent Framework documentation as of November 2026. It is not sponsored or reviewed by Microsoft. Product features change, so confirm settings against Microsoft's current documentation.
Key takeaways
- One framework replaces two. Microsoft Learn calls Agent Framework "the direct successor, created by the same teams" behind Semantic Kernel and AutoGen, combining AutoGen's agent abstractions with Semantic Kernel's session state, type safety, filters and telemetry.
- 1.0 is stable, but not everything is 1.0. Agents, connectors, middleware, memory, workflows, orchestration patterns, declarative YAML, MCP and A2A are stable; DevUI, Foundry hosted agents, Skills and the agent harnesses were preview at launch.
- AutoGen is archived. Its repository now states that Microsoft provides no bug fixes, security fixes, new features or support, and points users to Agent Framework.
- Free and MIT licensed. The repository carries the MIT licence. Foundry Agent Service adds no separate charge for Foundry-native agents; you pay for models, tools and hosted agent compute.
- Telemetry is OpenTelemetry, with content off by default in Python.
ENABLE_INSTRUMENTATIONdefaults totrueandENABLE_SENSITIVE_DATAtofalse, so prompts and tool arguments are not recorded unless you turn them on.
What is Microsoft Agent Framework?
Microsoft Learn describes the framework as bringing together four areas:
- Agents: "Individual agents that use LLMs to process inputs, call tools and MCP servers, and generate responses."
- Harness Agent: an opinionated agent for long, multi-step tasks, with planning, context compaction, file access and memory, tool approval and observability built in.
- Workflows: "Functional and graph-based workflows that connect agents and functions through explicit execution paths."
- Integrations: connections to model providers, agent services, tools, context providers, middleware, evaluation services and UI frameworks.
Underneath sit shared building blocks: model clients for chat completions and responses, an agent session for state, context providers for memory, middleware and MCP clients. The docs give a plain rule for choosing between the two main shapes: use an agent when the task is open-ended or conversational and needs autonomous tool use, use a workflow when the steps are well defined or several agents and functions must coordinate, and "If you can write a function to handle the task, do that instead of using an AI agent."
| Earlier project | What it contributed (Microsoft Learn) | Status as of November 2026 |
|---|---|---|
| AutoGen | Simple abstractions for single and multi-agent patterns | Repository archived; no bug fixes, security fixes, features or support; migration guide to Agent Framework |
| Semantic Kernel | Session-based state, type safety, filters, telemetry, model and embedding support | README states "Semantic Kernel is now Microsoft Agent Framework" and links a migration guide |
| Agent Framework | Both of the above, plus graph-based workflows with explicit execution paths | 1.0 for .NET and Python since 3 April 2026; Go SDK in public preview |
Key facts at a glance
As of 15 November 2026, from Microsoft Learn, the Agent Framework blog and the GitHub repositories.
| Field | Microsoft Agent Framework |
|---|---|
| Owner | Microsoft |
| Type | Open source agent and multi-agent workflow framework |
| Languages | .NET (C#), Python; Go in public preview (separate agent-framework-go repository) |
| Packages | Python agent-framework (core package agent-framework-core); NuGet Microsoft.Agents.AI plus connector packages such as Microsoft.Agents.AI.Foundry; Go github.com/microsoft/agent-framework-go |
| Licence | MIT (repository LICENSE, Copyright (c) Microsoft Corporation) |
| First stable release | 1.0, 3 April 2026 (.NET and Python) |
| Current version on main branch | Python agent-framework-core 1.26.0; .NET version prefix 1.28.0 |
| Python requirement | 3.11 or later (classifiers list 3.11 to 3.15) |
| Go requirement | Go 1.26 or later |
| Protocols | MCP (tools) and A2A (agent to agent) |
| Price | Free and open source; hosting and models billed by the service used |
| Vulnerability reporting | Microsoft Security Response Center (MSRC), or [email protected] |
Plans and pricing
The framework has no plans or seat prices: it is MIT licensed and installed from PyPI, NuGet or Go modules. Cost comes from the models and services an agent uses. For agents hosted in Microsoft Foundry, the Foundry Agent Service pricing page states, as of 15 November 2026:
| Item | How it is billed (Azure pricing page) |
|---|---|
| Foundry Agent Service (Foundry-native prompt and workflow agents) | No additional charge |
| Model tokens | Billed through Foundry Models at the model's rate |
| Hosted agents (Foundry-managed containers) | Container compute per hour, measured in vCPU-hours and GiB-hours of memory |
| File Search | Storage per GB per day, with 1 GB free |
| Code Interpreter | Per session |
| Web Search and Custom Search | Per 1,000 transactions |
| Foundry Tools and Foundry IQ connections | Separate charges and licences (for example Logic Apps connectors, Microsoft Fabric, SharePoint, Grounding with Bing Search) |
Prices are calculated in US dollars and converted at the previous month-end exchange rate, and the page presents them as estimates. Use the Azure pricing calculator for current unit rates in your region. Agents you host yourself, or that call other providers, are billed by those providers.
Availability: the 1.0 announcement listed Foundry hosted agent integration, Azure Durable Functions support and Foundry tools, memory, observability and evaluations as preview at launch. A September 2026 blog post on hosted agent isolation states that Foundry hosted agents are generally available in Microsoft Foundry.
Models available
Agent Framework does not ship a model. It connects through chat clients. The 1.0 announcement lists these connectors as stable (alphabetical):
| Connector (as named by Microsoft) | Stable in 1.0 |
|---|---|
| Amazon Bedrock | Yes |
| Anthropic Claude | Yes |
| Azure OpenAI | Yes |
| Google Gemini | Yes |
| Microsoft Foundry | Yes |
| Ollama | Yes |
| OpenAI | Yes |
Later releases added more, for example a Mistral chat client in Python 1.14.0 (August 2026). The Python quickstart pairs FoundryChatClient with AzureCliCredential from azure.identity, so a Foundry agent can authenticate with an Entra ID token instead of an API key. The AutoGen migration guide notes that the Responses API is available through Agent Framework clients such as OpenAIChatClient.
Features and modes
Stable in 1.0
- Middleware: hooks that intercept agent behaviour for content safety, logging or compliance without changing prompts.
- Memory and context providers: conversation history, persistent key-value state and vector retrieval, with backends such as Foundry Agent Service Memory, Mem0, Redis, Neo4j or a custom store. A September 2026 post added native memory with Azure Cosmos DB.
- Graph-based workflows: deterministic processes with branching, parallel steps and checkpointing. Workflows can contain agents, and a workflow can be exposed as an agent.
- Multi-agent orchestration: Sequential, Concurrent, Handoff, Group chat and Magentic patterns, with streaming, human-in-the-loop approvals and pause and resume.
- Declarative YAML: agents and workflows defined in version-controlled files.
- MCP and A2A: MCP for discovering and calling external tools, A2A for collaboration with agents in other frameworks. A2A v1 support for .NET followed on 28 April 2026.
Preview at 1.0 launch
- DevUI: a browser-based local debugger for agents and workflows.
- Skills: reusable capability packages agents can discover and use.
- Agent harnesses: the GitHub Copilot SDK and Claude Code SDK as agent execution engines, and Agent Harness, a local runtime with shell, file and messaging access. The .NET release 1.16.0 later graduated the GitHub Copilot agent to stable.
- AG-UI adapters: for CopilotKit and ChatKit front ends.
- AF Labs: experimental modules in the separate
agent-framework-labpackage, covering benchmarking and reinforcement learning.
Microsoft states that preview APIs may change before they become stable, so treat them as outside the 1.0 stability commitment.
Supported IDEs and platforms
| Language | Install | Notes |
|---|---|---|
| Python | pip install agent-framework | Installs the standard package set; experimental modules in agent-framework-lab |
| .NET | dotnet add package Microsoft.Agents.AI | Add connector packages such as Microsoft.Agents.AI.Foundry, Azure.AI.Projects, Azure.Identity |
| Go (preview) | go get github.com/microsoft/agent-framework-go | Declarative agents, CodeAct and functional workflows not yet implemented in Go |
Development tooling includes DevUI for local testing, workflow visualisation that renders and exports topology, and agent skills for coding assistants, which a November 2026 blog post describes for .NET and Python. For hosting, the README describes Foundry Hosted Agents as deployable with two additional lines of code, and the samples include Azure Functions and Durable Task integrations, which .NET 1.17.0 moved to a separate package. Agents can also run in any process or container you operate.
Enterprise and admin controls
As a library, Agent Framework leaves access control to the hosting environment and the identity used by each client. The documented pattern is Entra ID credentials from azure.identity (for example AzureCliCredential in development, DefaultAzureCredential in the .NET samples) rather than embedded keys. Middleware provides a place for policy checks, and later releases added controls such as isolation-key scoping for the A2A task store and a bounded tool-approval loop (.NET 1.18.0). Microsoft's September 2026 post on Foundry hosted agent isolation covers how hosted agents are separated. Identity design, tool approval and MCP trust are covered in the Microsoft Agent Framework and AutoGen security guide, so they are not repeated here.
Data handling and privacy
Agent Framework emits traces, logs and metrics through OpenTelemetry following the GenAI semantic conventions. The framework creates the telemetry; you choose where it goes. Python settings and defaults from Microsoft Learn:
| Variable | Default | Effect |
|---|---|---|
ENABLE_INSTRUMENTATION | true | Set false to turn instrumentation off |
ENABLE_SENSITIVE_DATA | false | When true, records prompts, responses, tool arguments and results, and exception messages |
ENABLE_MESSAGE_EVENTS | true | Message events emitted only when instrumentation and sensitive data are both on |
ENABLE_CONSOLE_EXPORTERS | false | Prints telemetry to the console |
OTEL_SERVICE_NAME | agent_framework | Service name on exported telemetry |
AGENT_FRAMEWORK_USER_AGENT_DISABLED | Not set | true removes the framework's User-Agent contribution; AGENT_FRAMEWORK_FEATURE_MASK_DISABLED removes only the feature-usage token |
Exporters are not installed by default in Python; add an OTLP exporter or azure-monitor-opentelemetry for Application Insights. The docs advise enabling sensitive data only in development or testing because it can expose user information in logs and traces, and note that instrumenting both the chat client and the agent can duplicate sensitive content in two spans. For .NET, the samples set EnableSensitiveData explicitly, so set it deliberately in each service. Data held by a model provider or hosted service follows that service's own terms.
Release history
Dated entries from the Agent Framework blog and the GitHub releases page, as of 15 November 2026.
| Date | Release or milestone | What changed |
|---|---|---|
| 3 Apr 2026 | Version 1.0 (.NET and Python) | Stable APIs and long-term support commitment; release candidate users upgrade with a version bump |
| 23 Apr 2026 | CodeAct | Blog post on agents that act through code with fewer model turns |
| 28 Apr 2026 | A2A v1 for .NET | Cross-platform agent communication on A2A v1 |
| 30 Jul 2026 | Python 1.13.0 | Archive-based MCP skill discovery, reusable session stores, feature-usage telemetry |
| 14 Aug 2026 | Python 1.14.0 | Mistral chat client, experimental agent-hooks middleware, Foundry session state stores |
| 21 Aug 2026 | Python 1.15.0 | Optional A2UI support; OpenTelemetry GenAI modes consolidated (breaking) |
| 26 Aug 2026 | Agent and workflow channels | Blog announcement |
| 28 Aug 2026 | Python 1.16.0 | Configurable background-agent timeouts; programmatic OpenTelemetry setup |
| 3 Sep 2026 | Python 1.17.0 | Middleware input handling reverted (breaking) |
| 4 Sep 2026 | Cosmos DB memory | Native memory with Azure Cosmos DB |
| 15 Oct 2026 | Vector stores (Python) | Vector store support streamlined for agents |
| 4 Nov 2026 | Agent Framework skills | Skills for coding agents in .NET and Python |
The .NET line moves on its own numbering (for example 1.19.0 added Azure Blob session storage and migrated MCP long-running tasks, a breaking change). Microsoft has not published LTS durations in the 1.0 announcement, so track both release streams.
Limits and known constraints
- Breaking changes inside 1.x: Python 1.15.0 and 1.17.0 and .NET 1.19.0 are marked breaking on the releases page. Pin versions and read each release note.
- Preview features: DevUI, Skills, AG-UI adapters, the agent harnesses and Labs modules sit outside the 1.0 stability commitment until Microsoft graduates them.
- Go parity: the Go SDK is in public preview and does not yet implement declarative agents, CodeAct or functional workflows.
- Migration gaps: the AutoGen guide says distributed execution and local code execution are planned for future versions, and Swarm and SelectorGroupChat equivalents are on the roadmap.
- Stateless by default: an
Agentkeeps no history unless you pass anAgentSession. - Python floor: Python 3.11 or later.
Moving existing code is covered step by step in AutoGen and Semantic Kernel to Microsoft Agent Framework.
Security guidance
This page covers what the framework is, how it is versioned and what hosting costs. Hardening is covered in the Microsoft Agent Framework and AutoGen security guide and, for code still on the predecessor, the Semantic Kernel Security Guide. From Microsoft's documentation, the customer-side decisions to make early are: move off archived AutoGen, since it receives no security fixes; use Entra ID credentials through azure.identity rather than static keys where the connector supports it; keep ENABLE_SENSITIVE_DATA off in production; use middleware and human-in-the-loop approvals for sensitive tools; and enable NuGet auditing and dependency scanning, as the repository's own build does. Report vulnerabilities through MSRC and apply Agent Framework updates promptly. The wider discipline is covered in the Securing Agent Frameworks Guide.
Practitioner checklist
- Inventory services still on AutoGen or Semantic Kernel and schedule migration, starting with anything on archived AutoGen.
- Pin
agent-frameworkandMicrosoft.Agents.AIversions and read release notes for breaking changes before each upgrade. - Record which features you use that were preview at 1.0 (DevUI, Skills, harnesses, AG-UI) and review them at each release.
- Choose agent or workflow per task using Microsoft's rule, and prefer plain functions where an agent adds nothing.
- Set
ENABLE_INSTRUMENTATIONandENABLE_SENSITIVE_DATAexplicitly in every environment, and install an exporter deliberately. - Use Entra ID credentials for Foundry and Azure OpenAI clients and keep any API keys out of source control.
- Pass an
AgentSessionwhere conversation history is needed, and choose where that state is stored. - Estimate hosted agent cost from vCPU-hours, GiB-hours, model tokens and tool charges before going to production.
Standards and references
- Microsoft Learn: Microsoft Agent Framework overview
- Microsoft: Microsoft Agent Framework Version 1.0
- Microsoft: agent-framework repository
- Microsoft: agent-framework releases
- Microsoft Learn: Workflows
- Microsoft Learn: Agent observability
- Microsoft Learn: Migration guide from AutoGen
- Microsoft Azure: Foundry Agent Service pricing
Related NHI Mgmt Group resources: Microsoft Agent Framework and AutoGen security guide · Semantic Kernel Security Guide · AutoGen and Semantic Kernel to Microsoft Agent Framework · Securing Agent Frameworks Guide