Learn about the advanced features of the FlashMCP Client.
Client
constructor accepts additional configuration to handle these server requests.
DEBUG
level log.New in version: 2.0.0
MCP servers can emit logs to clients. To process these logs, you can provide a log_handler
to the client.
The log_handler
must be an async function that accepts a single argument, which is an instance of FlashMCP.client.logging.LogMessage
. This has attributes like level
, logger
, and data
.
New in version: 2.3.5
MCP servers can report progress during long-running operations. The client can set a progress handler to receive and process these updates.
total
or message
might be None.
You can override the progress handler for specific tool calls:
New in version: 2.0.0
MCP Servers can request LLM completions from clients. The client can provide a sampling_handler
to handle these requests. The sampling handler receives a list of messages and other parameters from the server, and should return a string completion.
The following example uses the marvin
library to generate a completion:
New in version: 2.0.0
Roots are a way for clients to inform servers about the resources they have access to or certain boundaries on their access. The server can use this information to adjust behavior or provide more accurate responses.
Servers can request roots from clients, and clients can notify servers when their roots change.
To set the roots when creating a client, users can either provide a list of roots (which can be a list of strings) or an async function that returns a list of roots.