Make it possible to get a ToolsSchema out of an MCPClient without passing in an LLM service.

This allows folks to use `MCPClient` alongside the pattern of passing in tools at LLM init time, a pattern supported by speech-to-speech services such as `GeminiLiveLLMService`.
This commit is contained in:
Paul Kompfner
2025-11-03 20:52:53 -05:00
parent e6f881bb08
commit a9d78bd956
2 changed files with 114 additions and 97 deletions

View File

@@ -57,6 +57,12 @@ reason")`.
supported languages before Pipecat's service classes are updated, while still
providing guidance on verified languages.
- Added the two-step `MCPClient.get_tools_schema()` and
`MCPClient.register_tools_schema()` as two-step alternative to
`MCPClient.register_tools()`, to allow users to use `MCPClient` alongside
the pattern of passing in tools to the LLM service constructor (a pattern
supported by speech-to-speech services such as `GeminiLiveLLMService`).
### Fixed
- Fixed an issue where the `SmallWebRTCRequest` dataclass in runner would scrub