# `ExUtcp.Transports.Mcp.Pool`
[🔗](https://github.com/universal-tool-calling-protocol/elixir-utcp/blob/main/lib/ex_utcp/transports/mcp/pool.ex#L1)

Manages a pool of MCP connections for efficient resource usage.

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `close_all_connections`

```elixir
@spec close_all_connections() :: :ok
```

Closes all connections.

# `close_connection`

```elixir
@spec close_connection(pid()) :: :ok
```

Closes a specific connection.

# `get_connection`

```elixir
@spec get_connection(ExUtcp.Types.mcp_provider()) ::
  {:ok, pid()} | {:error, String.t()}
```

Gets a connection for the given provider.

# `start_link`

```elixir
@spec start_link(keyword()) :: GenServer.on_start()
```

Starts the MCP connection pool.

# `stats`

```elixir
@spec stats() :: map()
```

Gets pool statistics.

---

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