# FoundryToolboxResource

- Module: [Aspire.Hosting.Foundry](/reference/api/typescript/aspire.hosting.foundry.md)
- Version: `13.6.0-preview.1.26478.8`
- Kind: `handle`
- Source: [GitHub](https://github.com/microsoft/aspire/tree/f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62)

Represents a Microsoft Foundry Toolbox endpoint associated with a Foundry project.

## Definition

```typescript
interface FoundryToolboxResource
  extends IExpressionValue,
    IManifestExpressionProvider,
    IResource,
    IResourceWithConnectionString,
    IValueProvider,
    IValueWithReferences {
  asExisting(): FoundryToolboxResource;
  publishAsExisting(): FoundryToolboxResource;
  runAsExisting(): FoundryToolboxResource;
  withAISearchTool(
      name: string,
      search: AzureSearchResource,
      indexName: string,
      description?: string): FoundryToolboxResource;
  withDescription(description: string): FoundryToolboxResource;
  withMcpTool(
      name: string,
      endpoint: string | EndpointReference | ReferenceExpression,
      options?: FoundryToolboxMcpToolOptions): FoundryToolboxResource;
  withWebSearchTool(
      name?: string,
      description?: string): FoundryToolboxResource;
}
```

## Methods

- [asExisting](/reference/api/typescript/aspire.hosting.foundry/foundrytoolboxresource/asexisting.md) -- `method` -- Uses an existing Microsoft Foundry Toolbox during local runs and deployment.
    ```typescript
  asExisting(): FoundryToolboxResource
  ```
- [publishAsExisting](/reference/api/typescript/aspire.hosting.foundry/foundrytoolboxresource/publishasexisting.md) -- `method` -- Reconciles a Microsoft Foundry Toolbox during local runs and uses an existing Toolbox during deployment.
    ```typescript
  publishAsExisting(): FoundryToolboxResource
  ```
- [runAsExisting](/reference/api/typescript/aspire.hosting.foundry/foundrytoolboxresource/runasexisting.md) -- `method` -- Uses an existing Microsoft Foundry Toolbox during local runs and reconciles it during deployment.
    ```typescript
  runAsExisting(): FoundryToolboxResource
  ```
- [withAISearchTool](/reference/api/typescript/aspire.hosting.foundry/foundrytoolboxresource/withaisearchtool.md) -- `method` -- Adds an Azure AI Search tool definition to the Toolbox.
    ```typescript
  withAISearchTool(name: string, search: AzureSearchResource, indexName: string, description?: string): FoundryToolboxResource
  ```
- [withDescription](/reference/api/typescript/aspire.hosting.foundry/foundrytoolboxresource/withdescription.md) -- `method` -- Sets the description persisted with each Toolbox version.
    ```typescript
  withDescription(description: string): FoundryToolboxResource
  ```
- [withMcpTool](/reference/api/typescript/aspire.hosting.foundry/foundrytoolboxresource/withmcptool.md) -- `method` -- Adds an MCP tool definition to the Toolbox.
    ```typescript
  withMcpTool(name: string, endpoint: string | EndpointReference | ReferenceExpression, options?: FoundryToolboxMcpToolOptions): FoundryToolboxResource
  ```
- [withWebSearchTool](/reference/api/typescript/aspire.hosting.foundry/foundrytoolboxresource/withwebsearchtool.md) -- `method` -- Adds a web search tool definition to the Toolbox.
    ```typescript
  withWebSearchTool(name?: string, description?: string): FoundryToolboxResource
  ```
