# Update Pipeline Settings

Configure your pipeline's hosting, GPU acceleration, history granularity, and more. You can also expose your pipeline as an MCP tool.

***

## Open Pipeline Settings

1. In <ProductName />, go to **Pipelines**.
2. Find the pipeline you want to configure and click **Settings** next to its name.

<ClickableImage
  src="/img/how-tos/pipeline-settings.png"
  alt="The Pipeline Settings tab"
  size="large"
/>

## Use Your Pipeline as an MCP Tool

Turn on **Use as MCP tool** to expose a published pipeline version to your workspace MCP server. This makes the pipeline available as a tool to AI coding assistants like Cursor, Claude Code, and GitHub Copilot.

Runtime and hosting for the MCP tool are managed per service in the **Pipeline Hosting** section.

For detailed setup instructions, see [Use Your Pipelines as MCP Tools](/docs/how-to-guides/productionizing-your-pipeline/expose-pipeline-as-mcp-tool.mdx).

## Configure Pipeline Hosting

Use the **Pipeline Hosting** section to control how your pipeline scales and how long it stays active when idle. These settings apply only to pipelines deployed without a service. When a pipeline is published to a service, the service's hosting settings take over.

<FeatureFlag flag="services">
  For the difference between pipeline and service hosting settings, see [Gateway](/docs/concepts/gateway/gateway.mdx).
</FeatureFlag>

For production and business-critical pipelines, we recommend at least 2 replicas always available and a longer idle timeout, like 1 day or more. For test pipelines or pipelines with low traffic, you can keep 1 replica at a minimum and a shorter idle timeout to save resources. For details, see [Pipeline Hosting Settings](/docs/concepts/about-pipelines/about-pipelines.mdx#pipeline-hosting-settings).

### Set the Production Service Level

Turn on **Production** to apply the recommended production hosting values automatically:

- Minimum replicas: 2
- Idle timeout: 30 days

Turn it off to switch to development defaults:

- Minimum replicas: 0
- Idle timeout: 20 minutes

You can also set the values manually at any time, regardless of whether **Production** is on or off. Adding more replicas increases your costs.

## Enable GPU Acceleration

By default, pipelines run on CPU. You can enable GPU acceleration for a pipeline to speed it up. This is especially useful for pipelines that include components that run faster on a GPU, like custom components that use AI models.

When you enable GPU acceleration, the pipeline checks whether a component needs a GPU and assigns one automatically. GPUs are only used when required and are not reserved for the entire pipeline run.

If GPU acceleration is disabled and your pipeline includes components that rely on a GPU, those components run on the CPU instead. This can slow down processing and may cause timeouts, especially for larger or more complex pipelines.

Turn on **GPU Enabled** to allocate a GPU to your pipeline. When on, the platform assigns a GPU only to components that need it — not to the entire pipeline. 

<FeatureFlag flag="haystack-version-headers">
## Pin the Haystack Version

<ProductName /> uses Haystack Open Source as its underlying framework. You can choose which version of Haystack your pipeline runs on to keep behavior consistent and avoid breaking changes.

By default, your pipeline uses the default Haystack Open Source version. 

Choose a version from the *Haystack Version* list to pin the version your pipeline runs on. The selected version is saved to the pipeline configuration as a `haystack-ai` dependency, so your pipeline always uses that version.

Leave this unset to run on the default supported version.
</FeatureFlag>

## Configure History Granularity

History granularity controls how much of the conversation history gets sent to the pipeline on each turn. Use this setting for chat-based pipelines.

Choose one of the following from the *Granularity* dropdown:

- *Query & answer*: Sends only the user query and final answer from each previous turn. Use this to keep context lightweight.
- *All messages*: Sends every message from previous turns, including tool calls and reasoning. Use this when the pipeline needs full context to respond accurately.

## Enable Session Storage

Turn on **Session storage** to give each session an isolated file system. This lets tools like bash store and reuse files across requests within the same session.

<FeatureFlag flag="services">
## View Linked Services

Check the services where this pipeline is currently published. GPU settings, replicas, and idle timeout for these services are configured per service, not here.
</FeatureFlag>

## Manage Feedback Tags

Add tags in the **Feedback tags** section that users can select when leaving feedback on the pipeline's responses. Tags help you group and analyze the feedback you receive.

To add a tag, click **+ New Tag**, type the tag name, and press Enter. To remove a tag, click **×** next to it.

For details on working with feedback, see [Collect Feedback](/docs/how-to-guides/evaluating-your-pipeline/collect-feedback.mdx).

## Related Information

- [Use Your Pipelines as MCP Tools](/docs/how-to-guides/productionizing-your-pipeline/expose-pipeline-as-mcp-tool.mdx)
- [Gateway](/docs/concepts/gateway/gateway.mdx)
<FeatureFlag flag="haystack-version-headers">
- [Haystack Open Source](/docs/getting-started/whats-deepset-cloud/deepset-cloud-and-haystack.mdx)
</FeatureFlag>
- [Collect Feedback](/docs/how-to-guides/evaluating-your-pipeline/collect-feedback.mdx)
- [Pipelines](/docs/concepts/about-pipelines/about-pipelines.mdx)
