mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-21 21:14:17 +02:00
chore: Update SDK documentation (#3313)
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
This commit is contained in:
parent
f2dd2e5124
commit
902b63f676
31 changed files with 1042 additions and 267 deletions
121
docs/python-sdk/fastmcp-experimental-transforms-code_mode.mdx
Normal file
121
docs/python-sdk/fastmcp-experimental-transforms-code_mode.mdx
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
---
|
||||
title: code_mode
|
||||
sidebarTitle: code_mode
|
||||
---
|
||||
|
||||
# `fastmcp.experimental.transforms.code_mode`
|
||||
|
||||
## Classes
|
||||
|
||||
### `SandboxProvider` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/experimental/transforms/code_mode.py#L73" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
||||
|
||||
|
||||
Interface for executing LLM-generated Python code in a sandbox.
|
||||
|
||||
WARNING: The ``code`` parameter passed to ``run`` contains untrusted,
|
||||
LLM-generated Python. Implementations MUST execute it in an isolated
|
||||
sandbox — never with plain ``exec()``. Use ``MontySandboxProvider``
|
||||
(backed by ``pydantic-monty``) for production workloads.
|
||||
|
||||
|
||||
**Methods:**
|
||||
|
||||
#### `run` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/experimental/transforms/code_mode.py#L82" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
||||
|
||||
```python
|
||||
run(self, code: str) -> Any
|
||||
```
|
||||
|
||||
### `MontySandboxProvider` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/experimental/transforms/code_mode.py#L91" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
||||
|
||||
|
||||
Sandbox provider backed by `pydantic-monty`.
|
||||
|
||||
**Args:**
|
||||
- `limits`: Resource limits for sandbox execution. Supported keys\:
|
||||
``max_duration_secs`` (float), ``max_allocations`` (int),
|
||||
``max_memory`` (int), ``max_recursion_depth`` (int),
|
||||
``gc_interval`` (int). All are optional; omit a key to
|
||||
leave that limit uncapped.
|
||||
|
||||
|
||||
**Methods:**
|
||||
|
||||
#### `run` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/experimental/transforms/code_mode.py#L109" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
||||
|
||||
```python
|
||||
run(self, code: str) -> Any
|
||||
```
|
||||
|
||||
### `Search` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/experimental/transforms/code_mode.py#L180" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
||||
|
||||
|
||||
Discovery tool factory that searches the catalog by query.
|
||||
|
||||
**Args:**
|
||||
- `search_fn`: Async callable ``(tools, query) -> matching_tools``.
|
||||
Defaults to BM25 ranking.
|
||||
- `name`: Name of the synthetic tool exposed to the LLM.
|
||||
- `default_detail`: Default detail level for search results.
|
||||
``"brief"`` returns tool names and descriptions only.
|
||||
``"detailed"`` returns compact markdown with parameter schemas.
|
||||
``"full"`` returns complete JSON tool definitions.
|
||||
|
||||
|
||||
### `GetSchemas` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/experimental/transforms/code_mode.py#L245" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
||||
|
||||
|
||||
Discovery tool factory that returns schemas for tools by name.
|
||||
|
||||
**Args:**
|
||||
- `name`: Name of the synthetic tool exposed to the LLM.
|
||||
- `default_detail`: Default detail level for schema results.
|
||||
``"brief"`` returns tool names and descriptions only.
|
||||
``"detailed"`` renders compact markdown with parameter names,
|
||||
types, and required markers.
|
||||
``"full"`` returns the complete JSON schema.
|
||||
|
||||
|
||||
### `GetTags` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/experimental/transforms/code_mode.py#L306" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
||||
|
||||
|
||||
Discovery tool factory that lists tool tags from the catalog.
|
||||
|
||||
Reads ``tool.tags`` from the catalog and groups tools by tag. Tools
|
||||
without tags appear under ``"untagged"``.
|
||||
|
||||
**Args:**
|
||||
- `name`: Name of the synthetic tool exposed to the LLM.
|
||||
- `default_detail`: Default detail level.
|
||||
``"brief"`` returns tag names with tool counts.
|
||||
``"full"`` lists all tools under each tag.
|
||||
|
||||
|
||||
### `CodeMode` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/experimental/transforms/code_mode.py#L382" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
||||
|
||||
|
||||
Transform that collapses all tools into discovery + execute meta-tools.
|
||||
|
||||
Discovery tools are composable via the ``discovery_tools`` parameter.
|
||||
Each is a callable that receives catalog access and returns a ``Tool``.
|
||||
By default, ``Search`` and ``GetSchemas`` are included for
|
||||
progressive disclosure: search finds candidates, get_schema retrieves
|
||||
parameter details, and execute runs code.
|
||||
|
||||
The ``execute`` tool is always present and provides a sandboxed Python
|
||||
environment with ``call_tool(name, params)`` in scope.
|
||||
|
||||
|
||||
**Methods:**
|
||||
|
||||
#### `transform_tools` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/experimental/transforms/code_mode.py#L432" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
||||
|
||||
```python
|
||||
transform_tools(self, tools: Sequence[Tool]) -> Sequence[Tool]
|
||||
```
|
||||
|
||||
#### `get_tool` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/experimental/transforms/code_mode.py#L435" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
||||
|
||||
```python
|
||||
get_tool(self, name: str, call_next: GetToolNext) -> Tool | None
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue