Skip to content

[Transport] Implement WebSockets transport layer #10

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
7 tasks
zoedsoupe opened this issue Feb 28, 2025 · 1 comment · Fixed by #70
Closed
7 tasks

[Transport] Implement WebSockets transport layer #10

zoedsoupe opened this issue Feb 28, 2025 · 1 comment · Fixed by #70
Assignees
Labels
enhancement New feature or request

Comments

@zoedsoupe
Copy link
Collaborator

Description:
Currently, Hermes MCP supports STDIO and HTTP/SSE transports. Adding WebSockets support would provide another viable transport option with potential benefits for certain use cases, such as improved bidirectional communication and potentially better reconnection capabilities.

Subtasks:

  • Create Hermes.Transport.WebSocket module implementing the Transport behavior
  • Implement connection establishment logic
  • Implement message sending over WebSockets
  • Handle connection failures and reconnections
  • Add proper lifecycle management (initialization, termination)
  • Write comprehensive tests for the WebSocket transport
  • Update documentation to include WebSocket transport options

References:

@zoedsoupe zoedsoupe added the enhancement New feature or request label Feb 28, 2025
@epinault
Copy link

this would be so useful! I see in the other languages similar request modelcontextprotocol/typescript-sdk#330

@zoedsoupe zoedsoupe self-assigned this Apr 22, 2025
zoedsoupe added a commit that referenced this issue Apr 29, 2025
## Problem

The library needed WebSocket transport support for bidirectional
communication with MCP
 servers.

## Solution

Implemented a WebSocket transport module with:
- Server connection handling
- Bidirectional message passing
- Comprehensive test coverage
- Dependency upgrades for WebSocket support

Close #10

## Rationale

WebSocket provides real-time, bidirectional communication necessary for
efficient MCP
client-server interaction.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants