Tool Reference
MCP tool names
The tables below list every tool the MCP server can expose, by its MCP tool name. MCP tool name is the name an
agent calls and the name you pass to tools_to_register:
configure_mcp_server(
mcp_server_instance=mcp,
tools_to_register={"list_pipelines", "get_pipeline", "grep_object_store"},
)
Note
A few MCP tool names differ from the Python function that implements them (the function is what appears under Tool base functions below). Always register the MCP tool name listed in this table:
| MCP tool name | Implemented by Python function |
|---|---|
search_component_definitions |
search_component_definition |
get_from_object_store |
create_get_from_object_store |
get_slice_from_object_store |
create_get_slice_from_object_store |
grep_object_store |
create_grep_object_store |
sed_object_store |
create_sed_object_store |
yq_object_store |
create_yq_object_store |
search_docs |
get_docs_search_tool |
Pipelines
The Memory column describes how a tool interacts with the object store (see MCP server concepts):
- explorable: The tool's output is stored and returned as an
@obj_idreference. - referenceable: The tool accepts
@obj_idreferences as parameters. - none: The tool returns its output directly.
| MCP tool name | Workspace | Memory | Description |
|---|---|---|---|
list_pipelines |
required | explorable | List all pipelines in the workspace. |
get_pipeline |
required | explorable | Fetch a pipeline's configuration and status. |
create_pipeline |
required | explorable, referenceable | Create a new pipeline from a YAML configuration. |
validate_pipeline |
required | explorable, referenceable | Validate a YAML configuration without saving it. |
deploy_pipeline |
required | explorable | Deploy a pipeline and wait for it to become available. |
get_pipeline_logs |
required | explorable | Fetch a deployed pipeline's logs. |
debug_pipeline |
required | explorable, referenceable | Run a YAML configuration in debug mode, optionally breaking at a component or resuming from a snapshot. |
search_pipeline |
required | explorable | Run a query against a deployed pipeline. |
search_pipeline_with_filters |
required | explorable | Run a query with metadata filters. |
search_pipeline_with_params |
required | explorable | Run a query with component-level parameter overrides. |
Pipeline versions
| MCP tool name | Workspace | Memory | Description |
|---|---|---|---|
list_pipeline_versions |
required | explorable | List a pipeline's saved versions. |
get_pipeline_version |
required | explorable | Fetch a specific pipeline version. |
create_pipeline_version |
required | explorable, referenceable | Save the current configuration as a new version. |
patch_pipeline_version |
required | explorable, referenceable | Apply a partial update to a pipeline version. |
restore_pipeline_version |
required | explorable, referenceable | Restore a pipeline to an earlier version. |
Indexes
| MCP tool name | Workspace | Memory | Description |
|---|---|---|---|
list_indexes |
required | explorable | List all indexes in the workspace. |
get_index |
required | explorable | Fetch an index's configuration. |
create_index |
required | explorable, referenceable | Create a new index from a YAML configuration. |
update_index |
required | explorable, referenceable | Update an existing index's configuration. |
validate_index |
required | explorable, referenceable | Validate an index configuration without saving it. |
deploy_index |
required | explorable | Deploy an index. |
Deployments (AI Gateways)
A deployment serves a pipeline behind a stable endpoint, independent of the pipeline's own draft/version history. Each deployment tracks its own history of served pipeline configurations as revisions.
| MCP tool name | Workspace | Memory | Description |
|---|---|---|---|
list_deployments |
required | explorable | List all deployments in the workspace. |
get_deployment |
required | explorable | Fetch a deployment's details, active revision, and runtime status. |
create_deployment |
required | explorable, referenceable | Create a new deployment, optionally linked to a pipeline. |
update_deployment |
required | explorable, referenceable | Update a deployment's metadata, sizing, or execution mode. |
delete_deployment |
required | explorable | Delete a deployment along with all of its revisions. |
list_deployment_tags |
required | explorable | List distinct tags in use across deployments in the workspace. |
add_deployment_tag |
required | explorable | Add a tag to a deployment. |
delete_deployment_tag |
required | explorable | Remove a tag from a deployment. |
list_deployment_revisions |
required | explorable | List a deployment's revision history. |
get_deployment_revision |
required | explorable | Fetch a specific revision, including its config YAML. |
create_deployment_revision |
required | explorable, referenceable | Push a new revision onto a deployment. |
activate_deployment_revision |
required | explorable | Activate a revision as the deployment's served revision. |
activate_deployment |
required | explorable | Re-activate a deployment's current active revision. |
deactivate_deployment |
required | explorable | Mark a deployment as no longer desired to be served. |
list_deployment_activity |
required | explorable | List activation and revision activity for a deployment. |
get_deployment_metrics |
required | explorable | Fetch per-replica CPU/memory usage and replica counts. |
get_deployment_stats |
required | explorable | Fetch query volume, outcome split, and run durations. |
Search history and traces
| MCP tool name | Workspace | Memory | Description |
|---|---|---|---|
list_search_history |
required | explorable | List search history across the workspace. |
list_pipeline_search_history |
required | explorable | List search history for one pipeline. |
list_pipeline_traces |
required | explorable | List lightweight run-trace summaries for a pipeline. |
get_pipeline_trace |
required | explorable | Fetch the full execution trace for one query, including component spans with input/output and logs. |
get_pipeline_trace_span_tags |
required | explorable | Fetch the tags of a single span, to inspect one component's input/output cheaply. |
get_pipeline_trace_logs |
required | explorable | Fetch only the log entries for one run. |
Templates
| MCP tool name | Workspace | Memory | Description |
|---|---|---|---|
list_templates |
required | explorable | List available pipeline templates. |
get_template |
required | explorable | Fetch a specific pipeline template. |
search_templates |
required | explorable | Search templates by semantic similarity. |
Haystack components
| MCP tool name | Workspace | Memory | Description |
|---|---|---|---|
list_component_families |
not needed | explorable | List the available Haystack component families. |
get_component_definition |
not needed | explorable | Fetch a component's initialization parameters and I/O. |
search_component_definitions |
not needed | explorable | Search component definitions by semantic similarity. |
get_custom_components |
not needed | explorable | List the custom components installed for the organization. |
run_component |
not needed | explorable, referenceable | Run a single component in isolation to test its behavior. |
Custom components
| MCP tool name | Workspace | Memory | Description |
|---|---|---|---|
list_custom_component_installations |
required | explorable | List custom component installations. |
get_latest_custom_component_installation_logs |
required | explorable | Fetch logs for the most recent custom component installation. |
Workspaces, secrets and models
| MCP tool name | Workspace | Memory | Description |
|---|---|---|---|
list_workspaces |
not needed | explorable | List the workspaces available to the API key. |
get_workspace |
not needed | explorable | Fetch a workspace's details. |
create_workspace |
not needed | explorable | Create a new workspace. |
list_secrets |
not needed | explorable | List the secrets available to the organization. |
get_secret |
not needed | explorable | Fetch a secret's metadata by ID. |
get_models |
required | explorable | List models available for use in pipelines. |
Object store
These tools let an agent inspect and manipulate stored objects without pulling them into context. See Tool output truncation and exploration.
| MCP tool name | Workspace | Memory | Description |
|---|---|---|---|
get_from_object_store |
not needed | none | Fetch a stored object, or a nested value by path. |
get_slice_from_object_store |
not needed | none | Extract a range from a stored string or list. |
grep_object_store |
not needed | none | Regex-search a stored string and return matches with context. |
sed_object_store |
not needed | none | Regex-replace within a stored string, storing the result as a new object. |
yq_object_store |
not needed | none | Query or transform stored YAML/JSON with a jq filter expression. |
Documentation and skills
| MCP tool name | Workspace | Memory | Description |
|---|---|---|---|
search_docs |
not needed | none | Search the Haystack Enterprise Platform documentation. Requires docs search to be configured on the server. |
load_skill |
not needed | none | Load a bundled skill containing detailed guidance for a specific task. |
Tool base functions
The Python functions that implement the tools above. Their docstrings are what the calling LLM receives as the tool description.
deepset_mcp.tools.get_latest_custom_component_installation_logs
async
get_latest_custom_component_installation_logs(
*, client: AsyncClientProtocol, workspace: str
) -> str
Get the logs from the latest custom component installation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The API client to use. |
required |
workspace
|
str
|
The workspace to operate in. |
required |
Returns:
| Type | Description |
|---|---|
str
|
The latest installation logs or error message. |
deepset_mcp.tools.list_custom_component_installations
async
list_custom_component_installations(
*,
client: AsyncClientProtocol,
workspace: str,
limit: int = 20,
after: str | None = None,
) -> PaginatedResponse[CustomComponentInstallation] | str
List custom component installations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The API client to use. |
required |
workspace
|
str
|
The workspace to operate in. |
required |
limit
|
int
|
Maximum number of installations to return per page. |
20
|
after
|
str | None
|
The cursor to fetch the next page of results. |
None
|
Returns:
| Type | Description |
|---|---|
PaginatedResponse[CustomComponentInstallation] | str
|
Custom component installations or error message. |
deepset_mcp.tools.activate_deployment
async
activate_deployment(
*,
client: AsyncClientProtocol,
workspace: str,
deployment_id: str,
) -> Deployment | str
Re-activates a deployment's current active revision, marking it as desired to be served.
Use this to bring a deactivated deployment back online without pushing a new revision.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
deployment_id
|
str
|
ID of the deployment. |
required |
Returns:
| Type | Description |
|---|---|
Deployment | str
|
The updated deployment or error message. |
deepset_mcp.tools.activate_deployment_revision
async
activate_deployment_revision(
*,
client: AsyncClientProtocol,
workspace: str,
deployment_id: str,
revision_id: str,
) -> Deployment | str
Activates a revision, marking it as the deployment's desired served revision.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
deployment_id
|
str
|
ID of the deployment. |
required |
revision_id
|
str
|
ID of the revision to activate. |
required |
Returns:
| Type | Description |
|---|---|
Deployment | str
|
The updated deployment or error message. |
deepset_mcp.tools.add_deployment_tag
async
add_deployment_tag(
*,
client: AsyncClientProtocol,
workspace: str,
deployment_id: str,
tag_name: str,
) -> list[str] | str
Adds a tag to a deployment. Each deployment supports at most three tags.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
deployment_id
|
str
|
ID of the deployment. |
required |
tag_name
|
str
|
Tag to add (1-50 characters; letters, digits, spaces, underscores, hyphens). |
required |
Returns:
| Type | Description |
|---|---|
list[str] | str
|
The deployment's full tag list after the add, or error message. |
deepset_mcp.tools.create_deployment
async
create_deployment(
*,
client: AsyncClientProtocol,
workspace: str,
name: str,
description: str | None = None,
group_label: str | None = None,
origin_pipeline_id: str | None = None,
deployment_mode: DeploymentMode = MANAGED,
service_level: DeploymentServiceLevel = DEVELOPMENT,
idle_timeout_in_seconds: int | None = None,
min_query_replica_count: int | None = None,
max_query_replica_count: int | None = None,
max_index_replica_count: int | None = None,
cpu_request: str | None = None,
cpu_limit: str | None = None,
memory_request: str | None = None,
memory_limit: str | None = None,
gpu_limit_gigabyte: int | None = None,
) -> Deployment | str
Creates a new deployment (AI Gateway), optionally linked to a pipeline.
A deployment created without an origin_pipeline_id has no active revision until you call
create_deployment_revision and activate_deployment_revision. Default service sizing follows
Development unless explicit sizing fields are provided.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
name
|
str
|
Name of the deployment. |
required |
description
|
str | None
|
Optional description. |
None
|
group_label
|
str | None
|
Optional label used to group related deployments. |
None
|
origin_pipeline_id
|
str | None
|
ID of the platform pipeline to link, if any. |
None
|
deployment_mode
|
DeploymentMode
|
Execution mode, "MANAGED" or "SERVERLESS" (default "MANAGED"). |
MANAGED
|
service_level
|
DeploymentServiceLevel
|
Sizing tier, "PRODUCTION", "DEVELOPMENT", or "CUSTOM" (default "DEVELOPMENT"). |
DEVELOPMENT
|
idle_timeout_in_seconds
|
int | None
|
Seconds of inactivity before scaling down. |
None
|
min_query_replica_count
|
int | None
|
Minimum number of query replicas. |
None
|
max_query_replica_count
|
int | None
|
Maximum number of query replicas. |
None
|
max_index_replica_count
|
int | None
|
Maximum number of index replicas. |
None
|
cpu_request
|
str | None
|
Requested CPU per replica. |
None
|
cpu_limit
|
str | None
|
CPU limit per replica. |
None
|
memory_request
|
str | None
|
Requested memory per replica. |
None
|
memory_limit
|
str | None
|
Memory limit per replica. |
None
|
gpu_limit_gigabyte
|
int | None
|
GPU memory limit in gigabytes. |
None
|
Returns:
| Type | Description |
|---|---|
Deployment | str
|
The created deployment or error message. |
deepset_mcp.tools.create_deployment_revision
async
create_deployment_revision(
*,
client: AsyncClientProtocol,
workspace: str,
deployment_id: str,
comment: str,
config_yaml: str | None = None,
source_version_id: str | None = None,
source_type: DeploymentSourceType = PLATFORM_PIPELINE,
) -> DeploymentRevision | str
Pushes a new revision onto a deployment, e.g. from a platform pipeline version.
Creating a revision does not serve it automatically; call activate_deployment_revision
to make it the deployment's served revision.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
deployment_id
|
str
|
ID of the deployment. |
required |
comment
|
str
|
Comment describing the revision. |
required |
config_yaml
|
str | None
|
Inline pipeline configuration YAML, for an externally pushed revision. |
None
|
source_version_id
|
str | None
|
ID of the source pipeline version, for a platform pipeline revision. |
None
|
source_type
|
DeploymentSourceType
|
Where the revision's pipeline configuration comes from, "PLATFORM_PIPELINE" (default) or "EXTERNAL_PIPELINE". |
PLATFORM_PIPELINE
|
Returns:
| Type | Description |
|---|---|
DeploymentRevision | str
|
The newly created revision or error message. |
deepset_mcp.tools.deactivate_deployment
async
deactivate_deployment(
*,
client: AsyncClientProtocol,
workspace: str,
deployment_id: str,
) -> Deployment | str
Marks a deployment as no longer desired to be served, keeping its active revision intact.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
deployment_id
|
str
|
ID of the deployment. |
required |
Returns:
| Type | Description |
|---|---|
Deployment | str
|
The updated deployment or error message. |
deepset_mcp.tools.delete_deployment
async
delete_deployment(
*,
client: AsyncClientProtocol,
workspace: str,
deployment_id: str,
) -> NoContentResponse | str
Deletes a deployment along with all of its revisions. This cannot be undone.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
deployment_id
|
str
|
ID of the deployment to delete. |
required |
Returns:
| Type | Description |
|---|---|
NoContentResponse | str
|
Confirmation or error message. |
deepset_mcp.tools.delete_deployment_tag
async
delete_deployment_tag(
*,
client: AsyncClientProtocol,
workspace: str,
deployment_id: str,
tag_name: str,
) -> list[str] | str
Removes a tag from a deployment. Tag matching is case-insensitive.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
deployment_id
|
str
|
ID of the deployment. |
required |
tag_name
|
str
|
Tag to remove. |
required |
Returns:
| Type | Description |
|---|---|
list[str] | str
|
The deployment's full tag list after removal, or error message. |
deepset_mcp.tools.get_deployment
async
get_deployment(
*,
client: AsyncClientProtocol,
workspace: str,
deployment_id: str,
) -> Deployment | str
Fetches details for a specific deployment, including its active revision and runtime status.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
deployment_id
|
str
|
ID of the deployment to fetch. |
required |
Returns:
| Type | Description |
|---|---|
Deployment | str
|
Deployment details or error message. |
deepset_mcp.tools.get_deployment_metrics
async
get_deployment_metrics(
*,
client: AsyncClientProtocol,
workspace: str,
deployment_id: str,
start_ms: int,
end_ms: int,
) -> DeploymentMetrics | str
Fetches per-replica CPU/memory usage, resource limits, and replica counts for a deployment.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
deployment_id
|
str
|
ID of the deployment. |
required |
start_ms
|
int
|
Start of the time range, in unix milliseconds. |
required |
end_ms
|
int
|
End of the time range, in unix milliseconds. |
required |
Returns:
| Type | Description |
|---|---|
DeploymentMetrics | str
|
Deployment metrics or error message. |
deepset_mcp.tools.get_deployment_revision
async
get_deployment_revision(
*,
client: AsyncClientProtocol,
workspace: str,
deployment_id: str,
revision_id: str,
) -> DeploymentRevisionDetail | str
Fetches a single deployment revision, including the pipeline configuration YAML it serves.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
deployment_id
|
str
|
ID of the deployment. |
required |
revision_id
|
str
|
ID of the revision to fetch. |
required |
Returns:
| Type | Description |
|---|---|
DeploymentRevisionDetail | str
|
The revision, including its config YAML, or error message. |
deepset_mcp.tools.get_deployment_stats
async
get_deployment_stats(
*,
client: AsyncClientProtocol,
workspace: str,
deployment_id: str,
days: int = 30,
granularity: DeploymentStatsGranularity = DAY,
time_zone: str = "UTC",
) -> DeploymentStatistics | str
Fetches query volume, outcome split, and run durations for a deployment.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
deployment_id
|
str
|
ID of the deployment. |
required |
days
|
int
|
Size of the rolling window, in days (1-90, default 30). |
30
|
granularity
|
DeploymentStatsGranularity
|
Bucket width for the returned series, "DAY" (default) or "HOUR". |
DAY
|
time_zone
|
str
|
IANA time zone used to bucket the series (default "UTC"). |
'UTC'
|
Returns:
| Type | Description |
|---|---|
DeploymentStatistics | str
|
Deployment statistics or error message. |
deepset_mcp.tools.list_deployment_activity
async
list_deployment_activity(
*,
client: AsyncClientProtocol,
workspace: str,
deployment_id: str,
after: str | None = None,
) -> PaginatedResponse[DeploymentEvent] | str
Lists activation and revision activity for a deployment.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
deployment_id
|
str
|
ID of the deployment. |
required |
after
|
str | None
|
The cursor to fetch the next page of results. |
None
|
Returns:
| Type | Description |
|---|---|
PaginatedResponse[DeploymentEvent] | str
|
Paginated list of activity events or error message. |
deepset_mcp.tools.list_deployment_revisions
async
list_deployment_revisions(
*,
client: AsyncClientProtocol,
workspace: str,
deployment_id: str,
after: str | None = None,
) -> PaginatedResponse[DeploymentRevision] | str
Lists revisions of a deployment, i.e. the history of pipeline configurations it has served.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
deployment_id
|
str
|
ID of the deployment. |
required |
after
|
str | None
|
The cursor to fetch the next page of results. |
None
|
Returns:
| Type | Description |
|---|---|
PaginatedResponse[DeploymentRevision] | str
|
Paginated list of revisions or error message. |
deepset_mcp.tools.list_deployment_tags
async
list_deployment_tags(
*,
client: AsyncClientProtocol,
workspace: str,
name: str | None = None,
order: str = "ASC",
) -> list[str] | str
Lists distinct tag strings attached to deployments in the workspace.
Useful for autocomplete when adding tags, or to see how deployments are currently grouped.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
name
|
str | None
|
Case-insensitive substring filter on tag names. |
None
|
order
|
str
|
Sort order for the returned tags, "ASC" or "DESC" (default "ASC"). |
'ASC'
|
Returns:
| Type | Description |
|---|---|
list[str] | str
|
List of distinct tag names or error message. |
deepset_mcp.tools.list_deployments
async
list_deployments(
*,
client: AsyncClientProtocol,
workspace: str,
after: str | None = None,
group_label: str | None = None,
tags: list[str] | None = None,
) -> PaginatedResponse[Deployment] | str
Lists deployments (AI Gateways) in the currently configured deepset workspace.
A deployment serves a pipeline behind a stable endpoint, independent of the pipeline's own draft/version history.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
after
|
str | None
|
The cursor to fetch the next page of results. |
None
|
group_label
|
str | None
|
Filter deployments by group label. |
None
|
tags
|
list[str] | None
|
Filter deployments by tags (matches if any tag is present). |
None
|
Returns:
| Type | Description |
|---|---|
PaginatedResponse[Deployment] | str
|
Paginated list of deployments or error message. |
deepset_mcp.tools.update_deployment
async
update_deployment(
*,
client: AsyncClientProtocol,
workspace: str,
deployment_id: str,
name: str | None = None,
description: str | None = None,
group_label: str | None = None,
deployment_mode: DeploymentMode | None = None,
service_level: DeploymentServiceLevel | None = None,
idle_timeout_in_seconds: int | None = None,
min_query_replica_count: int | None = None,
max_query_replica_count: int | None = None,
max_index_replica_count: int | None = None,
cpu_request: str | None = None,
cpu_limit: str | None = None,
memory_request: str | None = None,
memory_limit: str | None = None,
gpu_limit_gigabyte: int | None = None,
) -> Deployment | str
Updates a deployment's metadata, sizing, or execution mode.
Only fields you provide are changed; omitted fields keep their current value.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
deployment_id
|
str
|
ID of the deployment to update. |
required |
name
|
str | None
|
New name for the deployment. |
None
|
description
|
str | None
|
New description. |
None
|
group_label
|
str | None
|
New group label. |
None
|
deployment_mode
|
DeploymentMode | None
|
New execution mode, "MANAGED" or "SERVERLESS". |
None
|
service_level
|
DeploymentServiceLevel | None
|
New sizing tier, "PRODUCTION", "DEVELOPMENT", or "CUSTOM". |
None
|
idle_timeout_in_seconds
|
int | None
|
New idle timeout, in seconds. |
None
|
min_query_replica_count
|
int | None
|
New minimum number of query replicas. |
None
|
max_query_replica_count
|
int | None
|
New maximum number of query replicas. |
None
|
max_index_replica_count
|
int | None
|
New maximum number of index replicas. |
None
|
cpu_request
|
str | None
|
New requested CPU per replica. |
None
|
cpu_limit
|
str | None
|
New CPU limit per replica. |
None
|
memory_request
|
str | None
|
New requested memory per replica. |
None
|
memory_limit
|
str | None
|
New memory limit per replica. |
None
|
gpu_limit_gigabyte
|
int | None
|
New GPU memory limit in gigabytes. |
None
|
Returns:
| Type | Description |
|---|---|
Deployment | str
|
The updated deployment or error message. |
deepset_mcp.tools.search_docs
async
search_docs(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
query: str,
) -> str
Search deepset documentation using a dedicated docs pipeline.
Uses the specified pipeline to perform a search with the given query against the deepset documentation. Before executing the search, checks if the pipeline is deployed (status = DEPLOYED). Returns search results in a human-readable format.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name for the docs pipeline. |
required |
pipeline_name
|
str
|
Name of the pipeline to use for doc search. |
required |
query
|
str
|
The search query to execute. |
required |
Returns:
| Type | Description |
|---|---|
str
|
A string containing the formatted search results or error message. |
deepset_mcp.tools.get_component_definition
async
get_component_definition(
*,
client: AsyncClientProtocol,
component_type: str,
haystack_version: str | None = None,
) -> ComponentDefinition | str
Returns the definition of a specific Haystack component.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The API client to use |
required |
component_type
|
str
|
Fully qualified component type (e.g. haystack.components.routers.conditional_router.ConditionalRouter) |
required |
haystack_version
|
str | None
|
Optional version of Haystack to use.
Pass the same version as specified in the pipeline yaml's |
None
|
Returns:
| Type | Description |
|---|---|
ComponentDefinition | str
|
ComponentDefinition model or error message string |
deepset_mcp.tools.get_custom_components
async
get_custom_components(
*,
client: AsyncClientProtocol,
haystack_version: str | None = None,
) -> ComponentDefinitionList | str
Get a list of all installed custom components.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The API client to use. |
required |
haystack_version
|
str | None
|
Optional version of Haystack to use.
Pass the same version as specified in the pipeline yaml's |
None
|
Returns:
| Type | Description |
|---|---|
ComponentDefinitionList | str
|
ComponentDefinitionList model or error message string. |
deepset_mcp.tools.list_component_families
async
list_component_families(
*,
client: AsyncClientProtocol,
haystack_version: str | None = None,
) -> ComponentFamilyList | str
Lists all Haystack component families that are available on deepset.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The API client to use |
required |
haystack_version
|
str | None
|
Optional version of Haystack to use.
Pass the same version as specified in the pipeline yaml's |
None
|
Returns:
| Type | Description |
|---|---|
ComponentFamilyList | str
|
ComponentFamilyList model or error message string |
deepset_mcp.tools.run_component
async
run_component(
*,
client: AsyncClientProtocol,
component_type: str,
init_params: dict[str, Any] | None = None,
input_data: dict[str, Any] | None = None,
input_types: dict[str, str] | None = None,
haystack_version: str | None = None,
) -> dict[str, Any] | str
Run a Haystack component with the given parameters.
This tool allows you to execute a Haystack component by providing its type and initialization parameters, then passing input data to get results. Use this to test components and see how they would work in your pipeline.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The API client to use |
required |
component_type
|
str
|
The type of component to run (e.g., "haystack.components.builders.prompt_builder.PromptBuilder") |
required |
init_params
|
dict[str, Any] | None
|
Initialization parameters for the component |
None
|
input_data
|
dict[str, Any] | None
|
Input data for the component |
None
|
input_types
|
dict[str, str] | None
|
Optional type information for inputs (inferred if not provided). For custom types use the full import path (e.g. haystack.dataclasses.document.Document for Document) |
None
|
haystack_version
|
str | None
|
Optional version of Haystack to use for the component.
Pass the same version as specified in the pipeline yaml's |
None
|
Returns:
| Type | Description |
|---|---|
dict[str, Any] | str
|
Dictionary containing the component's outputs or error message string |
deepset_mcp.tools.search_component_definition
async
search_component_definition(
*,
client: AsyncClientProtocol,
query: str,
model: ModelProtocol,
top_k: int = 5,
haystack_version: str | None = None,
) -> ComponentSearchResults | str
Searches for components based on name or description using semantic similarity.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The API client to use |
required |
query
|
str
|
The search query |
required |
model
|
ModelProtocol
|
The model to use for computing embeddings |
required |
top_k
|
int
|
Maximum number of results to return (default: 5) |
5
|
haystack_version
|
str | None
|
Optional version of Haystack to use.
Pass the same version as specified in the pipeline yaml's |
None
|
Returns:
| Type | Description |
|---|---|
ComponentSearchResults | str
|
ComponentSearchResults model or error message string |
deepset_mcp.tools.create_index
async
create_index(
*,
client: AsyncClientProtocol,
workspace: str,
index_name: str,
yaml_configuration: str,
description: str | None = None,
) -> dict[str, str | Index] | str
Creates a new index within your Haystack Enterprise Platform workspace.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
Deepset API client to use. |
required |
workspace
|
str
|
Workspace in which to create the index. |
required |
index_name
|
str
|
Unique name of the index to create. |
required |
yaml_configuration
|
str
|
YAML configuration to use for the index. |
required |
description
|
str | None
|
Description of the index to create. |
None
|
Returns:
| Type | Description |
|---|---|
dict[str, str | Index] | str
|
A message and the created index, or an error message. |
deepset_mcp.tools.deploy_index
async
deploy_index(
*,
client: AsyncClientProtocol,
workspace: str,
index_name: str,
) -> str | PipelineValidationResult
Deploys an index to production.
This function attempts to deploy the specified index in the given workspace. If the deployment fails due to validation errors, it returns an object describing the validation errors.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
index_name
|
str
|
Name of the index to deploy. |
required |
Returns:
| Type | Description |
|---|---|
str | PipelineValidationResult
|
A string indicating the deployment result or the validation results including errors. |
deepset_mcp.tools.get_index
async
get_index(
*,
client: AsyncClientProtocol,
workspace: str,
index_name: str,
) -> Index | str
Fetches detailed configuration information for a specific index, identified by its unique index_name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
Deepset API client to use for requesting the index. |
required |
workspace
|
str
|
Workspace of which to get the index from. |
required |
index_name
|
str
|
Unique name of the index to fetch. |
required |
Returns:
| Type | Description |
|---|---|
Index | str
|
The index configuration or an error message. |
deepset_mcp.tools.list_indexes
async
list_indexes(
*,
client: AsyncClientProtocol,
workspace: str,
after: str | None = None,
) -> PaginatedResponse[Index] | str
Retrieves a list of all indexes available within the currently configured deepset workspace.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
after
|
str | None
|
The cursor to fetch the next page of results.
If there are more results to fetch, the cursor will appear as |
None
|
Returns:
| Type | Description |
|---|---|
PaginatedResponse[Index] | str
|
List of indexes or error message. |
deepset_mcp.tools.update_index
async
update_index(
*,
client: AsyncClientProtocol,
workspace: str,
index_name: str,
original_config_snippet: str,
replacement_config_snippet: str,
skip_validation_errors: bool = True,
) -> Index | IndexOperationWithErrors | str
Updates an index configuration in the specified workspace with a replacement configuration snippet.
This function validates the replacement configuration snippet before applying it to the index. If the validation fails and skip_validation_errors is False, it returns error messages. Otherwise, the replacement snippet is used to update the index's configuration.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
index_name
|
str
|
Name of the index to update. |
required |
original_config_snippet
|
str
|
The configuration snippet to replace. |
required |
replacement_config_snippet
|
str
|
The new configuration snippet. |
required |
skip_validation_errors
|
bool
|
If True (default), updates the index even if validation fails. If False, stops update when validation fails. |
True
|
Returns:
| Type | Description |
|---|---|
Index | IndexOperationWithErrors | str
|
Updated index or error message. |
deepset_mcp.tools.validate_index
async
validate_index(
*,
client: AsyncClientProtocol,
workspace: str,
yaml_configuration: str,
) -> IndexValidationResultWithYaml | str
Validates the provided index YAML configuration against the deepset API.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
yaml_configuration
|
str
|
The YAML configuration to validate. |
required |
Returns:
| Type | Description |
|---|---|
IndexValidationResultWithYaml | str
|
Validation result with original YAML or error message. |
deepset_mcp.tools.get_models
async
get_models(
*,
client: AsyncClientProtocol,
workspace: str,
limit: int = 100,
page_number: int = 1,
connected: bool | None = None,
provider: ModelProvider | str | None = None,
model: str | None = None,
) -> ModelList | str
Lists the models including their configuration options available for use in a workspace's pipelines and indexes.
This includes predefined models offered by deepset as well as custom models configured at the workspace or organization level. Use this tool to discover which model names and providers can be used, which configuration options are available, and which default configuration is offered when configuring chat generators.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
limit
|
int
|
Maximum number of models to return per page. |
100
|
page_number
|
int
|
The page to fetch, starting at 1. |
1
|
connected
|
bool | None
|
If set, only return models for which the workspace does (True) or does not (False) have a working integration configured. |
None
|
provider
|
ModelProvider | str | None
|
If set, only return models from this provider. Accepts a well-known
|
None
|
model
|
str | None
|
If set, only return models whose configured model name contains this value (e.g. 'gpt-4o'). Case-insensitive, substring match. |
None
|
Returns:
| Type | Description |
|---|---|
ModelList | str
|
A page of models including their configuration options or an error message. |
deepset_mcp.tools.create_get_from_object_store
create_get_from_object_store(
explorer: RichExplorer,
) -> Callable[..., Any]
Creates the get_from_object_store tool.
deepset_mcp.tools.create_get_slice_from_object_store
create_get_slice_from_object_store(
explorer: RichExplorer,
) -> Callable[..., Any]
Creates the get_slice_from_object_store tool.
deepset_mcp.tools.create_grep_object_store
create_grep_object_store(
explorer: RichExplorer,
) -> Callable[..., Any]
Creates the grep_object_store tool.
deepset_mcp.tools.create_sed_object_store
create_sed_object_store(
explorer: RichExplorer,
) -> Callable[..., Any]
Creates the sed_object_store tool.
deepset_mcp.tools.create_yq_object_store
create_yq_object_store(
explorer: RichExplorer,
) -> Callable[..., Any]
Creates the yq_object_store tool.
deepset_mcp.tools.create_pipeline
async
create_pipeline(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
yaml_configuration: str,
skip_validation_errors: bool = True,
) -> DeepsetPipeline | PipelineOperationWithErrors | str
Creates a new pipeline within the currently configured deepset workspace.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
Name of the pipeline to create. |
required |
yaml_configuration
|
str
|
YAML configuration for the pipeline. |
required |
skip_validation_errors
|
bool
|
If True (default), creates the pipeline even if validation fails. If False, stops creation when validation fails. |
True
|
Returns:
| Type | Description |
|---|---|
DeepsetPipeline | PipelineOperationWithErrors | str
|
Created pipeline or error message. |
deepset_mcp.tools.create_pipeline_version
async
create_pipeline_version(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
yaml_configuration: str,
description: str | None = None,
is_draft: bool = False,
) -> PipelineVersion | str
Creates a new version of an existing pipeline with the provided YAML configuration.
Use this to update a pipeline's configuration. Each call creates a new immutable version, preserving the full history of changes.
If is_draft is True, and there is already a draft version, the existing draft will be finalized and incremented to a new version number.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
Name of the pipeline to create a version for. |
required |
yaml_configuration
|
str
|
The new YAML configuration for this version. |
required |
description
|
str | None
|
Optional description of what changed in this version. |
None
|
is_draft
|
bool
|
If True, the version is created as a draft (default: False). |
False
|
Returns:
| Type | Description |
|---|---|
PipelineVersion | str
|
The newly created pipeline version or error message. |
deepset_mcp.tools.debug_pipeline
async
debug_pipeline(
*,
client: AsyncClientProtocol,
workspace: str,
yaml_configuration: str,
inputs: dict[str, Any] | None = None,
break_at_component_name: str | None = None,
break_at_visit_count: int = 0,
resume_from: dict[str, Any] | None = None,
files: list[str] | None = None,
pipeline_id: str | None = None,
pipeline_version_id: str | None = None,
dry_run: bool = False,
) -> PipelineDebugResult | str
Runs a pipeline configuration in debug mode: pin a breakpoint, resume a snapshot, or trace a full run.
Debugs a pipeline configuration directly (not a saved pipeline by name) -- pass the YAML you want to test, e.g. from get_pipeline_version, create_pipeline_version, or a local draft. The inline run trace is always returned, so a failure is visible even for a run that never reaches a breakpoint.
One call carries at most one of:
- break_at_component_name (with break_at_visit_count) -- run from inputs until the breakpoint is hit, then stop and return a resumable snapshot in the 'snapshot' field. Pass that back as resume_from to continue the run.
- resume_from -- replay a snapshot returned by a previous debug run to completion; inputs are ignored, they come from the snapshot.
- neither -- run the pipeline from inputs to completion as a plain debug run.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
yaml_configuration
|
str
|
The pipeline YAML configuration to debug. |
required |
inputs
|
dict[str, Any] | None
|
Named pipeline inputs keyed by the input name declared under the pipeline config's 'inputs' mapping (e.g. {"query": "What is love?"}). Ignored when resume_from is set. |
None
|
break_at_component_name
|
str | None
|
Name of the component to break at. Mutually exclusive with resume_from; omit both to run to completion as a plain debug run. |
None
|
break_at_visit_count
|
int
|
Break when the target has been visited this many times (0 breaks before the first visit; relevant for loops/cycles). Only used if break_at_component_name is set. |
0
|
resume_from
|
dict[str, Any] | None
|
A snapshot returned by a previous debug run (its 'snapshot' field), replayed to completion. Mutually exclusive with break_at_component_name. |
None
|
files
|
list[str] | None
|
File IDs to download and inject into the inputs declared under the pipeline config's 'inputs.files' mapping. |
None
|
pipeline_id
|
str | None
|
Optional ID of the pipeline this debug run is associated with. |
None
|
pipeline_version_id
|
str | None
|
Optional ID of the pipeline version to associate the run with (requires pipeline_id). |
None
|
dry_run
|
bool
|
Best-effort stateless run: state-modifying components (e.g. DocumentWriter) are replaced with no-op equivalents so the pipeline can be inspected without side effects. Required for indexing pipelines (their document store carries no index until deploy time); harmless for query pipelines. Set it on resume too if the original run used dry_run, otherwise the run is rejected. |
False
|
Returns:
| Type | Description |
|---|---|
PipelineDebugResult | str
|
PipelineDebugResult with status, result/snapshot, and the run trace, or an error message. |
deepset_mcp.tools.deploy_pipeline
async
deploy_pipeline(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
version_id: str | None = None,
wait_for_deployment: bool = False,
timeout_seconds: float = 600,
poll_interval: float = 10,
) -> PipelineValidationResult | str
Deploys a pipeline to production.
This function attempts to deploy the specified pipeline in the given workspace. If the deployment fails due to validation errors, it returns a validation result.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
Name of the pipeline to deploy. |
required |
version_id
|
str | None
|
Optional ID of the pipeline version to deploy. If None, deploys the latest non-draft version. |
None
|
wait_for_deployment
|
bool
|
If True, waits for the pipeline to reach DEPLOYED status. |
False
|
timeout_seconds
|
float
|
Maximum time to wait for deployment when wait_for_deployment is True (default: 600.0). |
600
|
poll_interval
|
float
|
Time between status checks in seconds when wait_for_deployment is True (default: 10.0). |
10
|
Returns:
| Type | Description |
|---|---|
PipelineValidationResult | str
|
Deployment validation result or error message. |
deepset_mcp.tools.get_pipeline
async
get_pipeline(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
) -> DeepsetPipeline | str
Fetches information for a specific pipeline, identified by its unique pipeline_name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
The name of the pipeline to fetch. |
required |
Returns:
| Type | Description |
|---|---|
DeepsetPipeline | str
|
Pipeline details or error message. |
deepset_mcp.tools.get_pipeline_logs
async
get_pipeline_logs(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
limit: int = 30,
level: LogLevel | None = None,
after: str | None = None,
) -> PaginatedResponse[PipelineLog] | str
Fetches logs for a specific pipeline.
Retrieves log entries for the specified pipeline, with optional filtering by log level. This is useful for debugging pipeline issues or monitoring pipeline execution.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
Name of the pipeline to fetch logs for. |
required |
limit
|
int
|
Maximum number of log entries to return (default: 30). |
30
|
level
|
LogLevel | None
|
Filter logs by level. If None, returns all levels. |
None
|
after
|
str | None
|
The cursor to fetch the next page of results. |
None
|
Returns:
| Type | Description |
|---|---|
PaginatedResponse[PipelineLog] | str
|
Pipeline logs or error message. |
deepset_mcp.tools.get_pipeline_version
async
get_pipeline_version(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
version_id: str,
) -> PipelineVersion | str
Fetches a specific version of a pipeline by its version ID.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
Name of the pipeline. |
required |
version_id
|
str
|
UUID of the version to fetch. |
required |
Returns:
| Type | Description |
|---|---|
PipelineVersion | str
|
Pipeline version details or error message. |
deepset_mcp.tools.list_pipeline_versions
async
list_pipeline_versions(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
after: str | None = None,
) -> PaginatedResponse[PipelineVersion] | str
Lists all versions of a pipeline, ordered by version number descending (newest first).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
Name of the pipeline to list versions for. |
required |
after
|
str | None
|
Cursor (version_id UUID) to fetch the next page of results. |
None
|
Returns:
| Type | Description |
|---|---|
PaginatedResponse[PipelineVersion] | str
|
Paginated list of pipeline versions or error message. |
deepset_mcp.tools.list_pipelines
async
list_pipelines(
*,
client: AsyncClientProtocol,
workspace: str,
after: str | None = None,
) -> PaginatedResponse[DeepsetPipeline] | str
Retrieves a list of all pipeline available within the currently configured deepset workspace.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
after
|
str | None
|
The cursor to fetch the next page of results.
If there are more results to fetch, the cursor will appear as |
None
|
Returns:
| Type | Description |
|---|---|
PaginatedResponse[DeepsetPipeline] | str
|
List of pipelines or error message. |
deepset_mcp.tools.patch_pipeline_version
async
patch_pipeline_version(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
version_id: str,
yaml_configuration: str | None = None,
description: str | None = None,
is_draft: bool | None = None,
) -> PipelineVersion | str
Updates fields of an existing pipeline version in place.
At least one of yaml_configuration, description, or is_draft must be provided.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
Name of the pipeline. |
required |
version_id
|
str
|
UUID of the version to update. |
required |
yaml_configuration
|
str | None
|
New YAML configuration for the version (optional). |
None
|
description
|
str | None
|
New description for the version (optional). |
None
|
is_draft
|
bool | None
|
New draft status for the version (optional). |
None
|
Returns:
| Type | Description |
|---|---|
PipelineVersion | str
|
The updated pipeline version or error message. |
deepset_mcp.tools.restore_pipeline_version
async
restore_pipeline_version(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
version_id: str,
) -> PipelineVersion | str
Restores a non-draft pipeline version to be editable as a new draft.
The previous draft (if any) is finalized, getting an incremented version number.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
Name of the pipeline to restore. |
required |
version_id
|
str
|
UUID of the version to restore. |
required |
Returns:
| Type | Description |
|---|---|
PipelineVersion | str
|
The restored pipeline version or error message. |
deepset_mcp.tools.search_pipeline
async
search_pipeline(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
query: str,
) -> DeepsetSearchResponse | str
Searches using a pipeline.
Uses the specified pipeline to perform a search with the given query. Before executing the search, checks if the pipeline is deployed (status = DEPLOYED). Returns search results.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
Name of the pipeline to use for search. |
required |
query
|
str
|
The search query to execute. |
required |
Returns:
| Type | Description |
|---|---|
DeepsetSearchResponse | str
|
Search results or error message. |
deepset_mcp.tools.search_pipeline_with_filters
async
search_pipeline_with_filters(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
query: str,
filters: dict[str, Any] | None = None,
) -> DeepsetSearchResponse | str
Searches using a pipeline with filters.
Uses the specified pipeline to perform a search with the given query and filters. Filters follow the Haystack filter syntax: https://docs.haystack.deepset.ai/docs/metadata-filtering. Before executing the search, checks if the pipeline is deployed (status = DEPLOYED). Returns search results.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
Name of the pipeline to use for search. |
required |
query
|
str
|
The search query to execute. |
required |
filters
|
dict[str, Any] | None
|
The filters to apply to the search. |
None
|
Returns:
| Type | Description |
|---|---|
DeepsetSearchResponse | str
|
Search results or error message. |
deepset_mcp.tools.search_pipeline_with_params
async
search_pipeline_with_params(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
query: str,
params: dict[str, Any] | None = None,
) -> DeepsetSearchResponse | str
Searches using a pipeline with params.
Uses the specified pipeline to perform a search with the given query and params. Params can be arbitrary parameters to customize the search behavior. Filters can be used as well under the "filters" key in params. Filters follow the Haystack filter syntax: https://docs.haystack.deepset.ai/docs/metadata-filtering. Before executing the search, checks if the pipeline is deployed (status = DEPLOYED). Returns search results.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
Name of the pipeline to use for search. |
required |
query
|
str
|
The search query to execute. |
required |
params
|
dict[str, Any] | None
|
The parameters to customize the search. |
None
|
Returns:
| Type | Description |
|---|---|
DeepsetSearchResponse | str
|
Search results or error message. |
deepset_mcp.tools.validate_pipeline
async
validate_pipeline(
*,
client: AsyncClientProtocol,
workspace: str,
yaml_configuration: str,
) -> PipelineValidationResultWithYaml | str
Validates the provided pipeline YAML configuration against the deepset API.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
yaml_configuration
|
str
|
The YAML configuration to validate. |
required |
Returns:
| Type | Description |
|---|---|
PipelineValidationResultWithYaml | str
|
Validation result with original YAML or error message. |
deepset_mcp.tools.get_template
async
get_template(
*,
client: AsyncClientProtocol,
workspace: str,
template_name: str,
) -> PipelineTemplate | str
Fetches detailed information for a specific pipeline or indexing template, identified by its template_name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API requests. |
required |
workspace
|
str
|
The workspace to fetch template from. |
required |
template_name
|
str
|
The name of the template to fetch. |
required |
Returns:
| Type | Description |
|---|---|
PipelineTemplate | str
|
Pipeline or indexing template details or error message. |
deepset_mcp.tools.list_templates
async
list_templates(
*,
client: AsyncClientProtocol,
workspace: str,
limit: int = 100,
pipeline_type: PipelineType | str | None = None,
after: str | None = None,
) -> PaginatedResponse[PipelineTemplate] | str
Retrieves a list of all available pipeline and indexing templates.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API requests. |
required |
workspace
|
str
|
The workspace to list templates from. |
required |
limit
|
int
|
Maximum number of templates to return (default: 100). |
100
|
pipeline_type
|
PipelineType | str | None
|
The type of pipeline to return. |
None
|
after
|
str | None
|
The cursor to fetch the next page of results.
If there are more results to fetch, the cursor will appear as |
None
|
Returns:
| Type | Description |
|---|---|
PaginatedResponse[PipelineTemplate] | str
|
List of pipeline templates or error message. |
deepset_mcp.tools.search_templates
async
search_templates(
*,
client: AsyncClientProtocol,
query: str,
model: ModelProtocol,
workspace: str,
top_k: int = 10,
pipeline_type: PipelineType | str = QUERY,
) -> PipelineTemplateSearchResults | str
Searches for pipeline or indexing templates based on name or description using semantic similarity.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The API client to use. |
required |
query
|
str
|
The search query. |
required |
model
|
ModelProtocol
|
The model to use for computing embeddings. |
required |
workspace
|
str
|
The workspace to search templates from. |
required |
top_k
|
int
|
Maximum number of results to return (default: 10). |
10
|
pipeline_type
|
PipelineType | str
|
The type of pipeline to return ('indexing' or 'query'; default: 'query'). |
QUERY
|
Returns:
| Type | Description |
|---|---|
PipelineTemplateSearchResults | str
|
Search results with similarity scores or error message. |
deepset_mcp.tools.get_pipeline_trace
async
get_pipeline_trace(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
query_id: str,
) -> PipelineTraceEntry | str
Retrieves the Haystack pipeline run trace including all spans for a single search history record.
Returns the execution trace for one query: every
component span with essential tags (excluding the component's input and output),
timing, and failure details. Use this to deep-dive into a
specific query run identified by its query_id (obtainable from
list_pipeline_traces or list_pipeline_search_history).
For a targeted look at one span including the input and output at one component, use
get_pipeline_trace_span_tags; for the logs, use get_pipeline_trace_logs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
Name of the pipeline. |
required |
query_id
|
str
|
UUID of the search history query whose trace to retrieve.
Obtain this from the |
required |
Returns:
| Type | Description |
|---|---|
PipelineTraceEntry | str
|
The pipeline trace entry including all spans or an error message. |
deepset_mcp.tools.get_pipeline_trace_logs
async
get_pipeline_trace_logs(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
query_id: str,
) -> list[HaystackTraceLog] | str
Retrieves the log entries for a single Haystack pipeline run trace.
Returns the run's logs (e.g. to diagnose warnings or errors emitted during the run). Each entry includes the logger, level, message, timestamp, and extra fields.
Obtain query_id from list_pipeline_traces or list_pipeline_search_history.
If errors occur outside of the pipeline (e.g. in the API or search history service), they will not appear in the
trace logs. Use the get_pipeline_logs tool to retrieve logs for the pipeline itself (e.g. startup errors,
configuration issues, orother runtime problems).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
Name of the pipeline. |
required |
query_id
|
str
|
UUID of the search history query. |
required |
Returns:
| Type | Description |
|---|---|
list[HaystackTraceLog] | str
|
List of log entries or an error message. |
deepset_mcp.tools.get_pipeline_trace_span_tags
async
get_pipeline_trace_span_tags(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
query_id: str,
span_id: str,
) -> dict[str, Any] | str
Retrieves all tags for a single span within a Haystack pipeline run trace.
A span's tags carry the component-level detail, including its input and output
(e.g. haystack.component.input / haystack.component.output) plus type and
error information. Use this to inspect one component run in detail.
Obtain span_id from a span in a get_pipeline_trace response, and query_id
from list_pipeline_traces or list_pipeline_search_history.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
Name of the pipeline. |
required |
query_id
|
str
|
UUID of the search history query. |
required |
span_id
|
str
|
UUID of the span whose tags to retrieve. |
required |
Returns:
| Type | Description |
|---|---|
dict[str, Any] | str
|
The span's tag dictionary or an error message. |
deepset_mcp.tools.list_pipeline_search_history
async
list_pipeline_search_history(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
limit: int = 10,
after: str | None = None,
query_filter: str | None = None,
sort_field: Literal[
"created_at", "query", "duration", "feedbacks/score"
] = "created_at",
sort_order: Literal["ASC", "DESC"] = "DESC",
) -> PaginatedResponse[SearchHistoryEntry] | str
Retrieves search history for a specific pipeline with pagination.
Returns past searches run with the given pipeline. Each entry includes the
search query (request.query), results (response), timing
(time/duration), status, user info, feedback, labels, and note.
Search history is archived ~30 minutes after a search runs and is then available via this endpoint.
Use the after parameter with next_cursor from the response to
fetch the next page.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
Name of the pipeline to get search history for. |
required |
limit
|
int
|
Maximum number of entries to return per page (default 10, max 1000). |
10
|
after
|
str | None
|
ISO-8601 timestamp cursor to fetch entries older than this point.
Pass the value from |
None
|
query_filter
|
str | None
|
An OData filter expression to narrow down results. Supported fields: query, client_source_path, pipeline_version_id, answer, api_key, created_at, created_by, tags/tag_id, feedbacks, feedbacks/score, feedbacks/comment, feedbacks/bookmarked, session_id, search_session_id, feedbacks/result_id, request/filters, request/params, duration, labels, status, note. Example: "created_at ge 2024-01-01T00:00:00Z" or "status eq 'failed'". |
None
|
sort_field
|
Literal['created_at', 'query', 'duration', 'feedbacks/score']
|
Field to sort results by. One of: created_at, query, duration, feedbacks/score. Defaults to created_at. |
'created_at'
|
sort_order
|
Literal['ASC', 'DESC']
|
Sort direction — ASC (oldest first) or DESC (newest first). Defaults to DESC. |
'DESC'
|
Returns:
| Type | Description |
|---|---|
PaginatedResponse[SearchHistoryEntry] | str
|
Paginated list of search history entries or error message. |
deepset_mcp.tools.list_pipeline_traces
async
list_pipeline_traces(
*,
client: AsyncClientProtocol,
workspace: str,
pipeline_name: str,
limit: int = 10,
after: str | None = None,
query_filter: str | None = None,
sort_field: Literal[
"created_at", "query", "duration", "feedbacks/score"
] = "created_at",
sort_order: Literal["ASC", "DESC"] = "DESC",
) -> PaginatedResponse[PipelineTraceSummary] | str
Lists Haystack pipeline run trace summaries for a specific pipeline.
Returns one lightweight summary per query run — query_id, query text, status,
timing (duration_s, created_at), and failure details if the run failed.
Summaries do not include spans or logs. Use this to browse runs, find slow or
failed queries, then pass a query_id to get_pipeline_trace for the full
execution trace (spans with essential tags such as component type),
get_pipeline_trace_span_tags for a single span with full tags (including input/output),
or get_pipeline_trace_logs for the logs of the trace.
Use the after parameter with next_cursor from the response to fetch
the next page.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
pipeline_name
|
str
|
Name of the pipeline to retrieve traces for. |
required |
limit
|
int
|
Maximum number of trace entries to return per page (default 10). |
10
|
after
|
str | None
|
ISO-8601 timestamp cursor from |
None
|
query_filter
|
str | None
|
An OData filter expression to narrow down results. Supported fields: query, client_source_path, pipeline_version_id, answer, api_key, created_at, created_by, tags/tag_id, feedbacks, feedbacks/score, feedbacks/comment, feedbacks/bookmarked, session_id, search_session_id, feedbacks/result_id, request/filters, request/params, duration, labels, status, note. Example: "status eq 'failed'" or "created_at ge 2024-01-01T00:00:00Z". |
None
|
sort_field
|
Literal['created_at', 'query', 'duration', 'feedbacks/score']
|
Field to sort results by. One of: created_at, query, duration, feedbacks/score. Defaults to created_at. |
'created_at'
|
sort_order
|
Literal['ASC', 'DESC']
|
Sort direction — ASC (oldest first) or DESC (newest first). Defaults to DESC. |
'DESC'
|
Returns:
| Type | Description |
|---|---|
PaginatedResponse[PipelineTraceSummary] | str
|
Paginated list of pipeline trace summaries or an error message. |
deepset_mcp.tools.list_search_history
async
list_search_history(
*,
client: AsyncClientProtocol,
workspace: str,
limit: int = 10,
after: str | None = None,
query_filter: str | None = None,
sort_field: Literal[
"created_at", "query", "duration", "feedbacks/score"
] = "created_at",
sort_order: Literal["ASC", "DESC"] = "DESC",
) -> PaginatedResponse[SearchHistoryEntry] | str
Retrieves search history for the configured deepset workspace.
Returns past searches run in the workspace, including queries, answers, prompts, feedback, and metadata. Use this to inspect what users have searched for, analyze usage, or debug pipeline behavior.
Each entry includes:
- request.query — the search query text
- time / created_at — when the search ran
- duration — how long it took (seconds)
- status — 'success' or 'failed'
- pipeline.name — which pipeline handled the query
- response — the list of search results
- feedback, labels, note — user annotations
Use the after parameter with the next_cursor value from the
previous response to fetch the next page.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace
|
str
|
The workspace name. |
required |
limit
|
int
|
Maximum number of entries to return per page (default 10, max 1000). |
10
|
after
|
str | None
|
ISO-8601 timestamp cursor to fetch entries older than this point.
Pass the value from |
None
|
query_filter
|
str | None
|
An OData filter expression to narrow down results. Supported fields: query, client_source_path, pipeline_version_id, answer, api_key, created_at, created_by, tags/tag_id, feedbacks, feedbacks/score, feedbacks/comment, feedbacks/bookmarked, session_id, search_session_id, feedbacks/result_id, request/filters, request/params, duration, labels, status, note. Example: "created_at ge 2024-01-01T00:00:00Z" or "query eq 'my search'". |
None
|
sort_field
|
Literal['created_at', 'query', 'duration', 'feedbacks/score']
|
Field to sort results by. One of: created_at, query, duration, feedbacks/score. Defaults to created_at. |
'created_at'
|
sort_order
|
Literal['ASC', 'DESC']
|
Sort direction — ASC (oldest first) or DESC (newest first). Defaults to DESC. |
'DESC'
|
Returns:
| Type | Description |
|---|---|
PaginatedResponse[SearchHistoryEntry] | str
|
Paginated list of search history entries or error message. |
deepset_mcp.tools.get_secret
async
Retrieves detailed information about a specific secret by its ID.
Use this tool to get information about a specific secret when you know its ID. The secret value itself is not returned for security reasons, only metadata.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The deepset API client |
required |
secret_id
|
str
|
The unique identifier of the secret to retrieve |
required |
Returns:
| Type | Description |
|---|---|
EnvironmentSecret | str
|
Secret information or error message |
deepset_mcp.tools.list_secrets
async
list_secrets(
*,
client: AsyncClientProtocol,
limit: int = 10,
after: str | None = None,
) -> EnvironmentSecretList | str
Lists all secrets available in the user's deepset organization.
Use this tool to retrieve a list of secrets with their names and IDs. This is useful for getting an overview of all secrets before retrieving specific ones.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The deepset API client |
required |
limit
|
int
|
Maximum number of secrets to return (default: 10) |
10
|
after
|
str | None
|
The cursor to fetch the next page of results |
None
|
Returns:
| Type | Description |
|---|---|
EnvironmentSecretList | str
|
List of secrets or error message |
deepset_mcp.tools.load_skill
async
Loads the full content of a bundled skill guide by name.
This docstring is replaced at import time with a dynamically generated version
that lists every skill currently bundled with the server (see _build_docstring).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
skill_name
|
str
|
The name of the skill to load. |
required |
Returns:
| Type | Description |
|---|---|
str
|
The skill's markdown content, or an error message if not found. |
deepset_mcp.tools.create_workspace
async
create_workspace(
*, client: AsyncClientProtocol, name: str
) -> NoContentResponse | str
Creates a new workspace with the specified name.
This tool creates a new workspace that can be used to organize pipelines, indexes, and other resources. The workspace name must be unique across the platform. Once created, you can start deploying pipelines and other resources within this workspace.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
name
|
str
|
The name for the new workspace. Must be unique. |
required |
Returns:
| Type | Description |
|---|---|
NoContentResponse | str
|
Success confirmation or error message. |
deepset_mcp.tools.get_workspace
async
get_workspace(
*, client: AsyncClientProtocol, workspace_name: str
) -> Workspace | str
Fetches detailed information for a specific workspace by name.
This tool retrieves comprehensive details about a specific workspace, including its unique ID, supported languages, and configuration settings. Use this when you need detailed information about a particular workspace.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
workspace_name
|
str
|
The name of the workspace to fetch details for. |
required |
Returns:
| Type | Description |
|---|---|
Workspace | str
|
Workspace details or error message. |
deepset_mcp.tools.list_workspaces
async
list_workspaces(
*, client: AsyncClientProtocol
) -> list[Workspace] | str
Retrieves a list of all workspaces available to the user.
This tool provides an overview of all workspaces that the user has access to. Each workspace contains information about its name, ID, supported languages, and default idle timeout settings.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
AsyncClientProtocol
|
The async client for API communication. |
required |
Returns:
| Type | Description |
|---|---|
list[Workspace] | str
|
List of workspaces or error message. |