mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-09 23:29:10 +02:00
131 lines
4.3 KiB
Text
131 lines
4.3 KiB
Text
---
|
|
title: tool_manager
|
|
sidebarTitle: tool_manager
|
|
---
|
|
|
|
# `fastmcp.tools.tool_manager`
|
|
|
|
## Classes
|
|
|
|
### `ToolManager` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/tools/tool_manager.py#L25" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
|
|
Manages FastMCP tools.
|
|
|
|
|
|
**Methods:**
|
|
|
|
#### `mount` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/tools/tool_manager.py#L51" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
mount(self, server: MountedServer) -> None
|
|
```
|
|
|
|
Adds a mounted server as a source for tools.
|
|
|
|
|
|
#### `has_tool` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/tools/tool_manager.py#L103" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
has_tool(self, key: str) -> bool
|
|
```
|
|
|
|
Check if a tool exists.
|
|
|
|
|
|
#### `get_tool` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/tools/tool_manager.py#L108" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
get_tool(self, key: str) -> Tool
|
|
```
|
|
|
|
Get tool by key.
|
|
|
|
|
|
#### `get_tools` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/tools/tool_manager.py#L115" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
get_tools(self) -> dict[str, Tool]
|
|
```
|
|
|
|
Gets the complete, unfiltered inventory of all tools.
|
|
|
|
|
|
#### `list_tools` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/tools/tool_manager.py#L121" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
list_tools(self) -> list[Tool]
|
|
```
|
|
|
|
Lists all tools, applying protocol filtering.
|
|
|
|
|
|
#### `add_tool_from_fn` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/tools/tool_manager.py#L137" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
add_tool_from_fn(self, fn: Callable[..., Any], name: str | None = None, description: str | None = None, tags: set[str] | None = None, annotations: ToolAnnotations | None = None, serializer: Callable[[Any], str] | None = None, exclude_args: list[str] | None = None) -> Tool
|
|
```
|
|
|
|
Add a tool to the server.
|
|
|
|
|
|
#### `add_tool` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/tools/tool_manager.py#L166" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
add_tool(self, tool: Tool) -> Tool
|
|
```
|
|
|
|
Register a tool with the server.
|
|
|
|
|
|
#### `add_tool_transformation` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/tools/tool_manager.py#L183" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
add_tool_transformation(self, tool_name: str, transformation: ToolTransformConfig) -> None
|
|
```
|
|
|
|
Add a tool transformation.
|
|
|
|
|
|
#### `get_tool_transformation` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/tools/tool_manager.py#L189" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
get_tool_transformation(self, tool_name: str) -> ToolTransformConfig | None
|
|
```
|
|
|
|
Get a tool transformation.
|
|
|
|
|
|
#### `remove_tool_transformation` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/tools/tool_manager.py#L193" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
remove_tool_transformation(self, tool_name: str) -> None
|
|
```
|
|
|
|
Remove a tool transformation.
|
|
|
|
|
|
#### `remove_tool` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/tools/tool_manager.py#L198" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
remove_tool(self, key: str) -> None
|
|
```
|
|
|
|
Remove a tool from the server.
|
|
|
|
**Args:**
|
|
- `key`: The key of the tool to remove
|
|
|
|
**Raises:**
|
|
- `NotFoundError`: If the tool is not found
|
|
|
|
|
|
#### `call_tool` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/tools/tool_manager.py#L212" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
call_tool(self, key: str, arguments: dict[str, Any]) -> ToolResult
|
|
```
|
|
|
|
Internal API for servers: Finds and calls a tool, respecting the
|
|
filtered protocol path.
|
|
|