# MCPToolCallRequest

> **Class** in `langchain_mcp_adapters`

📖 [View in docs](https://reference.langchain.com/python/langchain-mcp-adapters/interceptors/MCPToolCallRequest)

Tool execution request passed to MCP tool call interceptors.

This tool call request follows a similar pattern to LangChain's
ToolCallRequest (flat namespace) rather than separating the call data
and context into nested objects.

Modifiable fields (override these to change behavior):
    name: Tool name to invoke.
    args: Tool arguments as key-value pairs.
    headers: HTTP headers for applicable transports (SSE, HTTP).

Context fields (read-only, use for routing/logging):
    server_name: Name of the MCP server handling the tool.
    runtime: LangGraph runtime context (optional, None if outside graph).

## Signature

```python
MCPToolCallRequest(
    self,
    name: str,
    args: dict[str, Any],
    server_name: str,
    headers: dict[str, Any] | None = None,
    runtime: object | None = None,
)
```

## Constructors

```python
__init__(
    self,
    name: str,
    args: dict[str, Any],
    server_name: str,
    headers: dict[str, Any] | None = None,
    runtime: object | None = None,
) -> None
```

| Name | Type |
|------|------|
| `name` | `str` |
| `args` | `dict[str, Any]` |
| `server_name` | `str` |
| `headers` | `dict[str, Any] \| None` |
| `runtime` | `object \| None` |


## Properties

- `name`
- `args`
- `server_name`
- `headers`
- `runtime`

## Methods

- [`override()`](https://reference.langchain.com/python/langchain-mcp-adapters/interceptors/MCPToolCallRequest/override)

---

[View source on GitHub](https://github.com/langchain-ai/langchain-mcp-adapters/blob/8f580f029fabd78891ea4dbfd1de3b1d9e4fa001/langchain_mcp_adapters/interceptors.py#L51)