> ## Documentation Index
> Fetch the complete documentation index at: https://www.truefoundry.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Deprecation of MCP tool_settings

> The tool_settings manifest field on Remote, Stdio, and TrueFoundry-managed MCP servers is deprecated in favour of tool_policy and tool_metadata.

<Warning>
  **Applicable to:** Users who manage **Remote**, **Stdio**, or **TrueFoundry-managed** MCP server manifests that still define **`tool_settings`** — for example GitOps pipelines, Terraform, or scripts that call `PUT /v1/mcp`. If you only use the TrueFoundry UI **Tools** tab or already use `tool_policy` and `tool_metadata`, no action is required.

  [OpenAPI MCP servers](/docs/ai-gateway/mcp/openapi-mcp-server) are **not** affected and continue to use their existing tool-settings model.
</Warning>

## What Is Changing

The legacy **`tool_settings`** manifest field on Remote, Stdio, and TrueFoundry-managed MCP servers is deprecated. It is replaced by two fields:

| Field               | Purpose                                       |
| ------------------- | --------------------------------------------- |
| **`tool_policy`**   | Which tools are enabled or disabled           |
| **`tool_metadata`** | Per-tool description and annotation overrides |

Existing manifests that still use `tool_settings` will continue to work during the transition period. TrueFoundry converts `tool_settings` to `tool_policy` and `tool_metadata` on save, but we strongly encourage updating your manifests before the removal date.

## Migration Reference

### Disable specific tools

Legacy `tool_settings` used a denylist: tools with `disabled: true` were hidden; all other tools stayed enabled (including new upstream tools).

**Before (`tool_settings`):**

```yaml theme={"dark"}
tool_settings:
  - name: delete_record
    disabled: true
  - name: print_token
    disabled: true
```

**After (`tool_policy`):**

```yaml theme={"dark"}
tool_policy:
  enable_tools_by_default: true
  disabled_tools:
    - delete_record
    - print_token
```

### Override descriptions and annotations

**Before (`tool_settings`):**

```yaml theme={"dark"}
tool_settings:
  - name: search
    description: Search internal documentation
    annotations:
      readOnlyHint: true
```

**After (`tool_metadata`):**

```yaml theme={"dark"}
tool_metadata:
  search:
    description: Search internal documentation
    annotations:
      readOnlyHint: true
```

### Combined example

**Before:**

```yaml theme={"dark"}
tool_settings:
  - name: delete_record
    disabled: true
  - name: search
    description: Search internal documentation
    annotations:
      readOnlyHint: true
```

**After:**

```yaml theme={"dark"}
tool_policy:
  enable_tools_by_default: true
  disabled_tools:
    - delete_record
tool_metadata:
  search:
    description: Search internal documentation
    annotations:
      readOnlyHint: true
```

### Allowlist mode (new capability)

Legacy `tool_settings` could only disable tools — it could not express "enable only these tools." The new model supports that via `enable_tools_by_default: false` and `enabled_tools`:

```yaml theme={"dark"}
tool_policy:
  enable_tools_by_default: false
  enabled_tools:
    - multiply_numbers
    - greet_user
```

## Timeline

| Milestone                                                                                      | Date                   |
| ---------------------------------------------------------------------------------------------- | ---------------------- |
| Deprecation announcement                                                                       | **26th August, 2026**  |
| `tool_settings` fully removed from Remote, Stdio, and TrueFoundry-managed MCP server manifests | **26th October, 2026** |

<Warning>
  We strongly encourage migrating to `tool_policy` and `tool_metadata` well ahead of **26th October, 2026** to avoid disruptions to GitOps and programmatic MCP server management workflows.
</Warning>

***

If you have questions or need help migrating your manifests, reach out to [**support@truefoundry.com**](mailto:support@truefoundry.com) — we're happy to assist.
