Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion DEPENDENCIES
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
vendorpull https://github.com/sourcemeta/vendorpull 1dcbac42809cf87cb5b045106b863e17ad84ba02
uwebsockets https://github.com/uNetworking/uWebSockets v20.78.0
core https://github.com/sourcemeta/core d50aab1249c1e6c38977d859557ce84342aa1d7d
core https://github.com/sourcemeta/core 44ccfc458f8fd66870635c0d4c49d4814097277e
blaze https://github.com/sourcemeta/blaze 3c2ddb90f26eb50821442f54c5db88276ab9a558
bootstrap https://github.com/twbs/bootstrap v5.3.3
bootstrap-icons https://github.com/twbs/icons v1.11.3
Expand Down
14 changes: 14 additions & 0 deletions enterprise/e2e/html/hurl/mcp-2025-03-26-batch.all.hurl
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# batch case to fully assert the inner template descriptor without duplicating
# the canonical resourceTemplates assertion across hurl files
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand All @@ -20,6 +21,7 @@ jsonpath "$.result.resourceTemplates[0].uriTemplate" == "{{base}}/{+path}{?bundl
# return responses as an array in any order. We preserve input order so clients
# do not have to id-match
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -72,6 +74,7 @@ jsonpath "$.valid" == true
# valid one dispatches normally. The invalid one returns its own Invalid
# Request envelope. Neither failure can poison the other
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -123,6 +126,7 @@ jsonpath "$.valid" == true
# empty array, it must "return nothing at all". We use the same 202 Accepted
# semantics the single-notification path uses
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand All @@ -144,6 +148,7 @@ bytes count == 0
# Empty array body. JSON-RPC §6 explicitly says this must produce a single
# Response object, not an empty array
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -187,6 +192,7 @@ jsonpath "$.valid" == true
# the shape of the request. Batch-aware clients distinguish "single response"
# from "1-element array"
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -229,6 +235,7 @@ jsonpath "$.valid" == true
# response entry, but the body is still a 1-element array because at least
# one response exists
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -278,6 +285,7 @@ jsonpath "$.valid" == true
# below still validates the whole batch body against the wrapped
# `mcp/response` schema, which keeps the contract on the response shape
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -332,6 +340,7 @@ jsonpath "$.valid" == true
# Batch where a tool call references an unknown tool. The error envelope is
# returned for that sub-element while the rest of the batch proceeds
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -382,6 +391,7 @@ jsonpath "$.valid" == true
# Batch elements with identical ids. The spec does not forbid id collisions,
# clients are responsible for picking unique ones. We must still process both
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -432,6 +442,7 @@ jsonpath "$.valid" == true
# yields its own Invalid Request envelope. The response array has one entry
# per sub-element (id null because non-objects have no id to echo)
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -485,6 +496,7 @@ jsonpath "$.valid" == true

# Batch on 2025-06-18 is rejected with a single Invalid Request envelope
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-06-18
Content-Type: application/json
```
Expand Down Expand Up @@ -526,6 +538,7 @@ jsonpath "$.valid" == true

# Same single-envelope rejection on 2025-11-25
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-11-25
Content-Type: application/json
```
Expand Down Expand Up @@ -569,6 +582,7 @@ jsonpath "$.valid" == true
# version. The wrong-version one comes back as Invalid Request, the other
# dispatches normally
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down
9 changes: 9 additions & 0 deletions enterprise/e2e/html/hurl/mcp-2025-03-26.all.hurl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -59,6 +60,7 @@ header "Date" matches /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (0[1-9]|[12][0-9]|3[01])
jsonpath "$.valid" == true

POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -105,6 +107,7 @@ header "Date" matches /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (0[1-9]|[12][0-9]|3[01])
jsonpath "$.valid" == true

POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -153,6 +156,7 @@ header "Date" matches /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (0[1-9]|[12][0-9]|3[01])
jsonpath "$.valid" == true

POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -197,6 +201,7 @@ header "Date" matches /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (0[1-9]|[12][0-9]|3[01])
jsonpath "$.valid" == true

POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -328,6 +333,7 @@ header "Date" matches /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (0[1-9]|[12][0-9]|3[01])
jsonpath "$.valid" == true

POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -382,6 +388,7 @@ header "Date" matches /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (0[1-9]|[12][0-9]|3[01])
jsonpath "$.valid" == true

POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -456,6 +463,7 @@ header "Date" matches /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (0[1-9]|[12][0-9]|3[01])
jsonpath "$.valid" == true

POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down Expand Up @@ -531,6 +539,7 @@ header "Date" matches /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (0[1-9]|[12][0-9]|3[01])
jsonpath "$.valid" == true

POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-03-26
Content-Type: application/json
```
Expand Down
5 changes: 5 additions & 0 deletions enterprise/e2e/html/hurl/mcp-2025-06-18-batch.all.hurl
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

# Single-element batch
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-06-18
Content-Type: application/json
```
Expand Down Expand Up @@ -46,6 +47,7 @@ jsonpath "$.valid" == true

# Multi-element batch with otherwise-valid requests
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-06-18
Content-Type: application/json
```
Expand Down Expand Up @@ -90,6 +92,7 @@ jsonpath "$.valid" == true

# Empty array body
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-06-18
Content-Type: application/json
```
Expand Down Expand Up @@ -133,6 +136,7 @@ jsonpath "$.valid" == true
# 2025-06-18 the version rejects the batch wrapper itself, so the contents
# do not matter and the response is still the Invalid Request envelope
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-06-18
Content-Type: application/json
```
Expand Down Expand Up @@ -177,6 +181,7 @@ jsonpath "$.valid" == true

# Batch with garbage sub-elements
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-06-18
Content-Type: application/json
```
Expand Down
8 changes: 8 additions & 0 deletions enterprise/e2e/html/hurl/mcp-2025-06-18.all.hurl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-06-18
Content-Type: application/json
```
Expand Down Expand Up @@ -56,6 +57,7 @@ header "Date" matches /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (0[1-9]|[12][0-9]|3[01])
jsonpath "$.valid" == true

POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-06-18
Content-Type: application/json
```
Expand Down Expand Up @@ -99,6 +101,7 @@ header "Date" matches /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (0[1-9]|[12][0-9]|3[01])
jsonpath "$.valid" == true

POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-06-18
Content-Type: application/json
```
Expand Down Expand Up @@ -144,6 +147,7 @@ header "Date" matches /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (0[1-9]|[12][0-9]|3[01])
jsonpath "$.valid" == true

POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-06-18
Content-Type: application/json
```
Expand Down Expand Up @@ -188,6 +192,7 @@ header "Date" matches /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (0[1-9]|[12][0-9]|3[01])
jsonpath "$.valid" == true

POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-06-18
Content-Type: application/json
```
Expand Down Expand Up @@ -241,6 +246,7 @@ header "Date" matches /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (0[1-9]|[12][0-9]|3[01])
jsonpath "$.valid" == true

POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-06-18
Content-Type: application/json
```
Expand Down Expand Up @@ -289,6 +295,7 @@ header "Date" matches /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (0[1-9]|[12][0-9]|3[01])
jsonpath "$.valid" == true

POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-06-18
Content-Type: application/json
```
Expand Down Expand Up @@ -383,6 +390,7 @@ header "Date" matches /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (0[1-9]|[12][0-9]|3[01])
jsonpath "$.valid" == true

POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-06-18
Content-Type: application/json
```
Expand Down
5 changes: 5 additions & 0 deletions enterprise/e2e/html/hurl/mcp-2025-11-25-batch.all.hurl
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

# Single-element batch
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-11-25
Content-Type: application/json
```
Expand Down Expand Up @@ -46,6 +47,7 @@ jsonpath "$.valid" == true

# Multi-element batch with otherwise-valid requests
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-11-25
Content-Type: application/json
```
Expand Down Expand Up @@ -90,6 +92,7 @@ jsonpath "$.valid" == true

# Empty array body
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-11-25
Content-Type: application/json
```
Expand Down Expand Up @@ -133,6 +136,7 @@ jsonpath "$.valid" == true
# 2025-06-18 the version rejects the batch wrapper itself, so the contents
# do not matter and the response is still the Invalid Request envelope
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-11-25
Content-Type: application/json
```
Expand Down Expand Up @@ -177,6 +181,7 @@ jsonpath "$.valid" == true

# Batch with garbage sub-elements
POST {{base}}/self/v1/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-11-25
Content-Type: application/json
```
Expand Down
Loading
Loading