---
title: "Http"
description: "HTTP connector for MCP implementations API Documentation"
icon: "code"
github: "https://github.com/mcp-use/mcp-use/blob/main/libraries/python/mcp_use/client/connectors/http.py"
---

import {RandomGradientBackground} from "/snippets/gradient.jsx"

<Callout type="info" title="Source Code">
View the source code for this module on GitHub: <a href='https://github.com/mcp-use/mcp-use/blob/main/libraries/python/mcp_use/client/connectors/http.py' target='_blank' rel='noopener noreferrer'>https://github.com/mcp-use/mcp-use/blob/main/libraries/python/mcp_use/client/connectors/http.py</a>
</Callout>

HTTP connector for MCP implementations.

This module provides a connector for communicating with MCP implementations
through HTTP APIs with SSE or Streamable HTTP for transport.

## HttpConnector

<div>
<RandomGradientBackground className="rounded-lg p-4 w-full h-full rounded-full">
<div className="text-black">
<div className="text-black font-bold text-xl mb-2 mt-8"><code className="!text-black">class</code> HttpConnector</div>

Connector for MCP implementations using HTTP transport with SSE or streamable HTTP.

    This connector uses HTTP/SSE or streamable HTTP to communicate with remote MCP implementations,
    using a connection manager to handle the proper lifecycle management.

</div>
</RandomGradientBackground>
```python
from mcp_use.client.connectors.http import HttpConnector
```

<Card type="info">
### `method` __init__

Initialize a new HTTP connector.


**Parameters**
><ParamField body="base_url" type="str" required="True" >   The base URL of the MCP HTTP API. </ParamField>
><ParamField body="headers" type="dict[str, str] | None" default="None" >   Optional additional headers. </ParamField>
><ParamField body="timeout" type="float" default="5" >   Timeout for HTTP operations in seconds. </ParamField>
><ParamField body="sse_read_timeout" type="float" default="300" >   Timeout for SSE read operations in seconds. </ParamField>
><ParamField body="auth" type="str | dict[str, typing.Any] | httpx.Auth | None" default="None" >   Authentication method - can be: </ParamField>
><ParamField body="sampling_callback" type="mcp.client.session.SamplingFnT | None" default="None" >   Optional sampling callback. </ParamField>
><ParamField body="elicitation_callback" type="mcp.client.session.ElicitationFnT | None" default="None" >   Optional elicitation callback. </ParamField>
><ParamField body="message_handler" type="mcp.client.session.MessageHandlerFnT | None" default="None" >   Optional callback to handle messages. </ParamField>
><ParamField body="logging_callback" type="mcp.client.session.LoggingFnT | None" default="None" >   Optional callback to handle log messages. </ParamField>
><ParamField body="middleware" type="list[mcp_use.client.middleware.middleware.Middleware] | None" default="None" >   Optional list of middleware. </ParamField>
><ParamField body="verify" type="bool | None" default="True" >   Whether to verify SSL certificates. </ParamField>
><ParamField body="roots" type="list[mcp.types.Root] | None" default="None" >   Optional initial list of roots to advertise to the server. </ParamField>
><ParamField body="list_roots_callback" type="mcp.client.session.ListRootsFnT | None" default="None" >   Optional custom callback to handle roots/list requests. </ParamField>

**Signature**
```python wrap
def __init__(base_url: str, headers: dict[str, str] | None = None, timeout: float = 5, sse_read_timeout: float = 300, auth: str | dict[str, typing.Any] | httpx.Auth | None = None, sampling_callback: mcp.client.session.SamplingFnT | None = None, elicitation_callback: mcp.client.session.ElicitationFnT | None = None, message_handler: mcp.client.session.MessageHandlerFnT | None = None, logging_callback: mcp.client.session.LoggingFnT | None = None, middleware: list[mcp_use.client.middleware.middleware.Middleware] | None = None, verify: bool | None = True, roots: list[mcp.types.Root] | None = None, list_roots_callback: mcp.client.session.ListRootsFnT | None = None):
```

</Card>
</div>
