# AzureConnectorNamespaceExtensions Methods

- Package: [Aspire.Hosting.Azure.ConnectorNamespace](/reference/api/csharp/aspire.hosting.azure.connectornamespace.md)
- Type: [AzureConnectorNamespaceExtensions](/reference/api/csharp/aspire.hosting.azure.connectornamespace/azureconnectornamespaceextensions.md)
- Kind: `Methods`
- Members: `10`

Extension methods for adding Azure Connector Namespace resources to the application model.

<a id="addazureconnectornamespace"></a>
<a id="addazureconnectornamespace-idistributedapplicationbuilder-string"></a>

## AddAzureConnectorNamespace(IDistributedApplicationBuilder, string)

- Name: `AddAzureConnectorNamespace(IDistributedApplicationBuilder, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureConnectorNamespaceResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62/src/Aspire.Hosting.Azure.ConnectorNamespace/AzureConnectorNamespaceExtensions.cs#L57-L251)

Adds an Azure Connector Namespace resource to the application model.

```csharp
public static class AzureConnectorNamespaceExtensions
{
    public static IResourceBuilder<AzureConnectorNamespaceResource> AddAzureConnectorNamespace(
        this IDistributedApplicationBuilder builder,
        string name)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IDistributedApplicationBuilder`)
  The distributed application builder.
- `name` (`string`)
  The 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:

```csharp
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
    });
```

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

<a id="addconnection"></a>
<a id="addconnection-iresourcebuilder-azureconnectornamespaceresource-string-string-azureconnectornamespaceconnectionoptions"></a>

## AddConnection(IResourceBuilder<AzureConnectorNamespaceResource>, string, string, AzureConnectorNamespaceConnectionOptions?)

- Name: `AddConnection(IResourceBuilder<AzureConnectorNamespaceResource>, string, string, AzureConnectorNamespaceConnectionOptions?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureConnectorNamespaceConnectionResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62/src/Aspire.Hosting.Azure.ConnectorNamespace/AzureConnectorNamespaceExtensions.cs#L274-L295)

Adds a connection to an Azure Connector Namespace.

```csharp
public static class AzureConnectorNamespaceExtensions
{
    public static IResourceBuilder<AzureConnectorNamespaceConnectionResource> AddConnection(
        this IResourceBuilder<AzureConnectorNamespaceResource> builder,
        string name,
        string connectorName,
        AzureConnectorNamespaceConnectionOptions? options = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureConnectorNamespaceResource>`)
  The Connector Namespace resource builder.
- `name` (`string`)
  The Aspire resource name.
- `connectorName` (`string`)
  The connector catalog name, such as `office365`.
- `options` ([AzureConnectorNamespaceConnectionOptions?](/reference/api/csharp/aspire.hosting.azure.connectornamespace/azureconnectornamespaceconnectionoptions.md)) `optional`
  The optional connection configuration.

## Returns

`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.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

<a id="addmcpserverconfig"></a>
<a id="addmcpserverconfig-iresourcebuilder-azureconnectornamespaceresource-string-azureconnectornamespacemcpserverconfigoptions"></a>

## AddMcpServerConfig(IResourceBuilder<AzureConnectorNamespaceResource>, string, AzureConnectorNamespaceMcpServerConfigOptions?)

- Name: `AddMcpServerConfig(IResourceBuilder<AzureConnectorNamespaceResource>, string, AzureConnectorNamespaceMcpServerConfigOptions?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62/src/Aspire.Hosting.Azure.ConnectorNamespace/AzureConnectorNamespaceExtensions.cs#L466-L485)

Adds a managed MCP server configuration to an Azure Connector Namespace.

```csharp
public static class AzureConnectorNamespaceExtensions
{
    public static IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> AddMcpServerConfig(
        this IResourceBuilder<AzureConnectorNamespaceResource> builder,
        string name,
        AzureConnectorNamespaceMcpServerConfigOptions? options = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureConnectorNamespaceResource>`)
  The Connector Namespace resource builder.
- `name` (`string`)
  The Aspire resource name.
- `options` ([AzureConnectorNamespaceMcpServerConfigOptions?](/reference/api/csharp/aspire.hosting.azure.connectornamespace/azureconnectornamespacemcpserverconfigoptions.md)) `optional`
  The optional MCP server configuration.

## Returns

`IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>` -- A resource builder for the MCP server configuration.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

<a id="asexisting"></a>
<a id="asexisting-iresourcebuilder-azureconnectornamespaceconnectionresource"></a>

## AsExisting(IResourceBuilder<AzureConnectorNamespaceConnectionResource>)

