{
  "data": {
    "a": {
      "slug": "microsoft-agent-framework",
      "name": "Microsoft Agent Framework",
      "vendor": "Microsoft",
      "vendorUrl": "https://www.microsoft.com",
      "kind": "framework",
      "category": "frameworks",
      "summary": "Microsoft Agent Framework is an open-source SDK for building AI agents and multi-agent workflows in Python and .NET, with a Go version in public preview. Microsoft names it the successor to AutoGen and Semantic Kernel.",
      "url": "https://www.anchorterminal.com/tools/microsoft-agent-framework",
      "markdownUrl": "https://www.anchorterminal.com/tools/microsoft-agent-framework.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/microsoft-agent-framework.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/microsoft-agent-framework.json",
      "dns": "microsoft-agent-framework.grade.anchorterminal.com",
      "repo": "https://github.com/microsoft/agent-framework",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "agent-framework"
        },
        {
          "registry": "nuget",
          "name": "Microsoft.Agents.AI"
        }
      ],
      "auth": "none",
      "authNotes": "A library with no account of its own. Credentials are for the model provider and the tools used. The quickstarts sign in to Microsoft Foundry with an Azure credential, and the OpenAI, Anthropic and other clients take their own keys from the environment.",
      "pricing": "free",
      "pricingNotes": "Free under MIT, with model calls paid to the provider. Foundry hosted agents, the managed hosting option, is a separate Azure service at $0.0994 a vCPU-hour and $0.0118 an hour for memory in East US, per Azure's retail price API on 8 October 2026.",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 found in the repository or the docs (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 14015,
        "npmWeekly": null,
        "pypiWeekly": 47507,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/agent-framework/overview/",
      "capabilities": [
        "agent.framework",
        "agent.multi-agent",
        "agent.durable",
        "agent.mcp-client"
      ],
      "tags": [
        "official",
        "framework",
        "python",
        "dotnet",
        "go",
        "open-source",
        "durable",
        "free",
        "no-card"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 79.4,
        "grade": "A",
        "agentReady": true,
        "rank": 18,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 5,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 87,
          "maintenance": 91,
          "payments": 60,
          "reliability": 78,
          "schema": 95,
          "security": 93,
          "transparency": 85
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-11-01"
        },
        "negative": -5,
        "negativeNotes": [
          "2026-10-07. High-severity advisory GHSA-9f26-7mqc-9vc4 (CVSS 7.5). Microsoft.Agents.AI.Workflows.Declarative before 1.24.0 could forward values marked sensitive, including environment-scoped secrets, to an external MCP server from an InvokeMcpTool action. Fixed in 1.24.0 and published the same day, so 2 points. Two medium advisories published the same day (GHSA-q7g7-7c7x-frcq, approval not bound to transport headers, and GHSA-r2mq-wgc9-vgh3, Foundry toolbox bearer token sent to an unintended origin) weren't deducted. https://github.com/microsoft/agent-framework/security/advisories/GHSA-9f26-7mqc-9vc4",
          "2026-10-22. agent-framework 1.23.0, a minor release of packages PACKAGE_STATUS.md calls released and says shouldn't break between versions, marks three breaking changes (MCP 2.x in agent-framework-core, a required AG-UI authorisation scope and a renamed Docker `extra_run_args`) with no advance notice found, and 1.24.0 on 30 October marks one more. A breaking change in a minor release without notice, so 3 points, the floor, because each is marked in the changelog on the day. https://github.com/microsoft/agent-framework/blob/main/python/CHANGELOG.md"
        ],
        "verdict": "Python 1.24.0 and .NET 1.27.0 are MIT, past 1.0 and released about weekly, with an MCP client, tool approval, checkpointed graph workflows and OpenTelemetry. Breaking changes ship in minor releases, a version User-Agent and a feature-usage token are sent by default, and a high-severity advisory in the .NET declarative workflows package was published on 7 October 2026.",
        "bestFor": "Teams on Azure or .NET, and for teams moving off AutoGen or Semantic Kernel, that want MCP, approval, checkpointed workflows and OpenTelemetry in one SDK.",
        "strengths": [
          "MIT, with Python 1.24.0 and .NET 1.27.0 both tagged on 30 October 2026, past 1.0 since 2 April 2026",
          "22 tagged releases in the 90 days to 1 November 2026, 11 for Python and 11 for .NET",
          "MCP client in the core package over stdio and streamable HTTP, with a tool allow-list, per-tool approval and optional progressive disclosure",
          "Graph workflows with checkpoints, in-memory and file storage in core, and five orchestration patterns (sequential, concurrent, handoff, group chat, Magentic)",
          "A safety page and FIDES, an information-flow control middleware for prompt injection, which is experimental and Python only"
        ],
        "weaknesses": [
          "Changes marked [BREAKING] shipped in minor releases of released packages, including agent-framework-core in 1.22.0 on 15 October and 1.23.0 on 22 October 2026",
          "A package and version User-Agent goes out on client requests by default, with a feature-usage token on Foundry and Azure OpenAI paths. Two environment variables turn them off",
          "Three advisories were published on 7 October 2026 against .NET packages, one high (CVSS 7.5), all with fixed versions",
          "Tools run without approval unless approval is set on each tool, per the safety page",
          "610 open issues and 229 open pull requests on 1 November 2026, and 37 of 45 Python packages are alpha or beta"
        ],
        "agentNotes": [
          "Pin exact versions. Minor releases have carried [BREAKING] changes, 1.23.0 moved MCP to the 2.x SDK, and 1.22.0 writes stored state older runtimes can't read, so read python/CHANGELOG.md first",
          "Set `approval_mode=\"always_require\"` on tools and MCP servers that write. Tools run without approval unless set, and 1.24.0 warns when the MCP default is left implicit",
          "Pass `allowed_tools` to `MCPStdioTool` or `MCPStreamableHTTPTool` so only the named MCP tools reach the model",
          "Set `AGENT_FRAMEWORK_USER_AGENT_DISABLED=true` to drop the framework's User-Agent and feature token, or `AGENT_FRAMEWORK_FEATURE_MASK_DISABLED=true` for the token alone",
          "On .NET, use Microsoft.Agents.AI.Workflows.Declarative 1.24.0 or later. Earlier versions could forward protected workflow values to an external MCP server"
        ],
        "metrics": {
          "kind": "library",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "A",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 79.4
          }
        ],
        "editorialScores": {
          "ergonomics": 87,
          "maintenance": 91,
          "payments": 60,
          "reliability": 78,
          "schema": 95,
          "security": 93,
          "transparency": 86
        },
        "provenanceScore": 83,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install agent-framework   # or: dotnet add package Microsoft.Agents.AI"
      },
      "letme": {
        "capability": "https://letme.dev/agent.framework",
        "tool": "https://letme.dev/microsoft-agent-framework"
      },
      "sameCompany": [
        "azure-openai",
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "bing-grounding",
        "azure-document-intelligence",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "tokeneconomizer",
        "playwright-mcp",
        "azure-mcp",
        "azure-maps",
        "azure-translator",
        "microsoft-graph-calendar",
        "azure-blob-storage",
        "onedrive-sharepoint",
        "microsoft-teams",
        "dynamics-365-sales",
        "copilot-studio-mcp",
        "power-automate",
        "foundry-local",
        "microsoft-decision-1",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph",
        "microsoft-graph-people",
        "mage-vl-cowork"
      ],
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Foundry hosted agents",
          "unit": "vcpu-hour",
          "usd": 0.0994,
          "note": "East US, plus $0.0118 an hour for memory. A separate Azure service"
        }
      ],
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/microsoft/agent-framework/blob/main/python/CHANGELOG.md",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "The repository is under GitHub's microsoft organisation and its licence file reads Copyright (c) Microsoft Corporation.",
          "No terms or privacy document for the framework itself was found. The MIT licence is the only document that governs the packages, and neither the repository README nor the core package README links a privacy statement, so both fields are left out.",
          "www.microsoft.com/.well-known/security.txt loads and points to the MSRC researcher portal, but its Expires field is 2026-09-23T16:00:00.000Z, which had passed on 8 October 2026. learn.microsoft.com has none.",
          "RDAP gives microsoft.com a registration date of 1991-05-02.",
          "The changelog link is the Python one. No changelog file was found for .NET in the repository."
        ],
        "score": 83
      },
      "requirements": {
        "setupChecked": true,
        "complianceChecked": true,
        "card": "unknown",
        "freeTier": true,
        "minutes": 5,
        "credential": "mixed",
        "hosting": [
          "self-hosted"
        ],
        "euResidency": "unknown",
        "trainsOnData": "no",
        "zeroRetention": "unknown",
        "selfHost": "yes"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/microsoft-agent-framework.json",
      "live": {
        "slug": "microsoft-agent-framework",
        "versions": [
          {
            "registry": "github",
            "name": "microsoft/agent-framework",
            "version": "dotnet-1.28.0",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:44:55.101801718Z"
          },
          {
            "registry": "pypi",
            "name": "agent-framework",
            "version": "1.24.0",
            "released": "2026-10-30",
            "seenAt": "2026-11-06T23:44:54.899779762Z"
          }
        ],
        "githubStars": 14568,
        "pypiWeekly": 43858,
        "securityTxt": {
          "url": "https://microsoft.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-10-27T16:00:00.000Z",
          "checkedAt": "2026-11-07T16:02:01.196666056Z"
        },
        "domain": {
          "domain": "microsoft.com",
          "registered": "1991-05-02",
          "source": "https://rdap.verisign.com/com/v1/domain/microsoft.com",
          "checkedAt": "2026-11-01T14:14:19.336136409Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/microsoft/agent-framework/main/python/CHANGELOG.md",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:21:43.874433048Z",
            "changedAt": "2026-11-07T14:21:43.874433048Z",
            "fingerprint": "925408c2f417"
          }
        ],
        "github": {
          "repo": "microsoft/agent-framework",
          "checkedAt": "2026-11-02T09:05:57.146674909Z",
          "stars": 14492,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T05:12:39Z",
          "openIssues": 639,
          "openPRs": 243,
          "issuesOpened90d": 836,
          "issuesClosed90d": 722,
          "prsMerged90d": 1069,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 34,
            "failure": 14,
            "other": 2,
            "latest": "failure",
            "latestAt": "2026-11-01T21:12:35Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-4532-fhjf-wq2q",
              "severity": "medium",
              "published": "2026-10-23T16:28:52Z"
            },
            {
              "ghsa": "GHSA-8j78-92fm-c727",
              "severity": "medium",
              "published": "2026-10-23T16:20:27Z"
            },
            {
              "ghsa": "GHSA-f92h-h85c-p8w6",
              "severity": "medium",
              "published": "2026-10-23T16:14:35Z"
            },
            {
              "ghsa": "GHSA-68cw-g4g7-7h9f",
              "severity": "medium",
              "published": "2026-10-23T16:09:51Z"
            },
            {
              "ghsa": "GHSA-r8fg-8q6m-6c5m",
              "severity": "medium",
              "published": "2026-10-23T16:04:39Z"
            },
            {
              "ghsa": "GHSA-r2mq-wgc9-vgh3",
              "severity": "medium",
              "published": "2026-10-07T13:55:48Z"
            },
            {
              "ghsa": "GHSA-9f26-7mqc-9vc4",
              "severity": "high",
              "published": "2026-10-07T13:41:40Z"
            },
            {
              "ghsa": "GHSA-q7g7-7c7x-frcq",
              "severity": "medium",
              "published": "2026-10-07T13:41:36Z"
            }
          ],
          "replies": {
            "sampled": 11,
            "unanswered": 5,
            "medianDays": 0.2
          }
        },
        "updatedAt": "2026-11-07T16:02:01.196666056Z"
      }
    },
    "answer": "Microsoft Agent Framework scores 79.4 (A) on agent readiness against smolagents's 58.7 (C), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "smolagents",
      "name": "smolagents",
      "vendor": "Hugging Face",
      "vendorUrl": "https://github.com/huggingface/smolagents",
      "kind": "framework",
      "category": "frameworks",
      "summary": "smolagents is Hugging Face's small Python library for agents that write and run Python code (CodeAgent) or call tools as JSON (ToolCallingAgent), with MCP tools, any model provider and sandboxed execution through E2B, Docker, Modal or Blaxel.",
      "url": "https://www.anchorterminal.com/tools/smolagents",
      "markdownUrl": "https://www.anchorterminal.com/tools/smolagents.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/smolagents.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/smolagents.json",
      "dns": "smolagents.grade.anchorterminal.com",
      "repo": "https://github.com/huggingface/smolagents",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "smolagents"
        }
      ],
      "auth": "none",
      "authNotes": "A library with no credentials of its own. The default InferenceClientModel uses a Hugging Face token; other providers and remote sandboxes take their own keys.",
      "pricing": "free",
      "pricingNotes": "Free and open source under Apache-2.0. You pay for model calls and for any remote sandbox (E2B, Modal, Blaxel) you use.",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the repository (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 30234,
        "npmWeekly": null,
        "pypiWeekly": 171063,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://huggingface.co/docs/smolagents/index",
      "llmsTxt": "https://huggingface.co/docs/smolagents/llms.txt",
      "capabilities": [
        "agent.framework",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "framework",
        "python",
        "open-source",
        "llms-txt",
        "mcp",
        "code-agent",
        "sandbox"
      ],
      "lastRelease": "2026-05-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.7,
        "grade": "C",
        "agentReady": false,
        "rank": 735,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 18,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 34,
          "payments": 60,
          "reliability": 64,
          "schema": 81,
          "security": 66,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": -6,
        "negativeNotes": [
          "2025-12-23 to 2026-03-27. GHSA-q9r5-6hrr-9ph7 (CVE-2025-14931, critical, from the Zero Day Initiative) reports remote code execution through pickle deserialisation in the remote Python executor; the fix for remote executors merged on 15 February 2026, about eight weeks after publication. CVE-2026-2654 (SSRF, 1.24.0) and CVE-2026-4963 (code injection in LocalPythonExecutor, an incomplete earlier fix) are rated low, and both records say the vendor did not respond. Fixed or low, under 12 months old, 6 points. https://osv.dev/vulnerability/GHSA-q9r5-6hrr-9ph7"
        ],
        "verdict": "A compact Python library for code-writing and tool-calling agents, with MCP tools, any model provider and remote sandboxes through E2B, Docker, Modal or Blaxel. The newest release is 1.26.0 of 29 May 2026, a critical remote-executor RCE took about eight weeks to fix, and the local executor isn't a security boundary.",
        "bestFor": "Small Python projects and research that want code-writing agents with minimal abstraction.",
        "strengths": [
          "CodeAgent and ToolCallingAgent in a small, readable codebase",
          "MCP tools from any server through MCPClient",
          "Remote execution through E2B, Docker, Modal or Blaxel, with a guide on when it's needed",
          "No telemetry found in the source",
          "llms.txt and Markdown docs on huggingface.co"
        ],
        "weaknesses": [
          "No release since 1.26.0 on 29 May 2026, and few commits to main since August",
          "The local Python executor isn't a security boundary, per its own guide",
          "A critical RCE in the remote executor (published December 2025) was fixed in February 2026",
          "No human approval hook, retry or resume built in",
          "Breaking removals such as WasmExecutor shipped in minor releases"
        ],
        "agentNotes": [
          "Run CodeAgent with `executor_type` set to e2b, docker, modal or blaxel whenever the model or its inputs aren't trusted",
          "Use smolagents 1.24.0 or later to get the remote-executor deserialisation fix",
          "Set max_steps and final_answer_checks so a run stops on its own",
          "Pass structured_output explicitly to MCPClient to avoid the default-change warning",
          "Pin the version, since minor releases have removed APIs"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.7
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 34,
          "payments": 60,
          "reliability": 64,
          "schema": 81,
          "security": 66,
          "transparency": 67
        },
        "provenanceScore": 62,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install smolagents   # MCP: pip install 'smolagents[mcp]'"
      },
      "letme": {
        "capability": "https://letme.dev/agent.framework",
        "tool": "https://letme.dev/smolagents"
      },
      "sameCompany": [
        "hugging-face-inference-providers",
        "hugging-face-inference-endpoints",
        "carbon-x",
        "smollm3-3b"
      ],
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Hugging Face, Inc.",
        "domain": "huggingface.co",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://huggingface.co/terms-of-service",
        "privacy": "https://huggingface.co/privacy",
        "statusPage": "",
        "changelog": "https://github.com/huggingface/smolagents/releases",
        "securityTxt": "unknown",
        "checked": "2026-11-06",
        "notes": [
          "SECURITY.md takes reports through GitHub private vulnerability reporting or security@huggingface.co, with no bounty.",
          "huggingface.co/robots.txt allows all crawlers.",
          "The terms and privacy links are Hugging Face's site-wide documents; the library itself collects nothing."
        ],
        "score": 62
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/smolagents.json",
      "live": {
        "slug": "smolagents",
        "versions": [
          {
            "registry": "github",
            "name": "huggingface/smolagents",
            "version": "v1.26.0",
            "released": "2026-05-29",
            "seenAt": "2026-11-07T00:06:55.865567193Z"
          },
          {
            "registry": "pypi",
            "name": "smolagents",
            "version": "1.26.0",
            "released": "2026-05-29",
            "seenAt": "2026-11-07T00:06:55.546186347Z"
          }
        ],
        "githubStars": 30238,
        "pypiWeekly": 171063,
        "securityTxt": {
          "url": "https://huggingface.co/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-07-01T08:42:00.000Z",
          "checkedAt": "2026-11-07T16:00:00.493446773Z"
        },
        "llmsTxt": {
          "url": "https://huggingface.co/docs/smolagents/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:57.593545427Z"
        },
        "updatedAt": "2026-11-07T16:00:00.493446773Z"
      }
    },
    "edges": [
      {
        "by": 57,
        "category": "maintenance",
        "leads": "microsoft-agent-framework",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Python 1.24.0 and .NET 1.27.0, both tagged on 2026-10-30 (30). 22 release tags in the 90 days to 1 November, 11 Python and 11 .NET (20). 610 open issues and 229 open pull requests on 1 November, and triage, labelling and stale-ping workflows run on new issues. We couldn't see reply times (17). Python and .NET packages are current, and Go is a public preview line with v0.2.1 tagged on 27 October 2026 (15). CI, CodeQL and Dependabot run, though two of four Dependabot update runs failed on 8 October, per the 8 October check, not re-read on 1 November (9).",
          "b": "v1.26.0 on 29 May 2026, 161 days before this check (10). No release in the 90 days to 6 November (0). 416 open issues and 1,045 open issues and pull requests on 6 November, with 144 issues opened in the 90 days to 3 November. Of the 50 newest, 26 had a comment and 1 was closed. Two 2026 CVE records say the vendor didn't respond to the reporter, and seven commits reached main from 8 August to 6 November (6). Python only, and the package is the current one (10). CI with actions pinned to commit SHAs and Dependabot for actions (8). 10+0+6+10+8 = 34."
        },
        "scores": {
          "a": 91,
          "b": 34
        }
      },
      {
        "by": 27,
        "category": "security",
        "leads": "microsoft-agent-framework",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Framework reading, so SOC 2 isn't scored. A package and version User-Agent goes out on client requests by default, with a feature-usage token on Foundry and Azure OpenAI paths. Both are documented with opt-out variables, and the observability module says the framework contacts no external system itself, with message content in traces off by default (25). `approval_mode` on function and MCP tools, an MCP tool allow-list, and Hyperlight and Monty sandboxes for model-written code in beta. Tools run without approval unless set (20). An Agent Safety page treats model-supplied arguments as untrusted, and FIDES labels content and enforces policy before sensitive tools run, though it is experimental and Python only (15). OpenTelemetry traces, metrics and logs to any exporter (15). SECURITY.md routes reports to MSRC with a bounty programme and coordinated disclosure, CodeQL runs in CI and three advisories were published with fixed versions on 7 October 2026. Microsoft's security.txt still carries an Expires of 23 September 2026 on 1 November. On 1 November the repository's advisories list showed none to our reader, while the GHSA-9f26-7mqc-9vc4 page still loads as published on 7 October, so no advisory after 17 October was found (18).",
          "b": "Framework reading (telemetry defaults, approvals, guardrails, sandboxing). No telemetry found in the source (25). No human approval hook beyond step callbacks; the local executor restricts imports but the guide says it isn't a security tool, and isolation needs a remote executor (10). The secure execution guide covers LLM-generated code risks, without prompt-injection guidance for tool output (7). OpenTelemetry tracing through OpenInference and run inspection (12). SECURITY.md with private reporting and CVE credit, and the remote-executor RCE was fixed in public, but two 2026 CVE records say the vendor didn't respond (12). 25+10+7+12+12 = 66."
        },
        "scores": {
          "a": 93,
          "b": 66
        }
      },
      {
        "by": 20,
        "category": "transparency",
        "leads": "microsoft-agent-framework",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "MIT (30). The core README says what the User-Agent and feature token are, and a design spec in the repository says the token goes only to Foundry and Azure OpenAI pipelines and not to third-party providers. That spec is still marked proposed on 1 November, and we found no statement of how long Microsoft keeps the data and no privacy document for the framework (22). Package lifecycle states are published per package, experimental APIs raise warnings, breaking changes are dated in the Python changelog and there are upgrade guides, but we found no written support window (14). Telemetry is disclosed with two opt-out variables (20).",
          "b": "Apache-2.0 (30). The library stores nothing itself; the default model sends prompts to Hugging Face's inference providers, which the docs show (20). Breaking removals such as WasmExecutor shipped in minor releases, without a written deprecation policy (5). No telemetry, though no page states it (12). 30+20+5+12 = 67."
        },
        "scores": {
          "a": 85,
          "b": 65
        }
      },
      {
        "by": 19,
        "category": "ergonomics",
        "leads": "microsoft-agent-framework",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "The documented Python agent with one MCP server is about 12 lines with `MCPStdioTool` from the core package, and `allowed_tools`, `load_tools` and progressive disclosure limit what reaches the model (25). The function loop stops at 40 iterations by default with a `max_function_calls` option, and compaction has its own docs page (20). A typed exception hierarchy, and the loop stops after three consecutive tool errors by default. We didn't find MCP failures documented (16). Workflows resume from checkpoints and sessions serialise, but we found no retry setting for model calls in the core client (14). An agent needs a client and instructions. Python and .NET are stable, Go is in preview, and the quickstarts assume a Microsoft Foundry project (12).",
          "b": "Framework reading. MCPClient loads an MCP server's tools in a few lines (20). max_steps, planning intervals and final_answer_checks bound a run (16). Errors from tools and code go back to the model as observations (14). No built-in retry, idempotency or resume beyond replaying memory (8). Few required parameters and many providers, Python only, and the default model needs a Hugging Face token (10). 20+16+14+8+10 = 68."
        },
        "scores": {
          "a": 87,
          "b": 68
        }
      },
      {
        "by": 14,
        "category": "reliability",
        "leads": "microsoft-agent-framework",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the local-software lines. Official packages on PyPI (Requires-Python \u003e=3.10 in the repository, though 1.24.0 makes Python 3.11 the supported baseline and says the next release drops 3.10) and NuGet (net8.0 to net10.0, netstandard2.0, net472) (20). Of the 15 most recent .NET build and test runs on 1 November 2026, 10 passed, 2 were cancelled and 4 wait for approval on a pull request, with none failed, and the scheduled runs on main passed on 31 October and 1 November (25). 610 open issues and 229 open pull requests on 1 November, up from 575 and 201 on 8 October. Closures and bug labels weren't re-counted (10). The Python changelog follows Keep a Changelog and states semantic versioning, and marks breaking changes, but they keep shipping in minor releases of released packages, such as agent-framework-core in 1.22.0 on 15 October and 1.23.0 on 22 October 2026 (8). Python 1.24.0 and .NET 1.27.0, with the root and core packages classed 5 - Production/Stable (15).",
          "b": "Local-package reading. Official PyPI package with Python 3.10 or newer (20). A public tests workflow runs pytest on Python 3.10 and 3.12 for pushes and pull requests; whether main passes wasn't read (15). 416 open issues and 1,045 open issues and pull requests on 6 November, with 144 issues opened in the 90 days to 3 November. Of the 50 newest, 26 had a comment and 1 was closed. Two 2026 CVE records say the vendor didn't respond to the reporter, and seven commits reached main from 8 August to 6 November (6). Release notes on GitHub tags but no changelog file, and the remote WasmExecutor was removed in a minor release (8). 1.0 since 31 December 2024 (15). 20+15+6+8+15 = 64."
        },
        "scores": {
          "a": 78,
          "b": 64
        }
      },
      {
        "by": 14,
        "category": "schema",
        "leads": "microsoft-agent-framework",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Typed in both languages, with py.typed markers and API references for Python and .NET on Microsoft Learn (25). Learn returns each docs page as Markdown when asked with an Accept header. No llms.txt was found (10). The overview has a table for when to use an agent or a workflow, and says to write a function instead where one would do (20). Tools are Python functions typed with Annotated and Pydantic Field, or AIFunction in .NET (15). Samples for every area and a typed exception hierarchy in the source, but we found no exception reference in the docs pages we read (12). A dated Python changelog and four upgrade guides. No changelog file was found for .NET (13).",
          "b": "Framework reading. A typed Python API with reference pages for agents, models, tools and executors (22). llms.txt and Markdown pages on huggingface.co (10). The docs say when to use CodeAgent or ToolCallingAgent and when a sandbox is needed (17). Tools declare typed inputs in a schema dictionary or from a decorated function (12). Many runnable examples; error classes exist but aren't catalogued (10). Versions tagged with release notes, no changelog file (10). 22+10+17+12+10+10 = 81."
        },
        "scores": {
          "a": 95,
          "b": 81
        }
      }
    ],
    "facts": [
      {
        "a": "Agent framework",
        "b": "Agent framework",
        "name": "Kind"
      },
      {
        "a": "Microsoft",
        "b": "Hugging Face",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-30",
        "b": "2026-05-29",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2022-09-15",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2023-03-28",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "14k stars, 48k PyPI/wk",
        "b": "30k stars, 171k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Microsoft Agent Framework scores 79.4 (A) on agent readiness against smolagents's 58.7 (C), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Microsoft Agent Framework or smolagents?"
      },
      {
        "answer": "Yes. Microsoft Agent Framework is open source (MIT). smolagents is open source (Apache-2.0).",
        "question": "Are Microsoft Agent Framework and smolagents open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 78 against 64",
          "Schema \u0026 documentation, 95 against 81",
          "Agent ergonomics, 87 against 68",
          "Security \u0026 auth, 93 against 66",
          "Maintenance \u0026 community, 91 against 34",
          "Transparency \u0026 trust, 85 against 65"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Free to start without a card"
        ],
        "goodFor": "Teams on Azure or .NET, and for teams moving off AutoGen or Semantic Kernel, that want MCP, approval, checkpointed workflows and OpenTelemetry in one SDK.",
        "slug": "microsoft-agent-framework",
        "watchFor": "Changes marked [BREAKING] shipped in minor releases of released packages, including agent-framework-core in 1.22.0 on 15 October and 1.23.0 on 22 October 2026"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Small Python projects and research that want code-writing agents with minimal abstraction.",
        "slug": "smolagents",
        "watchFor": "No release since 1.26.0 on 29 May 2026, and few commits to main since August"
      }
    ],
    "history": {
      "microsoft-agent-framework": [
        {
          "causes": [
            "event"
          ],
          "date": "2026-11-01",
          "delta": -3,
          "from": 82.4,
          "fromGrade": "A",
          "to": 79.4,
          "toGrade": "A"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.2,
          "from": 82.2,
          "fromGrade": "A",
          "to": 82.4,
          "toGrade": "A"
        }
      ],
      "smolagents": null
    },
    "job": {
      "capability": "agent.framework",
      "name": "Agent frameworks"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-microsoft-agent-framework.json",
        "title": "AgentOS vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-smolagents.json",
        "title": "AgentOS vs smolagents",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agno-vs-microsoft-agent-framework.json",
        "title": "Agno vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/agno-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agno-vs-smolagents.json",
        "title": "Agno vs smolagents",
        "url": "https://www.anchorterminal.com/compare/agno-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boxlang-ai-vs-microsoft-agent-framework.json",
        "title": "BoxLang AI vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/boxlang-ai-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boxlang-ai-vs-smolagents.json",
        "title": "BoxLang AI vs smolagents",
        "url": "https://www.anchorterminal.com/compare/boxlang-ai-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-microsoft-agent-framework.json",
        "title": "Claude Agent SDK vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-smolagents.json",
        "title": "Claude Agent SDK vs smolagents",
        "url": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crewai-vs-microsoft-agent-framework.json",
        "title": "CrewAI vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/crewai-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crewai-vs-smolagents.json",
        "title": "CrewAI vs smolagents",
        "url": "https://www.anchorterminal.com/compare/crewai-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-microsoft-agent-framework.json",
        "title": "Cursor Agent SDK vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-smolagents.json",
        "title": "Cursor Agent SDK vs smolagents",
        "url": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-agent-vs-microsoft-agent-framework.json",
        "title": "Docker Agent vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/docker-agent-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-agent-vs-smolagents.json",
        "title": "Docker Agent vs smolagents",
        "url": "https://www.anchorterminal.com/compare/docker-agent-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-adk-vs-microsoft-agent-framework.json",
        "title": "Agent Development Kit (ADK) vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/google-adk-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-adk-vs-smolagents.json",
        "title": "Agent Development Kit (ADK) vs smolagents",
        "url": "https://www.anchorterminal.com/compare/google-adk-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/guilds-run-vs-microsoft-agent-framework.json",
        "title": "guilds.run vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/guilds-run-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/guilds-run-vs-smolagents.json",
        "title": "guilds.run vs smolagents",
        "url": "https://www.anchorterminal.com/compare/guilds-run-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-microsoft-agent-framework.json",
        "title": "LangGraph vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-smolagents.json",
        "title": "LangGraph vs smolagents",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llamaindex-vs-microsoft-agent-framework.json",
        "title": "LlamaIndex Framework vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/llamaindex-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llamaindex-vs-smolagents.json",
        "title": "LlamaIndex Framework vs smolagents",
        "url": "https://www.anchorterminal.com/compare/llamaindex-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mastra-vs-microsoft-agent-framework.json",
        "title": "Mastra vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/mastra-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mastra-vs-smolagents.json",
        "title": "Mastra vs smolagents",
        "url": "https://www.anchorterminal.com/compare/mastra-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-openai-agents-sdk.json",
        "title": "Microsoft Agent Framework vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-pydantic-ai.json",
        "title": "Microsoft Agent Framework vs Pydantic AI",
        "url": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-pydantic-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-strands-agents.json",
        "title": "Microsoft Agent Framework vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-tradingagents.json",
        "title": "Microsoft Agent Framework vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-vercel-ai-sdk.json",
        "title": "Microsoft Agent Framework vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-smolagents.json",
        "title": "OpenAI Agents SDK vs smolagents",
        "url": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pydantic-ai-vs-smolagents.json",
        "title": "Pydantic AI vs smolagents",
        "url": "https://www.anchorterminal.com/compare/pydantic-ai-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smolagents-vs-strands-agents.json",
        "title": "smolagents vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/smolagents-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smolagents-vs-tradingagents.json",
        "title": "smolagents vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/smolagents-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smolagents-vs-vercel-ai-sdk.json",
        "title": "smolagents vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/smolagents-vs-vercel-ai-sdk"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 14,
        "edge": "microsoft-agent-framework",
        "key": "reliability",
        "microsoft-agent-framework": 78,
        "name": "Reliability",
        "smolagents": 64,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 14,
        "edge": "microsoft-agent-framework",
        "key": "schema",
        "microsoft-agent-framework": 95,
        "name": "Schema \u0026 documentation",
        "smolagents": 81,
        "weight": 13
      },
      {
        "by": 19,
        "edge": "microsoft-agent-framework",
        "key": "ergonomics",
        "microsoft-agent-framework": 87,
        "name": "Agent ergonomics",
        "smolagents": 68,
        "weight": 13
      },
      {
        "by": 27,
        "edge": "microsoft-agent-framework",
        "key": "security",
        "microsoft-agent-framework": 93,
        "name": "Security \u0026 auth",
        "smolagents": 66,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "microsoft-agent-framework": 60,
        "name": "Payments \u0026 pricing",
        "smolagents": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 57,
        "edge": "microsoft-agent-framework",
        "key": "maintenance",
        "microsoft-agent-framework": 91,
        "name": "Maintenance \u0026 community",
        "smolagents": 34,
        "weight": 7
      },
      {
        "by": 20,
        "edge": "microsoft-agent-framework",
        "key": "transparency",
        "microsoft-agent-framework": 85,
        "name": "Transparency \u0026 trust",
        "smolagents": 65,
        "weight": 7
      }
    ],
    "summary": "Microsoft Agent Framework scores 79.4 (A) on agent readiness against smolagents's 58.7 (C), and leads in 6 of 7 scored categories. Both do agent frameworks.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "microsoft-agent-framework": "Python 1.24.0 and .NET 1.27.0 are MIT, past 1.0 and released about weekly, with an MCP client, tool approval, checkpointed graph workflows and OpenTelemetry. Breaking changes ship in minor releases, a version User-Agent and a feature-usage token are sent by default, and a high-severity advisory in the .NET declarative workflows package was published on 7 October 2026.",
      "smolagents": "A compact Python library for code-writing and tool-calling agents, with MCP tools, any model provider and remote sandboxes through E2B, Docker, Modal or Blaxel. The newest release is 1.26.0 of 29 May 2026, a critical remote-executor RCE took about eight weeks to fix, and the local executor isn't a security boundary."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-smolagents",
    "json": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-smolagents.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-smolagents.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-smolagents.min.md"
  },
  "markdown": "Microsoft Agent Framework scores 79.4 (A) on agent readiness against smolagents's 58.7 (C), and leads in 6 of 7 scored categories. Both do agent frameworks.\n\n- Microsoft Agent Framework: grade A, 79.4/100, rank #18 of 1486. Markdown https://www.anchorterminal.com/tools/microsoft-agent-framework.md · JSON https://www.anchorterminal.com/api/v1/tools/microsoft-agent-framework.json\n- smolagents: grade C, 58.7/100, rank #735 of 1486. Markdown https://www.anchorterminal.com/tools/smolagents.md · JSON https://www.anchorterminal.com/api/v1/tools/smolagents.json\n- Best agent frameworks and SDKs: https://www.anchorterminal.com/best/frameworks/index.md\n- All 171 frameworks comparisons: https://www.anchorterminal.com/compare/frameworks/index.md\n\n## Which one, for what\n\n### Microsoft Agent Framework (A)\n\nGood for: Teams on Azure or .NET, and for teams moving off AutoGen or Semantic Kernel, that want MCP, approval, checkpointed workflows and OpenTelemetry in one SDK.\n\nAhead on:\n- Reliability, 78 against 64\n- Schema \u0026 documentation, 95 against 81\n- Agent ergonomics, 87 against 68\n- Security \u0026 auth, 93 against 66\n- Maintenance \u0026 community, 91 against 34\n- Transparency \u0026 trust, 85 against 65\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Free to start without a card\n\nWatch for: Changes marked [BREAKING] shipped in minor releases of released packages, including agent-framework-core in 1.22.0 on 15 October and 1.23.0 on 22 October 2026\n\n### smolagents (C)\n\nGood for: Small Python projects and research that want code-writing agents with minimal abstraction.\n\nWatch for: No release since 1.26.0 on 29 May 2026, and few commits to main since August\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Microsoft Agent Framework +57\n\n- Microsoft Agent Framework (91): Python 1.24.0 and .NET 1.27.0, both tagged on 2026-10-30 (30). 22 release tags in the 90 days to 1 November, 11 Python and 11 .NET (20). 610 open issues and 229 open pull requests on 1 November, and triage, labelling and stale-ping workflows run on new issues. We couldn't see reply times (17). Python and .NET packages are current, and Go is a public preview line with v0.2.1 tagged on 27 October 2026 (15). CI, CodeQL and Dependabot run, though two of four Dependabot update runs failed on 8 October, per the 8 October check, not re-read on 1 November (9).\n- smolagents (34): v1.26.0 on 29 May 2026, 161 days before this check (10). No release in the 90 days to 6 November (0). 416 open issues and 1,045 open issues and pull requests on 6 November, with 144 issues opened in the 90 days to 3 November. Of the 50 newest, 26 had a comment and 1 was closed. Two 2026 CVE records say the vendor didn't respond to the reporter, and seven commits reached main from 8 August to 6 November (6). Python only, and the package is the current one (10). CI with actions pinned to commit SHAs and Dependabot for actions (8). 10+0+6+10+8 = 34.\n\n### Security \u0026 auth: Microsoft Agent Framework +27\n\n- Microsoft Agent Framework (93): Framework reading, so SOC 2 isn't scored. A package and version User-Agent goes out on client requests by default, with a feature-usage token on Foundry and Azure OpenAI paths. Both are documented with opt-out variables, and the observability module says the framework contacts no external system itself, with message content in traces off by default (25). `approval_mode` on function and MCP tools, an MCP tool allow-list, and Hyperlight and Monty sandboxes for model-written code in beta. Tools run without approval unless set (20). An Agent Safety page treats model-supplied arguments as untrusted, and FIDES labels content and enforces policy before sensitive tools run, though it is experimental and Python only (15). OpenTelemetry traces, metrics and logs to any exporter (15). SECURITY.md routes reports to MSRC with a bounty programme and coordinated disclosure, CodeQL runs in CI and three advisories were published with fixed versions on 7 October 2026. Microsoft's security.txt still carries an Expires of 23 September 2026 on 1 November. On 1 November the repository's advisories list showed none to our reader, while the GHSA-9f26-7mqc-9vc4 page still loads as published on 7 October, so no advisory after 17 October was found (18).\n- smolagents (66): Framework reading (telemetry defaults, approvals, guardrails, sandboxing). No telemetry found in the source (25). No human approval hook beyond step callbacks; the local executor restricts imports but the guide says it isn't a security tool, and isolation needs a remote executor (10). The secure execution guide covers LLM-generated code risks, without prompt-injection guidance for tool output (7). OpenTelemetry tracing through OpenInference and run inspection (12). SECURITY.md with private reporting and CVE credit, and the remote-executor RCE was fixed in public, but two 2026 CVE records say the vendor didn't respond (12). 25+10+7+12+12 = 66.\n\n### Transparency \u0026 trust: Microsoft Agent Framework +20\n\n- Microsoft Agent Framework (85): MIT (30). The core README says what the User-Agent and feature token are, and a design spec in the repository says the token goes only to Foundry and Azure OpenAI pipelines and not to third-party providers. That spec is still marked proposed on 1 November, and we found no statement of how long Microsoft keeps the data and no privacy document for the framework (22). Package lifecycle states are published per package, experimental APIs raise warnings, breaking changes are dated in the Python changelog and there are upgrade guides, but we found no written support window (14). Telemetry is disclosed with two opt-out variables (20).\n- smolagents (65): Apache-2.0 (30). The library stores nothing itself; the default model sends prompts to Hugging Face's inference providers, which the docs show (20). Breaking removals such as WasmExecutor shipped in minor releases, without a written deprecation policy (5). No telemetry, though no page states it (12). 30+20+5+12 = 67.\n\n### Agent ergonomics: Microsoft Agent Framework +19\n\n- Microsoft Agent Framework (87): The documented Python agent with one MCP server is about 12 lines with `MCPStdioTool` from the core package, and `allowed_tools`, `load_tools` and progressive disclosure limit what reaches the model (25). The function loop stops at 40 iterations by default with a `max_function_calls` option, and compaction has its own docs page (20). A typed exception hierarchy, and the loop stops after three consecutive tool errors by default. We didn't find MCP failures documented (16). Workflows resume from checkpoints and sessions serialise, but we found no retry setting for model calls in the core client (14). An agent needs a client and instructions. Python and .NET are stable, Go is in preview, and the quickstarts assume a Microsoft Foundry project (12).\n- smolagents (68): Framework reading. MCPClient loads an MCP server's tools in a few lines (20). max_steps, planning intervals and final_answer_checks bound a run (16). Errors from tools and code go back to the model as observations (14). No built-in retry, idempotency or resume beyond replaying memory (8). Few required parameters and many providers, Python only, and the default model needs a Hugging Face token (10). 20+16+14+8+10 = 68.\n\n### Reliability: Microsoft Agent Framework +14\n\n- Microsoft Agent Framework (78): Read with the local-software lines. Official packages on PyPI (Requires-Python \u003e=3.10 in the repository, though 1.24.0 makes Python 3.11 the supported baseline and says the next release drops 3.10) and NuGet (net8.0 to net10.0, netstandard2.0, net472) (20). Of the 15 most recent .NET build and test runs on 1 November 2026, 10 passed, 2 were cancelled and 4 wait for approval on a pull request, with none failed, and the scheduled runs on main passed on 31 October and 1 November (25). 610 open issues and 229 open pull requests on 1 November, up from 575 and 201 on 8 October. Closures and bug labels weren't re-counted (10). The Python changelog follows Keep a Changelog and states semantic versioning, and marks breaking changes, but they keep shipping in minor releases of released packages, such as agent-framework-core in 1.22.0 on 15 October and 1.23.0 on 22 October 2026 (8). Python 1.24.0 and .NET 1.27.0, with the root and core packages classed 5 - Production/Stable (15).\n- smolagents (64): Local-package reading. Official PyPI package with Python 3.10 or newer (20). A public tests workflow runs pytest on Python 3.10 and 3.12 for pushes and pull requests; whether main passes wasn't read (15). 416 open issues and 1,045 open issues and pull requests on 6 November, with 144 issues opened in the 90 days to 3 November. Of the 50 newest, 26 had a comment and 1 was closed. Two 2026 CVE records say the vendor didn't respond to the reporter, and seven commits reached main from 8 August to 6 November (6). Release notes on GitHub tags but no changelog file, and the remote WasmExecutor was removed in a minor release (8). 1.0 since 31 December 2024 (15). 20+15+6+8+15 = 64.\n\n### Schema \u0026 documentation: Microsoft Agent Framework +14\n\n- Microsoft Agent Framework (95): Typed in both languages, with py.typed markers and API references for Python and .NET on Microsoft Learn (25). Learn returns each docs page as Markdown when asked with an Accept header. No llms.txt was found (10). The overview has a table for when to use an agent or a workflow, and says to write a function instead where one would do (20). Tools are Python functions typed with Annotated and Pydantic Field, or AIFunction in .NET (15). Samples for every area and a typed exception hierarchy in the source, but we found no exception reference in the docs pages we read (12). A dated Python changelog and four upgrade guides. No changelog file was found for .NET (13).\n- smolagents (81): Framework reading. A typed Python API with reference pages for agents, models, tools and executors (22). llms.txt and Markdown pages on huggingface.co (10). The docs say when to use CodeAgent or ToolCallingAgent and when a sandbox is needed (17). Tools declare typed inputs in a schema dictionary or from a decorated function (12). Many runnable examples; error classes exist but aren't catalogued (10). Versions tagged with release notes, no changelog file (10). 22+10+17+12+10+10 = 81.\n\n## Score by category\n\n| Category | Weight | Microsoft Agent Framework | smolagents | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 78 | 64 | Microsoft Agent Framework +14 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 95 | 81 | Microsoft Agent Framework +14 |\n| Agent ergonomics | 13% (16.2 this run) | 87 | 68 | Microsoft Agent Framework +19 |\n| Security \u0026 auth | 14% (17.5 this run) | 93 | 66 | Microsoft Agent Framework +27 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 91 | 34 | Microsoft Agent Framework +57 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 85 | 65 | Microsoft Agent Framework +20 |\n| Negative events | ≤15 | -5 | -6 | |\n| **Total** | | **79.4 · A** | **58.7 · C** | |\n\n## Facts side by side\n\n| Fact | Microsoft Agent Framework | smolagents |\n| --- | --- | --- |\n| Kind | Agent framework | Agent framework |\n| Vendor | Microsoft | Hugging Face |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | MIT | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-30 | 2026-05-29 |\n| Terms last updated | no document linked | 2022-09-15 |\n| Privacy policy last updated | no document linked | 2023-03-28 |\n| Customer content may train models | not read yet | not found in the text |\n| Terms restrict automated access | not read yet | not found in the text |\n| Terms restrict benchmarking | not read yet | not found in the text |\n| Terms or service can change without notice | not read yet | yes |\n| Arbitration or class-action waiver | not read yet | not found in the text |\n| Popularity | 14k stars, 48k PyPI/wk | 30k stars, 171k PyPI/wk |\n| Agent reviews | 3/5 (4) | none |\n\n## How the scores have moved\n\n### Microsoft Agent Framework\n\n- -3.0 on 1 November 2026: negative event\n- +0.2 on 27 October 2026: checklist\n\n### smolagents\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Microsoft Agent Framework.** Python 1.24.0 and .NET 1.27.0 are MIT, past 1.0 and released about weekly, with an MCP client, tool approval, checkpointed graph workflows and OpenTelemetry. Breaking changes ship in minor releases, a version User-Agent and a feature-usage token are sent by default, and a high-severity advisory in the .NET declarative workflows package was published on 7 October 2026.\n\n**smolagents.** A compact Python library for code-writing and tool-calling agents, with MCP tools, any model provider and remote sandboxes through E2B, Docker, Modal or Blaxel. The newest release is 1.26.0 of 29 May 2026, a critical remote-executor RCE took about eight weeks to fix, and the local executor isn't a security boundary.\n\n## Before you call either\n\n### Microsoft Agent Framework\n\n1. Pin exact versions. Minor releases have carried [BREAKING] changes, 1.23.0 moved MCP to the 2.x SDK, and 1.22.0 writes stored state older runtimes can't read, so read python/CHANGELOG.md first\n2. Set `approval_mode=\"always_require\"` on tools and MCP servers that write. Tools run without approval unless set, and 1.24.0 warns when the MCP default is left implicit\n3. Pass `allowed_tools` to `MCPStdioTool` or `MCPStreamableHTTPTool` so only the named MCP tools reach the model\n4. Set `AGENT_FRAMEWORK_USER_AGENT_DISABLED=true` to drop the framework's User-Agent and feature token, or `AGENT_FRAMEWORK_FEATURE_MASK_DISABLED=true` for the token alone\n5. On .NET, use Microsoft.Agents.AI.Workflows.Declarative 1.24.0 or later. Earlier versions could forward protected workflow values to an external MCP server\n\n### smolagents\n\n1. Run CodeAgent with `executor_type` set to e2b, docker, modal or blaxel whenever the model or its inputs aren't trusted\n2. Use smolagents 1.24.0 or later to get the remote-executor deserialisation fix\n3. Set max_steps and final_answer_checks so a run stops on its own\n4. Pass structured_output explicitly to MCPClient to avoid the default-change warning\n5. Pin the version, since minor releases have removed APIs\n\n## Questions\n\n### Which is better for AI agents, Microsoft Agent Framework or smolagents?\n\nMicrosoft Agent Framework scores 79.4 (A) on agent readiness against smolagents's 58.7 (C), and leads in 6 of 7 scored categories.\n\n### Are Microsoft Agent Framework and smolagents open source?\n\nYes. Microsoft Agent Framework is open source (MIT). smolagents is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-smolagents.json, and with the fewest tokens: https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-smolagents.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"microsoft-agent-framework\", \"b\": \"smolagents\"}`. From a terminal: `anchor compare microsoft-agent-framework smolagents`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/microsoft-agent-framework.json and https://www.anchorterminal.com/api/v1/tools/smolagents.json\n\n## Other comparisons with Microsoft Agent Framework or smolagents\n\n- [AgentOS vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/agentos-vs-microsoft-agent-framework.md)\n- [AgentOS vs smolagents](https://www.anchorterminal.com/compare/agentos-vs-smolagents.md)\n- [Agno vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/agno-vs-microsoft-agent-framework.md)\n- [Agno vs smolagents](https://www.anchorterminal.com/compare/agno-vs-smolagents.md)\n- [BoxLang AI vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/boxlang-ai-vs-microsoft-agent-framework.md)\n- [BoxLang AI vs smolagents](https://www.anchorterminal.com/compare/boxlang-ai-vs-smolagents.md)\n- [Claude Agent SDK vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/claude-agent-sdk-vs-microsoft-agent-framework.md)\n- [Claude Agent SDK vs smolagents](https://www.anchorterminal.com/compare/claude-agent-sdk-vs-smolagents.md)\n- [CrewAI vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/crewai-vs-microsoft-agent-framework.md)\n- [CrewAI vs smolagents](https://www.anchorterminal.com/compare/crewai-vs-smolagents.md)\n- [Cursor Agent SDK vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-microsoft-agent-framework.md)\n- [Cursor Agent SDK vs smolagents](https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-smolagents.md)\n- [Docker Agent vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/docker-agent-vs-microsoft-agent-framework.md)\n- [Docker Agent vs smolagents](https://www.anchorterminal.com/compare/docker-agent-vs-smolagents.md)\n- [Agent Development Kit (ADK) vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/google-adk-vs-microsoft-agent-framework.md)\n- [Agent Development Kit (ADK) vs smolagents](https://www.anchorterminal.com/compare/google-adk-vs-smolagents.md)\n- [guilds.run vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/guilds-run-vs-microsoft-agent-framework.md)\n- [guilds.run vs smolagents](https://www.anchorterminal.com/compare/guilds-run-vs-smolagents.md)\n- [LangGraph vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/langgraph-vs-microsoft-agent-framework.md)\n- [LangGraph vs smolagents](https://www.anchorterminal.com/compare/langgraph-vs-smolagents.md)\n- [LlamaIndex Framework vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/llamaindex-vs-microsoft-agent-framework.md)\n- [LlamaIndex Framework vs smolagents](https://www.anchorterminal.com/compare/llamaindex-vs-smolagents.md)\n- [Mastra vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/mastra-vs-microsoft-agent-framework.md)\n- [Mastra vs smolagents](https://www.anchorterminal.com/compare/mastra-vs-smolagents.md)\n- [Microsoft Agent Framework vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-openai-agents-sdk.md)\n- [Microsoft Agent Framework vs Pydantic AI](https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-pydantic-ai.md)\n- [Microsoft Agent Framework vs Strands Agents](https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-strands-agents.md)\n- [Microsoft Agent Framework vs TradingAgents](https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-tradingagents.md)\n- [Microsoft Agent Framework vs AI SDK](https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-vercel-ai-sdk.md)\n- [OpenAI Agents SDK vs smolagents](https://www.anchorterminal.com/compare/openai-agents-sdk-vs-smolagents.md)\n- [Pydantic AI vs smolagents](https://www.anchorterminal.com/compare/pydantic-ai-vs-smolagents.md)\n- [smolagents vs Strands Agents](https://www.anchorterminal.com/compare/smolagents-vs-strands-agents.md)\n- [smolagents vs TradingAgents](https://www.anchorterminal.com/compare/smolagents-vs-tradingagents.md)\n- [smolagents vs AI SDK](https://www.anchorterminal.com/compare/smolagents-vs-vercel-ai-sdk.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Microsoft Agent Framework vs smolagents",
        "url": ""
      }
    ],
    "description": "Microsoft Agent Framework scores 79.4 (A) to smolagents's 58.7 (C) for agent frameworks. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Microsoft Agent Framework A 79.4",
      "smolagents C 58.7",
      "scores"
    ],
    "h1": "Microsoft Agent Framework vs smolagents",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/microsoft-agent-framework-vs-smolagents",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Microsoft Agent Framework vs smolagents for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-smolagents"
  },
  "tokens": {
    "markdown": 5050,
    "slim": 2830
  },
  "version": 1
}
