AzureConnectorNamespaceExtensions Methods
ClassMethods10 members
Extension methods for adding Azure Connector Namespace resources to the application model.
AddAzureConnectorNamespace(IDistributedApplicationBuilder, string) Section titled AddAzureConnectorNamespace(IDistributedApplicationBuilder, string)extensionIResourceBuilder<AzureConnectorNamespaceResource> Adds an Azure Connector Namespace resource to the application model.
public static class AzureConnectorNamespaceExtensions{ public static IResourceBuilder<AzureConnectorNamespaceResource> AddAzureConnectorNamespace( this IDistributedApplicationBuilder builder, string name) { // ... }}Parameters
builderIDistributedApplicationBuilder The distributed application builder.namestringThe name of the resource.Returns
IResourceBuilder<AzureConnectorNamespaceResource> A resource builder for the Connector Namespace.Remarks
Connector Namespace is a preview service. Connections that use OAuth or another interactive authorization flow must be authorized in the Connector Namespaces portal after provisioning.
Examples
This example provisions a Connector Namespace with an Office 365 connection and exposes an allow-listed operation through a managed MCP server:
var connectors = builder.AddAzureConnectorNamespace("connectors");var office365 = connectors.AddConnection("office365", "office365");
connectors.AddMcpServerConfig("mcp") .WithConnector("mail", office365, new AzureConnectorNamespaceMcpConnectorOptions { Operations = [ new AzureConnectorNamespaceMcpOperationOptions { Name = "SendEmailV2" } ] }) .WithAccessPolicy("developer-access", new AzureConnectorNamespaceMcpAccessPolicyOptions { ObjectId = "11111111-1111-1111-1111-111111111111", TenantId = "22222222-2222-2222-2222-222222222222", PrincipalType = AzureConnectorNamespaceMcpAccessPolicyPrincipalType.User });AddConnection(IResourceBuilder<AzureConnectorNamespaceResource>, string, string, AzureConnectorNamespaceConnectionOptions?) Section titled AddConnection(IResourceBuilder<AzureConnectorNamespaceResource>, string, string, AzureConnectorNamespaceConnectionOptions?)extensionIResourceBuilder<AzureConnectorNamespaceConnectionResource> Adds a connection to an Azure Connector Namespace.
public static class AzureConnectorNamespaceExtensions{ public static IResourceBuilder<AzureConnectorNamespaceConnectionResource> AddConnection( this IResourceBuilder<AzureConnectorNamespaceResource> builder, string name, string connectorName, AzureConnectorNamespaceConnectionOptions? options = null) { // ... }}Parameters
builderIResourceBuilder<AzureConnectorNamespaceResource> The Connector Namespace resource builder.namestringThe Aspire resource name.connectorName stringThe connector catalog name, such as office365.optionsAzureReturns
IResourceBuilder<AzureConnectorNamespaceConnectionResource> A resource builder for the connection.Remarks
This method provisions the connection resource but does not automate OAuth consent or other interactive authorization. Complete those steps in the Connector Namespaces portal.
AddMcpServerConfig(IResourceBuilder<AzureConnectorNamespaceResource>, string, AzureConnectorNamespaceMcpServerConfigOptions?) Section titled AddMcpServerConfig(IResourceBuilder<AzureConnectorNamespaceResource>, string, AzureConnectorNamespaceMcpServerConfigOptions?)extensionIResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> Adds a managed MCP server configuration to an Azure Connector Namespace.
public static class AzureConnectorNamespaceExtensions{ public static IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> AddMcpServerConfig( this IResourceBuilder<AzureConnectorNamespaceResource> builder, string name, AzureConnectorNamespaceMcpServerConfigOptions? options = null) { // ... }}Parameters
builderIResourceBuilder<AzureConnectorNamespaceResource> The Connector Namespace resource builder.namestringThe Aspire resource name.optionsAzureReturns
IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> A resource builder for the MCP server configuration.AsExisting(IResourceBuilder<AzureConnectorNamespaceConnectionResource>) Section titled AsExisting(IResourceBuilder<AzureConnectorNamespaceConnectionResource>)extensionIResourceBuilder<AzureConnectorNamespaceConnectionResource> Marks a Connector Namespace connection as an existing Azure resource.
public static class AzureConnectorNamespaceExtensions{ public static IResourceBuilder<AzureConnectorNamespaceConnectionResource> AsExisting( this IResourceBuilder<AzureConnectorNamespaceConnectionResource> builder) { // ... }}Parameters
builderIResourceBuilder<AzureConnectorNamespaceConnectionResource> The connection resource builder.Returns
IResourceBuilder<AzureConnectorNamespaceConnectionResource> The resource builder.AsExisting(IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>) Section titled AsExisting(IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>)extensionIResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> Marks a managed MCP server configuration as an existing Azure resource.
public static class AzureConnectorNamespaceExtensions{ public static IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> AsExisting( this IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> builder) { // ... }}Parameters
builderIResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> The MCP server configuration resource builder.Returns
IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> The resource builder.WithAccessPolicy(IResourceBuilder<AzureConnectorNamespaceConnectionResource>, string, AzureConnectorNamespaceAccessPolicyOptions) Section titled WithAccessPolicy(IResourceBuilder<AzureConnectorNamespaceConnectionResource>, string, AzureConnectorNamespaceAccessPolicyOptions)extensionIResourceBuilder<AzureConnectorNamespaceConnectionResource> Adds a Microsoft Entra access policy to a Connector Namespace connection.
public static class AzureConnectorNamespaceExtensions{ public static IResourceBuilder<AzureConnectorNamespaceConnectionResource> WithAccessPolicy( this IResourceBuilder<AzureConnectorNamespaceConnectionResource> builder, string name, AzureConnectorNamespaceAccessPolicyOptions options) { // ... }}Parameters
builderIResourceBuilder<AzureConnectorNamespaceConnectionResource> The connection resource builder.namestringThe Aspire resource name for the policy.optionsAzureReturns
IResourceBuilder<AzureConnectorNamespaceConnectionResource> The connection resource builder.Remarks
Access policies authorize a specific Microsoft Entra principal to use the connection. They do not perform connector OAuth consent and should be limited to principals that require access.
WithAccessPolicy(IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>, string, AzureConnectorNamespaceMcpAccessPolicyOptions) Section titled WithAccessPolicy(IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>, string, AzureConnectorNamespaceMcpAccessPolicyOptions)extensionIResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> Adds a Microsoft Entra user or group access policy to a managed MCP server configuration.
public static class AzureConnectorNamespaceExtensions{ public static IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> WithAccessPolicy( this IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> builder, string name, AzureConnectorNamespaceMcpAccessPolicyOptions options) { // ... }}Parameters
builderIResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> The MCP server configuration resource builder.namestringThe Aspire resource name for the policy.optionsAzureReturns
IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> The MCP server configuration resource builder.Remarks
Managed MCP endpoints reject callers that do not have a config-scoped access policy. Connector Namespace currently supports Microsoft Entra users and groups for these policies. The Azure child resource name is set to the principal object ID as required by the service.
WithConnector(IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>, string, IResourceBuilder<AzureConnectorNamespaceConnectionResource>, AzureConnectorNamespaceMcpConnectorOptions) Section titled WithConnector(IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>, string, IResourceBuilder<AzureConnectorNamespaceConnectionResource>, AzureConnectorNamespaceMcpConnectorOptions)extensionIResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> Adds a connector route and an explicit operation allow-list to a managed MCP server configuration.
public static class AzureConnectorNamespaceExtensions{ public static IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> WithConnector( this IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> builder, string connectorName, IResourceBuilder<AzureConnectorNamespaceConnectionResource> connection, AzureConnectorNamespaceMcpConnectorOptions options) { // ... }}Parameters
builderIResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> The MCP server configuration resource builder.connectorName stringThe connector route name.connectionIResourceBuilder<AzureConnectorNamespaceConnectionResource> The connection used by the connector route.optionsAzureReturns
IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> The MCP server configuration resource builder.Remarks
Connections and MCP server configurations are separate Azure resources so a connection can be reused independently. This method links the MCP server configuration to its underlying connection and exposes only the operations listed in
options as MCP tools. Operation IDs are connector-specific and should be verified against the connector operation metadata. The current Connector Namespace preview supports one connector per managed MCP server configuration. WithIdentityAccessPolicy(IResourceBuilder<AzureConnectorNamespaceConnectionResource>, string, IResourceBuilder<AzureUserAssignedIdentityResource>, string?) Section titled WithIdentityAccessPolicy(IResourceBuilder<AzureConnectorNamespaceConnectionResource>, string, IResourceBuilder<AzureUserAssignedIdentityResource>, string?)extensionIResourceBuilder<AzureConnectorNamespaceConnectionResource> Adds a connection access policy for a user-assigned managed identity.
public static class AzureConnectorNamespaceExtensions{ public static IResourceBuilder<AzureConnectorNamespaceConnectionResource> WithIdentityAccessPolicy( this IResourceBuilder<AzureConnectorNamespaceConnectionResource> builder, string name, IResourceBuilder<AzureUserAssignedIdentityResource> identity, string? policyName = null) { // ... }}Parameters
builderIResourceBuilder<AzureConnectorNamespaceConnectionResource> The connection resource builder.namestringThe Aspire resource name for the policy.identityIResourceBuilder<AzureUserAssignedIdentityResource> The user-assigned managed identity authorized to use the connection.policyName string?optionalThe optional Azure child resource name. The Aspire resource name is used when omitted.Returns
IResourceBuilder<AzureConnectorNamespaceConnectionResource> The connection resource builder.Remarks
This method authorizes the identity to use the connection. The connection's downstream OAuth, API key, or basic authentication must still be configured separately.
WithReference(IResourceBuilder<TDestination>, IResourceBuilder<AzureConnectorNamespaceConnectionResource>, string?) Section titled WithReference(IResourceBuilder<TDestination>, IResourceBuilder<AzureConnectorNamespaceConnectionResource>, string?)extensionIResourceBuilder<TDestination> Adds a Connector Namespace connection reference to a destination resource.
public static class AzureConnectorNamespaceExtensions{ public static IResourceBuilder<TDestination> WithReference<TDestination>( this IResourceBuilder<TDestination> builder, IResourceBuilder<AzureConnectorNamespaceConnectionResource> connection, string? connectionName = null) { // ... }}Parameters
builderIResourceBuilder<TDestination> The destination resource builder.connectionIResourceBuilder<AzureConnectorNamespaceConnectionResource> The Connector Namespace connection resource.connectionName string?optional The optional configuration prefix. The connection's Aspire resource name is used when omitted. Returns
IResourceBuilder<TDestination> The destination resource builder.Remarks
The reference injects
{connectionName}__connectorGatewayName and {connectionName}__connectionName for the Azure Connector SDK.