# `ExMCP.Client.Operations.Prompts`
[🔗](https://github.com/azmaveth/ex_mcp/blob/v1.0.0/lib/ex_mcp/client/operations/prompts.ex#L1)

Prompt operations for ExMCP client.

This module handles all prompt-related operations including listing available
prompts and retrieving specific prompts with their arguments.

# `get_prompt`

```elixir
@spec get_prompt(
  ExMCP.Client.Types.client(),
  String.t(),
  map(),
  ExMCP.Client.Types.request_opts()
) ::
  ExMCP.Client.Types.mcp_response()
```

Gets a specific prompt from the MCP server, optionally with arguments.

## Parameters

- `client` - The client process.
- `prompt_name` - The name of the prompt to retrieve.
- `arguments` - A map of arguments to pass to the prompt.
- `opts` - A keyword list of options.

## Options

- `:timeout` - Request timeout (default: 5000)
- `:format` - Response format (default: :struct)

## Examples

    {:ok, prompt} = ExMCP.Client.Operations.Prompts.get_prompt(client, "my_prompt")
    {:ok, prompt} = ExMCP.Client.Operations.Prompts.get_prompt(client, "my_prompt", %{"name" => "World"})

# `list_prompts`

```elixir
@spec list_prompts(ExMCP.Client.Types.client(), ExMCP.Client.Types.request_opts()) ::
  ExMCP.Client.Types.mcp_response()
```

Lists all available prompts from the MCP server.

## Options

- `:cursor` - Pagination cursor for retrieving additional results
- `:timeout` - Request timeout (default: 5000)
- `:format` - Response format (default: :struct)

## Examples

    {:ok, prompts} = ExMCP.Client.Operations.Prompts.list_prompts(client)
    {:ok, prompts} = ExMCP.Client.Operations.Prompts.list_prompts(client, cursor: "page2")

---

*Consult [api-reference.md](api-reference.md) for complete listing*
