mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-09 07:09:11 +02:00
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
66 lines
2.1 KiB
Text
66 lines
2.1 KiB
Text
---
|
|
title: resources_as_tools
|
|
sidebarTitle: resources_as_tools
|
|
---
|
|
|
|
# `fastmcp.server.transforms.resources_as_tools`
|
|
|
|
|
|
Transform that exposes resources as tools.
|
|
|
|
This transform generates tools for listing and reading resources, enabling
|
|
clients that only support tools to access resource functionality.
|
|
|
|
The generated tools route through `ctx.fastmcp` at runtime, so all server
|
|
middleware (auth, visibility, rate limiting, etc.) applies to resource
|
|
operations exactly as it would for direct `resources/read` calls.
|
|
|
|
Example:
|
|
```python
|
|
from fastmcp import FastMCP
|
|
from fastmcp.server.transforms import ResourcesAsTools
|
|
|
|
mcp = FastMCP("Server")
|
|
mcp.add_transform(ResourcesAsTools(mcp))
|
|
# Now has list_resources and read_resource tools
|
|
```
|
|
|
|
|
|
## Classes
|
|
|
|
### `ResourcesAsTools` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/transforms/resources_as_tools.py#L41" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
|
|
Transform that adds tools for listing and reading resources.
|
|
|
|
Generates two tools:
|
|
- `list_resources`: Lists all resources and templates
|
|
- `read_resource`: Reads a resource by URI
|
|
|
|
The generated tools route through the server at runtime, so auth,
|
|
middleware, and visibility apply automatically.
|
|
|
|
This transform should be applied to a FastMCP server instance, not
|
|
a raw Provider, because the generated tools need the server's
|
|
middleware chain for auth and visibility filtering.
|
|
|
|
|
|
**Methods:**
|
|
|
|
#### `list_tools` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/transforms/resources_as_tools.py#L78" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
list_tools(self, tools: Sequence[Tool]) -> Sequence[Tool]
|
|
```
|
|
|
|
Add resource tools to the tool list.
|
|
|
|
|
|
#### `get_tool` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/transforms/resources_as_tools.py#L86" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
get_tool(self, name: str, call_next: GetToolNext) -> Tool | None
|
|
```
|
|
|
|
Get a tool by name, including generated resource tools.
|
|
|