Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Azure Functions Agents Base Extension

Framework-neutral provider and lifecycle contracts for Python Agent integrations with Azure Functions.

This package is infrastructure for provider extensions. Applications should install a provider package such as azurefunctions-agents-extensions-agent-framework.

Provider contract

Provider packages register a zero-argument factory in the azurefunctions.agents.extensions.providers entry-point group. The entry-point name is the provider ID. The factory returns an AgentProvider with a matching provider_id, its distribution name, and a compile_binding() implementation.

compile_binding() receives the complete markdown instructions, logical Agent name, immutable provider options, injected parameter annotation, and an AgentCapabilities bundle. Providers declare supported_capabilities and translate neutral Skill/MCP definitions into their own runtime objects. The compiled recipe creates a fresh Agent context for each invocation and can run an Agent from a Durable activity.

Applications import the app class supplied by a provider package. Each Agent Function App uses one provider, configured when the app is constructed. Provider discovery is cached, while live Agents and clients are never cached.

Provider defaults are app-scoped. Binding options override defaults only for that binding. The app root is configured once when the provider app is constructed, or inferred from AzureWebJobsScriptRoot and then the current directory; decorators cannot override it.

Markdown lookup

An agent_name resolves exactly one UTF-8 file:

<app_root>/<agent_name>.agent.md
<app_root>/agents/<agent_name>.agent.md

The entire file is passed to the provider unchanged. Front matter, YAML, substitutions, tools, skills, MCP configuration, and history are not parsed by this package. If both locations exist, lookup fails as ambiguous. Absolute paths, separators, traversal components, and symlinks outside app_root are rejected.

Skills and MCP discovery

The base package discovers immutable definitions from the shared app root:

skills/<skill-name>/SKILL.md
mcp.json

Base discovery records safely contained directories that contain SKILL.md without reading or interpreting those files. Each provider owns Skill format parsing and validation. MCP servers must use http or streamable-http; local commands and stdio are rejected. Discovery does not execute scripts, resolve environment references, create credentials, or connect to servers.

Every Agent binding receives all valid Skills and MCP servers discovered from the app root. V1 has no app-level or per-binding capability selectors. Treat placing a definition under the app root as granting every Agent in that app access to it; use separate Function Apps when capabilities require isolation.

Only immutable definitions are retained in app state. Provider packages must create and close clients, credentials, tools, and other live resources within each invocation.

Durable support

Provider packages expose Durable support through their own [durable] extra. The base extra installs azure-functions-durable>=2.0.0b2; normal imports do not import or require Durable Functions. DurableAgentContext.call_agent() schedules a hidden activity with a deterministic, JSON-only payload and always uses the AgentFunctionApp provider. All file, client, Agent, model, and tool I/O occurs in the activity, never in the orchestrator.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file azurefunctions_agents_extensions_base-1.0.0b1.tar.gz.

File metadata

File hashes

Hashes for azurefunctions_agents_extensions_base-1.0.0b1.tar.gz
Algorithm Hash digest
SHA256 1ba59c44bd67495d967fca64799e252be96ac1dda753c678938bed1e306f5ae9
MD5 31fcd8dc201c1da9a4677200c8212d34
BLAKE2b-256 873eff789a5be6940cd854a101fcea9938b7915477775db987250e801ecc3e5e

See more details on using hashes here.

File details

Details for the file azurefunctions_agents_extensions_base-1.0.0b1-py3-none-any.whl.

File metadata

File hashes

Hashes for azurefunctions_agents_extensions_base-1.0.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 0266f3875ae6c1104c0f8e39158dcbf974d823c84ea99fde053366fdfa07a19e
MD5 6703694e579d927ca9a5a6f7ac38c5c8
BLAKE2b-256 cc4fe54eb5362dfe188459bcd41ffd8f66590b308037cc686a9b04991b99c63a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0b1 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page