- Name: `AsExisting(IResourceBuilder<AzureConnectorNamespaceConnectionResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureConnectorNamespaceConnectionResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62/src/Aspire.Hosting.Azure.ConnectorNamespace/AzureConnectorNamespaceExtensions.cs)

Marks a Connector Namespace connection as an existing Azure resource.

```csharp
public static class AzureConnectorNamespaceExtensions
{
    public static IResourceBuilder<AzureConnectorNamespaceConnectionResource> AsExisting(
        this IResourceBuilder<AzureConnectorNamespaceConnectionResource> builder)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureConnectorNamespaceConnectionResource>`)
  The connection resource builder.

## Returns

`IResourceBuilder<AzureConnectorNamespaceConnectionResource>` -- The resource builder.

## ATS metadata

### ATS export

- Capability ID: `Aspire.Hosting.Azure.ConnectorNamespace/asExistingConnectorNamespaceConnection`
- Generated method name override: `asExisting`

<a id="asexisting-iresourcebuilder-azureconnectornamespacemcpserverconfigresource"></a>

## AsExisting(IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>)

- Name: `AsExisting(IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62/src/Aspire.Hosting.Azure.ConnectorNamespace/AzureConnectorNamespaceExtensions.cs)

Marks a managed MCP server configuration as an existing Azure resource.

```csharp
public static class AzureConnectorNamespaceExtensions
{
    public static IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> AsExisting(
        this IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> builder)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>`)
  The MCP server configuration resource builder.

## Returns

`IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>` -- The resource builder.

## ATS metadata

### ATS export

- Capability ID: `Aspire.Hosting.Azure.ConnectorNamespace/asExistingConnectorNamespaceMcpServerConfig`
- Generated method name override: `asExisting`

<a id="withaccesspolicy"></a>
<a id="withaccesspolicy-iresourcebuilder-azureconnectornamespaceconnectionresource-string-azureconnectornamespaceaccesspolicyoptions"></a>

## WithAccessPolicy(IResourceBuilder<AzureConnectorNamespaceConnectionResource>, string, AzureConnectorNamespaceAccessPolicyOptions)

