ezun-kim
3da711ba8b
Fix SSE server connection handling for MCP client
...
### Summary
This PR improves the MCP (Model Context Protocol) client's SSE (Server-Sent Events) server connection handling by replacing the generic string parameter with a proper `SseServerParameters` class.
### Changes
- **Breaking Change**: Changed `server_params` type from `Union[StdioServerParameters, str]` to `Union[StdioServerParameters, SseServerParameters]`
- Added import for `SseServerParameters` from `mcp.client.session_group`
- Updated SSE client connection to use structured parameters instead of a simple URL string
- Fixed error message to correctly reflect the expected parameter types
- Improved logging by changing info-level log to debug-level for consistency
### Details
#### Before
The SSE client connection only accepted a URL string:
```python
async with self._client(self._server_params) as (read, write):
```
#### After
Now properly unpacks SSE server parameters:
```python
async with self._client(
url=self._server_params.url,
headers=self._server_params.headers,
timeout=self._server_params.timeout,
sse_read_timeout=self._server_params.sse_read_timeout
) as (read, write):
```
### Benefits
- **Type Safety**: Stronger type checking with dedicated `SseServerParameters` class
- **Extended Configuration**: Support for custom headers (authentication), timeouts, and SSE-specific settings
- **Better Error Messages**: Clear type error messages when incorrect parameters are provided
- **Improved Debugging**: Debug logging of SSE server parameters for troubleshooting
### Migration Guide
Users need to update their SSE server initialization:
```python
# Before
client = MCPClient("https://example.com/sse ")
# After
from mcp.client.session_group import SseServerParameters
client = MCPClient(SseServerParameters(
url="https://example.com/sse ",
headers={"Authorization": "Bearer token"},
timeout=30,
sse_read_timeout=60
))
```
### Testing
- [ ] Tested with StdioServerParameters (unchanged behavior)
- [ ] Tested with SseServerParameters with various configurations
- [ ] Verified error handling for invalid parameter types
---
This is a necessary change to support production-ready SSE connections with proper authentication and timeout handling.
2025-05-24 22:35:57 +09:00
Aleix Conchillo Flaqué
f86d002ceb
Merge pull request #1881 from pipecat-ai/aleix/daily-input-audio-and-video-task-fix
...
daily input audio and video task fix
2025-05-23 19:39:25 -07:00
Aleix Conchillo Flaqué
940926b5ec
TavusVideoService: no need to enable audio/video outputs
2025-05-23 19:29:34 -07:00
Aleix Conchillo Flaqué
85c096df0b
DailyTransport: create audio/video input tasks when input flag is enabled
2025-05-23 19:28:18 -07:00
Filipi da Silva Fuchter
76d93522ac
Merge pull request #1820 from pipecat-ai/tavus_video_service
...
Tavus improvements
2025-05-23 23:11:00 -03:00
Filipi Fuchter
31492831cc
Updating the changelog and readme to reflect the Tavus changes.
2025-05-23 23:04:04 -03:00
Filipi Fuchter
8221dd594e
Creating a Tavus example using the DailyTransport.
2025-05-23 23:03:40 -03:00
Filipi Fuchter
6346ca1a84
Creating a Tavus example using the SmallWebRTCTransport.
2025-05-23 23:03:24 -03:00
Filipi Fuchter
4a3404883f
Creating a Tavus example using the new TavusTransport.
2025-05-23 23:03:16 -03:00
Filipi Fuchter
1ebca35313
Queuing the app messages if the SmallWebrtcTransport is not connected yet.
2025-05-23 23:03:04 -03:00
Filipi Fuchter
e0d1381f87
Refactoring the TavusVideoService to allow to work with any transport.
2025-05-23 23:02:49 -03:00
Filipi Fuchter
86e6841569
Creating TavusTransport and TavusTransportClient.
2025-05-23 23:02:37 -03:00
Aleix Conchillo Flaqué
28b7a92a00
Merge pull request #1880 from pipecat-ai/aleix/daily-resize-event-loop-fix
...
BaseOutputTransport: don't block event loop during image resize
2025-05-23 18:32:00 -07:00
Aleix Conchillo Flaqué
4db5b18694
BaseOutputTransport: don't block event loop during image resize
2025-05-23 18:30:28 -07:00
Aleix Conchillo Flaqué
a628e921c0
Merge pull request #1879 from pipecat-ai/aleix/daily-fix-video-task
...
DailyTransport: fix video task variable
2025-05-23 17:56:08 -07:00
Aleix Conchillo Flaqué
6ca6ff37c9
DailyTransport: fix video task variable
2025-05-23 17:54:25 -07:00
Aleix Conchillo Flaqué
456db3710a
Merge pull request #1828 from pipecat-ai/aleix/daily-use-audio-renderers
...
DailyTransport: replace virtual speaker and microphones
2025-05-23 13:31:51 -07:00
Aleix Conchillo Flaqué
50f024c6f9
LiveKitTransport: use UserAudioRawFrame instead of InputAudioRawFrame
2025-05-23 11:27:53 -07:00
Aleix Conchillo Flaqué
a4de75a8c0
Merge pull request #1867 from pipecat-ai/aleix/user-bot-latency-log-observer
...
observers: added UserBotLatencyLogObserver
2025-05-23 09:23:03 -07:00
Aleix Conchillo Flaqué
88e8fcdaca
observers: added UserBotLatencyLogObserver
2025-05-23 09:17:53 -07:00
Aleix Conchillo Flaqué
7f74c2465c
SileroVADAnalyzer: improve non-matching sample rate log
2025-05-23 01:47:09 -07:00
Aleix Conchillo Flaqué
30d67a78eb
examples(chatbot-audio-recording): use same sample rate to avoid downsampling
2025-05-23 01:47:09 -07:00
Aleix Conchillo Flaqué
c3cfd1f0ce
DailyTransport: process audio, video and event callbacks in separate tasks
2025-05-23 01:47:09 -07:00
Aleix Conchillo Flaqué
69ac70eed8
DailyTransport: replace virtual microphone with custom microphone track
2025-05-23 01:47:09 -07:00
Aleix Conchillo Flaqué
fcf49e79cc
DailyTransport: use participant audio renderers instead of virtual speaker
2025-05-23 01:47:09 -07:00
Aleix Conchillo Flaqué
8d4894846d
pyproject: update to daily-python 0.19.0
2025-05-23 01:47:09 -07:00
Vanessa Pyne
a809b710c5
Merge pull request #1844 from pipecat-ai/vp-docsinreadme
...
add docs link at top of readme
2025-05-22 21:52:18 -05:00
vipyne
f6289e9db2
add docs link at top of readme
2025-05-22 21:51:29 -05:00
Mark Backman
26b4c4df22
Merge pull request #1870 from pipecat-ai/mb/gemini-2.5-flash-update
...
Update GeminiMultimodalLiveLLMService to use Gemini 2.5 Flash Native …
2025-05-22 18:19:55 -04:00
Mark Backman
f3a9844295
Merge pull request #1860 from pipecat-ai/mb/organize-otel-demos
...
Reorganize OpenTelemetry demos, add top-level README
2025-05-22 18:15:20 -04:00
Mark Backman
692821bdae
Merge pull request #1873 from pipecat-ai/mb/readme-sarvam
...
Add SarvamTTSService to README
2025-05-22 18:14:40 -04:00
Mark Backman
ee143d5b3a
Update GeminiMultimodalLiveLLMService to use Gemini 2.5 Flash Native Audio Dialog model
2025-05-22 18:13:41 -04:00
Mark Backman
7e178a634a
Merge pull request #1871 from pipecat-ai/mb/claude-sonnet-4-update
...
Update default model for Anthropic to Claude Sonnet 4
2025-05-22 18:12:47 -04:00
Mark Backman
fe88a3d80b
Add SarvamTTSService to README
2025-05-22 18:11:11 -04:00
Mark Backman
a196eac290
Merge pull request #1872 from pipecat-ai/mb/add-sarvam-tts
...
Add SarvamTTSService
2025-05-22 18:02:36 -04:00
Mark Backman
3c819955a2
Add SarvamTTSService
2025-05-22 16:23:08 -04:00
Mark Backman
ca0d7bbbed
Update default model for Anthropic to Claude Sonnet 4
2025-05-22 15:13:33 -04:00
Mark Backman
f93bd1e817
Merge pull request #1864 from pipecat-ai/mb/fix-11lab-set-model-voice
...
Fix: ElevenLabsTTSService, change voice and model
2025-05-22 14:36:24 -04:00
Mark Backman
415bc6ca0a
Fix: ElevenLabsTTSService, change voice and model
2025-05-22 14:28:50 -04:00
Mark Backman
8543c8d11d
Merge pull request #1869 from pipecat-ai/mb/update-readme-nova-sonic
...
Add AWS Nova Sonic to README
2025-05-22 14:07:35 -04:00
Mark Backman
bf5ad64575
Add AWS Nova Sonic to README
2025-05-22 14:03:28 -04:00
Aleix Conchillo Flaqué
0718f79ff2
Merge pull request #1866 from pipecat-ai/aleix/base-observers-are-base-objects
...
BaseObserver: inherit from BaseObject so we can have events
2025-05-21 16:07:38 -07:00
Aleix Conchillo Flaqué
9bbce225ce
BaseObserver: inherit from BaseObject so we can have events
2025-05-21 16:04:44 -07:00
Mark Backman
fb35fd6d71
Merge pull request #1859 from pipecat-ai/mb/otel-attribute-naming
...
Update OTel attribute names
2025-05-21 12:10:15 -04:00
Mark Backman
b4fd92aed6
Merge pull request #1862 from marctorsoc/clean-links-in-md-text-filter
...
Add link cleaning in MD text filter
2025-05-21 09:20:27 -04:00
Mark Backman
36931825b3
Merge pull request #1854 from sklinglernv/fix/elevenlab-tts
...
fix(elevenlabs tts): message parameter naming
2025-05-21 09:17:29 -04:00
marc.torsoc
ca35299dcd
add link cleaning and a test for it
2025-05-21 12:08:53 +02:00
Severin Klingler
e74b900914
revert most of the changes except keyword naming fix
2025-05-21 09:24:03 +02:00
Mark Backman
25115668a7
Reorganize OpenTelemetry demos, add top-level README
2025-05-20 23:30:46 -04:00
Mark Backman
fb94db3e64
Update to use GenAI naming
2025-05-20 22:56:02 -04:00