StreamableHTTP -> Streamable HTTP
This commit is contained in:
parent
3e03a2af66
commit
4e4455772b
4 changed files with 8 additions and 8 deletions
|
|
@ -33,7 +33,7 @@ It implements the Model Context Protocol specification, handling model context r
|
|||
- Manages tool registration and invocation
|
||||
- Supports prompt registration and execution
|
||||
- Supports resource registration and retrieval
|
||||
- Supports stdio & StreamableHTTP (including SSE) transports
|
||||
- Supports stdio & Streamable HTTP (including SSE) transports
|
||||
|
||||
### Supported Methods
|
||||
- `initialize` - Initializes the protocol and returns server capabilities
|
||||
|
|
@ -52,14 +52,14 @@ It implements the Model Context Protocol specification, handling model context r
|
|||
- Log Level
|
||||
- Resource subscriptions
|
||||
- Completions
|
||||
- Complete StreamableHTTP implementation with streaming responses
|
||||
- Complete Streamable HTTP implementation with streaming responses
|
||||
|
||||
### Usage
|
||||
|
||||
#### Rails Controller
|
||||
|
||||
When added to a Rails controller on a route that handles POST requests, your server will be compliant with non-streaming
|
||||
[StreamableHTTP](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http) transport
|
||||
[Streamable HTTP](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http) transport
|
||||
requests.
|
||||
|
||||
You can use the `Server#handle_json` method to handle requests.
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ ruby examples/stdio_server.rb
|
|||
```
|
||||
|
||||
### 2. HTTP Server (`http_server.rb`)
|
||||
A standalone HTTP server built with Rack that implements the MCP StreamableHTTP transport protocol. This demonstrates how to create a web-based MCP server with session management and Server-Sent Events (SSE) support.
|
||||
A standalone HTTP server built with Rack that implements the MCP Streamable HTTP transport protocol. This demonstrates how to create a web-based MCP server with session management and Server-Sent Events (SSE) support.
|
||||
|
||||
**Features:**
|
||||
- HTTP transport with Server-Sent Events (SSE) for streaming
|
||||
|
|
@ -127,11 +127,11 @@ curl -X POST http://localhost:9393 \
|
|||
-d '{"jsonrpc":"2.0","method":"tools/call","id":2,"params":{"name":"notification_tool","arguments":{"message":"Hello from cURL!"}}}'
|
||||
```
|
||||
|
||||
## StreamableHTTP Transport Details
|
||||
## Streamable HTTP Transport Details
|
||||
|
||||
### Protocol Flow
|
||||
|
||||
The HTTP server implements the MCP StreamableHTTP transport protocol:
|
||||
The HTTP server implements the MCP Streamable HTTP transport protocol:
|
||||
|
||||
1. **Initialize Session**:
|
||||
- Client sends POST request with `initialize` method
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ server.resources_read_handler do |params|
|
|||
}]
|
||||
end
|
||||
|
||||
# Create the StreamableHTTP transport
|
||||
# Create the Streamable HTTP transport
|
||||
server.transport = MCP::Transports::HTTP.new(server)
|
||||
|
||||
# Create a logger for MCP-specific logging
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ server.define_tool(
|
|||
MCP::Tool::Response.new([{ type: "text", text: "Echo: #{message}" }])
|
||||
end
|
||||
|
||||
# Create the StreamableHTTP transport
|
||||
# Create the Streamable HTTP transport
|
||||
server.transport = MCP::Transports::HTTP.new(server)
|
||||
|
||||
# Create a logger for MCP request/response logging
|
||||
|
|
|
|||
Loading…
Reference in a new issue