# FunctionToolResource Properties

- Package: [Aspire.Hosting.Foundry](/reference/api/csharp/aspire.hosting.foundry.md)
- Type: [FunctionToolResource](/reference/api/csharp/aspire.hosting.foundry/functiontoolresource.md)
- Kind: `Properties`
- Members: `4`

A Foundry tool resource that enables an agent to call a user-defined function.

## Description

- Name: `Description`
- Modifiers: `nullable` `get`
- Returns: `string?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs#L61)

Gets the description of the function.

```csharp
public string? Description { get; }
```

## FunctionName

- Name: `FunctionName`
- Modifiers: `get`
- Returns: `string`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs#L51)

Gets the name of the function.

```csharp
public string FunctionName { get; }
```

## Parameters

- Name: `Parameters`
- Modifiers: `get`
- Returns: `BinaryData`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs#L56)

Gets the JSON schema defining the function parameters.

```csharp
public BinaryData Parameters { get; }
```

## StrictModeEnabled

- Name: `StrictModeEnabled`
- Modifiers: `nullable` `get`
- Returns: `bool?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/ToolResources/FunctionToolResource.cs#L66)

Gets whether strict mode is enabled for parameter validation.

```csharp
public bool? StrictModeEnabled { get; }
```
