mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-26 23:44:17 +02:00
Fix middleware tests
This commit is contained in:
parent
6b2df6be51
commit
ddb38bacc4
5 changed files with 71 additions and 30 deletions
|
|
@ -78,10 +78,13 @@ When a request comes in, **multiple hooks may be called for the same request**,
|
|||
2. **`on_request` or `on_notification`** - Called based on the message type
|
||||
3. **Operation-specific hooks** - Called for specific MCP operations like `on_call_tool`
|
||||
|
||||
For example, when a client calls a tool, your middleware will receive **three separate hook calls**:
|
||||
1. First: `on_message` (because it's any MCP message)
|
||||
2. Second: `on_request` (because tool calls expect responses)
|
||||
3. Third: `on_call_tool` (because it's specifically a tool execution)
|
||||
For example, when a client calls a tool, your middleware will receive **multiple hook calls**:
|
||||
1. `on_message` and `on_request` for any initial tool discovery operations (list_tools)
|
||||
2. `on_message` (because it's any MCP message) for the tool call itself
|
||||
3. `on_request` (because tool calls expect responses) for the tool call itself
|
||||
4. `on_call_tool` (because it's specifically a tool execution) for the tool call itself
|
||||
|
||||
Note that the MCP SDK may perform additional operations like listing tools for caching purposes, which will trigger additional middleware calls beyond just the direct tool execution.
|
||||
|
||||
This hierarchy allows you to target your middleware logic with the right level of specificity. Use `on_message` for broad concerns like logging, `on_request` for authentication, and `on_call_tool` for tool-specific logic like performance monitoring.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue