Robert Findley
07f6c490c6
mcp: make the streamable client transport less strict ( #524 )
...
In practice, the streamable client transport was having trouble
connecting to various backends, because they are nonconformant in
various ways.
While it would be nice if all servers conformed to the spec, in practice
there are certain spec violations that are recoverable, and we can and
should recover them. Specifically:
- tolerate 404 instead of 405 for the hanging GET (#393 )
- tolerate (=ignore) spurious response body for notifications and
responses, since we know none are expected
Additionally, fix a bug that we weren't parsing Content-Type correctly.
Fixes #521
2025-09-24 14:07:27 -04:00
..
testdata
mcp: propertly validate against JSON, independent of Go values
2025-09-12 10:50:19 -04:00
client.go
docs: document tool support ( #498 )
2025-09-19 10:48:59 -04:00
client_example_test.go
mcp: fix several goroutine leaks in tests ( #494 )
2025-09-18 14:24:45 -04:00
client_list_test.go
mcp/examples: move server example into example folder ( #357 )
2025-08-26 09:13:30 -04:00
client_test.go
mcp: remove references to ClientRequest[T] for concrete T ( #343 )
2025-08-21 15:24:58 -04:00
cmd.go
mcp: speed up TestCommandTransportDuration
2025-09-12 12:00:29 -04:00
cmd_export_test.go
mcp: speed up TestCommandTransportDuration
2025-09-12 12:00:29 -04:00
cmd_test.go
mcp: add CallToolResult.getError ( #481 )
2025-09-18 08:08:23 -04:00
conformance_go124_test.go
internal/mcp: update protocol versions
2025-06-18 08:11:16 -07:00
conformance_go125_test.go
internal/mcp: update protocol versions
2025-06-18 08:11:16 -07:00
conformance_test.go
mcp: propertly validate against JSON, independent of Go values
2025-09-12 10:50:19 -04:00
content.go
mcp: implement a concurrency model for calls
2025-08-19 11:21:02 -04:00
content_nil_test.go
mcp: add CallToolResult.getError ( #481 )
2025-09-18 08:08:23 -04:00
content_test.go
mcp: don't omit required fields in ImageContent and AudioContent ( #95 )
2025-07-19 17:08:56 -04:00
event.go
mcp: remove the StreamID type ( #490 )
2025-09-18 12:01:07 -04:00
event_test.go
mcp: remove the StreamID type ( #490 )
2025-09-18 12:01:07 -04:00
features.go
mcp: minor cleanup of some TODOs ( #332 )
2025-08-20 12:55:19 -04:00
features_test.go
mcp: change tool handler design ( #325 )
2025-08-20 19:36:34 -04:00
logging.go
doc: document logging ( #497 )
2025-09-19 11:58:58 -04:00
mcp.go
internal/readme: use go:generate rather than Make
2025-09-11 10:38:07 -04:00
mcp_example_test.go
docs: add feature and troubleshooting documentation ( #463 )
2025-09-16 11:13:40 -04:00
mcp_test.go
mcp: fix several goroutine leaks in tests ( #494 )
2025-09-18 14:24:45 -04:00
prompt.go
mcp: align PromptHandler args with other handlers ( #348 )
2025-08-22 10:44:05 -04:00
protocol.go
docs: document tool support ( #498 )
2025-09-19 10:48:59 -04:00
protocol_test.go
mcp: add CallToolResult.getError ( #481 )
2025-09-18 08:08:23 -04:00
requests.go
mcp: statically type the server-side tool params ( #378 )
2025-08-30 08:16:06 -04:00
resource.go
all: remove ServerRequest[T] for concrete T ( #342 )
2025-08-21 12:10:53 -04:00
resource_go124.go
internal/mcp: add the FileResourceHandler method
2025-05-19 11:15:23 -07:00
resource_pre_go124.go
internal/mcp: add the FileResourceHandler method
2025-05-19 11:15:23 -07:00
resource_test.go
mcp/Resource: Refactor URI Template Matching with uritemplate Library ( #100 )
2025-07-08 15:52:54 -04:00
server.go
Move GetSessionID closure into ServerOptions ( #488 )
2025-09-18 12:21:02 -04:00
server_example_test.go
doc: document logging ( #497 )
2025-09-19 11:58:58 -04:00
server_test.go
mcp: correct the JSON used for unstructured content
2025-09-17 17:42:43 -04:00
session.go
mcp: support stateless streamable sessions ( #277 )
2025-08-11 16:43:46 -04:00
shared.go
mcp: fix typo in protocolVersion20241105
2025-09-09 11:21:18 -04:00
shared_test.go
all: remove ServerRequest[T] for concrete T ( #342 )
2025-08-21 12:10:53 -04:00
sse.go
SSE: Add support for SSE handler options ( #508 )
2025-09-19 13:01:57 -04:00
sse_example_test.go
SSE: Add support for SSE handler options ( #508 )
2025-09-19 13:01:57 -04:00
sse_test.go
SSE: Add support for SSE handler options ( #508 )
2025-09-19 13:01:57 -04:00
streamable.go
mcp: make the streamable client transport less strict ( #524 )
2025-09-24 14:07:27 -04:00
streamable_bench_test.go
mcp: update to jsonschema that does not validate structs ( #511 )
2025-09-22 15:28:04 -04:00
streamable_client_test.go
mcp: make the streamable client transport less strict ( #524 )
2025-09-24 14:07:27 -04:00
streamable_example_test.go
docs: add feature and troubleshooting documentation ( #463 )
2025-09-16 11:13:40 -04:00
streamable_test.go
mcp: fix context propagation in StreamableClientTransport ( #514 )
2025-09-23 12:27:39 -04:00
tool.go
mcp: propertly validate against JSON, independent of Go values
2025-09-12 10:50:19 -04:00
tool_example_test.go
mcp: update to jsonschema that does not validate structs ( #511 )
2025-09-22 15:28:04 -04:00
tool_test.go
mcp: propertly validate against JSON, independent of Go values
2025-09-12 10:50:19 -04:00
transport.go
docs: add feature and troubleshooting documentation ( #463 )
2025-09-16 11:13:40 -04:00
transport_example_test.go
mcp: fix several goroutine leaks in tests ( #494 )
2025-09-18 14:24:45 -04:00
transport_test.go
mcp: fix several goroutine leaks in tests ( #494 )
2025-09-18 14:24:45 -04:00
util.go
internal/util: move FieldJSONInfo into jsonschema/util ( #251 )
2025-08-06 12:07:57 -04:00