- Name: `WithAccessPolicy(IResourceBuilder<AzureConnectorNamespaceConnectionResource>, string, AzureConnectorNamespaceAccessPolicyOptions)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureConnectorNamespaceConnectionResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62/src/Aspire.Hosting.Azure.ConnectorNamespace/AzureConnectorNamespaceExtensions.cs)

Adds a Microsoft Entra access policy to a Connector Namespace connection.

```csharp
public static class AzureConnectorNamespaceExtensions
{
    public static IResourceBuilder<AzureConnectorNamespaceConnectionResource> WithAccessPolicy(
        this IResourceBuilder<AzureConnectorNamespaceConnectionResource> builder,
        string name,
        AzureConnectorNamespaceAccessPolicyOptions options)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureConnectorNamespaceConnectionResource>`)
  The connection resource builder.
- `name` (`string`)
  The Aspire resource name for the policy.
- `options` ([AzureConnectorNamespaceAccessPolicyOptions](/reference/api/csharp/aspire.hosting.azure.connectornamespace/azureconnectornamespaceaccesspolicyoptions.md))
  The authorized principal and optional Azure policy name.

## Returns

`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.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

<a id="withaccesspolicy-iresourcebuilder-azureconnectornamespacemcpserverconfigresource-string-azureconnectornamespacemcpaccesspolicyoptions"></a>

## WithAccessPolicy(IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>, string, AzureConnectorNamespaceMcpAccessPolicyOptions)

- Name: `WithAccessPolicy(IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>, string, AzureConnectorNamespaceMcpAccessPolicyOptions)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62/src/Aspire.Hosting.Azure.ConnectorNamespace/AzureConnectorNamespaceExtensions.cs)

Adds a Microsoft Entra user or group access policy to a managed MCP server configuration.

```csharp
public static class AzureConnectorNamespaceExtensions
{
    public static IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> WithAccessPolicy(
        this IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> builder,
        string name,
        AzureConnectorNamespaceMcpAccessPolicyOptions options)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>`)
  The MCP server configuration resource builder.
- `name` (`string`)
  The Aspire resource name for the policy.
- `options` ([AzureConnectorNamespaceMcpAccessPolicyOptions](/reference/api/csharp/aspire.hosting.azure.connectornamespace/azureconnectornamespacemcpaccesspolicyoptions.md))
  The authorized user or group.

## Returns

`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.

## ATS metadata

### ATS export

- Capability ID: `Aspire.Hosting.Azure.ConnectorNamespace/withMcpServerConfigAccessPolicy`
- Generated method name override: `withAccessPolicy`

<a id="withconnector"></a>
<a id="withconnector-iresourcebuilder-azureconnectornamespacemcpserverconfigresource-string-iresourcebuilder-azureconnectornamespaceconnectionresource-azureconnectornamespacemcpconnectoroptions"></a>

## WithConnector(IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>, string, IResourceBuilder<AzureConnectorNamespaceConnectionResource>, AzureConnectorNamespaceMcpConnectorOptions)

- Name: `WithConnector(IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>, string, IResourceBuilder<AzureConnectorNamespaceConnectionResource>, AzureConnectorNamespaceMcpConnectorOptions)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62/src/Aspire.Hosting.Azure.ConnectorNamespace/AzureConnectorNamespaceExtensions.cs#L583-L642)

Adds a connector route and an explicit operation allow-list to a managed MCP server configuration.

```csharp
public static class AzureConnectorNamespaceExtensions
{
    public static IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> WithConnector(
        this IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource> builder,
        string connectorName,
        IResourceBuilder<AzureConnectorNamespaceConnectionResource> connection,
        AzureConnectorNamespaceMcpConnectorOptions options)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureConnectorNamespaceMcpServerConfigResource>`)
  The MCP server configuration resource builder.
- `connectorName` (`string`)
  The connector route name.
- `connection` (`IResourceBuilder<AzureConnectorNamespaceConnectionResource>`)
  The connection used by the connector route.
- `options` ([AzureConnectorNamespaceMcpConnectorOptions](/reference/api/csharp/aspire.hosting.azure.connectornamespace/azureconnectornamespacemcpconnectoroptions.md))
  The connector metadata and operation allow-list.

## Returns

`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.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

<a id="withidentityaccesspolicy"></a>
<a id="withidentityaccesspolicy-iresourcebuilder-azureconnectornamespaceconnectionresource-string-iresourcebuilder-azureuserassignedidentityresource-string"></a>

## WithIdentityAccessPolicy(IResourceBuilder<AzureConnectorNamespaceConnectionResource>, string, IResourceBuilder<AzureUserAssignedIdentityResource>, string?)

- Name: `WithIdentityAccessPolicy(IResourceBuilder<AzureConnectorNamespaceConnectionResource>, string, IResourceBuilder<AzureUserAssignedIdentityResource>, string?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureConnectorNamespaceConnectionResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62/src/Aspire.Hosting.Azure.ConnectorNamespace/AzureConnectorNamespaceExtensions.cs#L430-L449)

Adds a connection access policy for a user-assigned managed identity.

```csharp
public static class AzureConnectorNamespaceExtensions
{
    public static IResourceBuilder<AzureConnectorNamespaceConnectionResource> WithIdentityAccessPolicy(
        this IResourceBuilder<AzureConnectorNamespaceConnectionResource> builder,
        string name,
        IResourceBuilder<AzureUserAssignedIdentityResource> identity,
        string? policyName = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureConnectorNamespaceConnectionResource>`)
  The connection resource builder.
- `name` (`string`)
  The Aspire resource name for the policy.
- `identity` (`IResourceBuilder<AzureUserAssignedIdentityResource>`)
  The user-assigned managed identity authorized to use the connection.
- `policyName` (`string?`) `optional`
  The 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.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

<a id="withreference"></a>
<a id="withreference-iresourcebuilder-tdestination-iresourcebuilder-azureconnectornamespaceconnectionresource-string"></a>

## WithReference(IResourceBuilder<TDestination>, IResourceBuilder<AzureConnectorNamespaceConnectionResource>, string?)

- Name: `WithReference(IResourceBuilder<TDestination>, IResourceBuilder<AzureConnectorNamespaceConnectionResource>, string?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<TDestination>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62/src/Aspire.Hosting.Azure.ConnectorNamespace/AzureConnectorNamespaceExtensions.cs#L319-L334)

Adds a Connector Namespace connection reference to a destination resource.

```csharp
public static class AzureConnectorNamespaceExtensions
{
    public static IResourceBuilder<TDestination> WithReference<TDestination>(
        this IResourceBuilder<TDestination> builder,
        IResourceBuilder<AzureConnectorNamespaceConnectionResource> connection,
        string? connectionName = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<TDestination>`)
  The destination resource builder.
- `connection` (`IResourceBuilder<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.

## ATS metadata

### Ignored by ATS

- Reason: Polyglot AppHosts use the generic withReference export.
