---
title: "Code Executor"
description: "Code execution engine for MCP tools API Documentation"
icon: "code"
github: "https://github.com/mcp-use/mcp-use/blob/main/libraries/python/mcp_use/client/code_executor.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/code_executor.py' target='_blank' rel='noopener noreferrer'>https://github.com/mcp-use/mcp-use/blob/main/libraries/python/mcp_use/client/code_executor.py</a>
</Callout>

Code execution engine for MCP tools.

This module provides secure code execution capabilities for MCP clients,
allowing agents to interact with tools through Python code instead of
direct tool calls.

## CodeExecutor

<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> CodeExecutor</div>

Executes Python code with access to MCP tools in a restricted namespace.

    This class provides a secure execution environment where agent-written code
    can call MCP tools through dynamically generated wrapper functions.

</div>
</RandomGradientBackground>
```python
from mcp_use.client.code_executor import CodeExecutor
```

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

Initialize the code executor.


**Parameters**
><ParamField body="client" type="MCPClient" required="True" >   The MCPClient instance to use for tool calls. </ParamField>

**Signature**
```python wrap
def __init__(client: MCPClient):
```

</Card>
<Card type="info">
### `method` execute

Execute Python code with access to MCP tools.



**Parameters**
><ParamField body="code" type="str" required="True" >   Python code to execute. </ParamField>
><ParamField body="timeout" type="float" default="30.0" >   Execution timeout in seconds. </ParamField>

**Returns**
><ResponseField name="returns" type="dict[str, Any]" />

**Signature**
```python wrap
def execute(code: str, timeout: float = 30.0):
```

</Card>

</div>
