Tomas Dabašinskas
8805aa85f7
mcp: add configurable keepalive failure threshold ( #982 )
...
mcp: add configurable keepalive failure threshold
Introduce `KeepAliveFailureThreshold` option in both `ClientOptions` and
`ServerOptions` to control how many consecutive keepalive ping failures
are tolerated before closing the session.
This aligns with the MCP spec's guidance that "multiple failed pings MAY
trigger a connection reset," allowing operators to tune resilience
against transient network hiccups without immediately tearing down
otherwise healthy sessions.
A threshold of 0 or 1 (the default) closes on the first failure,
preserving existing behavior. Higher values let isolated misses pass
while still closing the session once consecutive failures reach the
threshold. A successful ping resets the counter.
Tolerated failures are logged at WARN level; the final failure that
closes the session is logged at ERROR level.
This is rework of #979 .
2026-05-31 10:25:49 +02:00
..
testdata
mcp: return input validation errors as tool results, not JSON-RPC errors ( #863 )
2026-03-31 10:14:36 +02:00
capabilities_test.go
all: clean up Go 1.24 specific code. ( #850 )
2026-03-20 12:28:56 +01:00
client.go
mcp: add configurable keepalive failure threshold ( #982 )
2026-05-31 10:25:49 +02:00
client_example_test.go
mcp: fix goroutine leaks in unit tests ( #496 )
2025-10-16 11:13:30 -04:00
client_list_test.go
mcp: allow any value for schemas ( #517 )
2025-09-26 11:55:54 -04:00
client_test.go
mcp: HTTP Header Standardization for x-mcp-header ( #915 )
2026-05-08 12:39:18 +02: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
all: modernize code ( #868 )
2026-03-31 10:58:02 +02:00
conformance_test.go
all: fix typos ( #869 )
2026-03-30 18:43:01 +02:00
content.go
all: use case-sensitive JSON unmarshaling ( #807 )
2026-02-18 16:38:36 +01:00
content_nil_test.go
feat: multi-round-trip request implementation (SEP-2322) ( #950 )
2026-05-29 09:29:34 +02:00
content_test.go
mcp: switch icon theme to named string type ( #733 )
2025-12-19 16:44:10 -05:00
elicitation_test.go
all: clean up Go 1.24 specific code. ( #850 )
2026-03-20 12:28:56 +01:00
error_test.go
mcp: align resource not found error code with sep-2164 ( #931 )
2026-05-05 16:20:02 +02:00
event.go
mcp: use http.ResponseController to ensure writes are flushed ( #870 )
2026-03-31 13:13:16 +02:00
event_test.go
mcp: handle empty chunks in MemoryEventStore ( #862 )
2026-03-27 16:58:03 +01: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
mcp: use golang.org/x/time/rate for LoggingHandler rate limiting ( #927 )
2026-05-06 10:31:01 +02:00
mcp.go
mcp: fix inaccurate package doc ( #534 )
2025-09-26 14:16:10 -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: add configurable keepalive failure threshold ( #982 )
2026-05-31 10:25:49 +02:00
mrtr.go
feat: multi-round-trip request implementation (SEP-2322) ( #950 )
2026-05-29 09:29:34 +02:00
mrtr_test.go
feat: multi-round-trip request implementation (SEP-2322) ( #950 )
2026-05-29 09:29:34 +02:00
prompt.go
mcp: align PromptHandler args with other handlers ( #348 )
2025-08-22 10:44:05 -04:00
protocol.go
feat: multi-round-trip request implementation (SEP-2322) ( #950 )
2026-05-29 09:29:34 +02:00
protocol_test.go
feat: multi-round-trip request implementation (SEP-2322) ( #950 )
2026-05-29 09:29:34 +02:00
requests.go
mcp: implement sampling with tools ( #699 )
2026-02-17 12:07:08 +01:00
resource.go
mcp: align resource not found error code with sep-2164 ( #931 )
2026-05-05 16:20:02 +02:00
resource_test.go
mcp/Resource: Refactor URI Template Matching with uritemplate Library ( #100 )
2025-07-08 15:52:54 -04:00
sampling_test.go
mcp: simplify and unify unit tests introduced for sampling with tools. ( #799 )
2026-03-02 10:55:35 +01:00
schema_cache.go
perf: add schema caching to avoid repeated reflection ( #685 )
2026-01-20 20:16:46 -05:00
schema_cache_test.go
all: modernize code ( #868 )
2026-03-31 10:58:02 +02:00
server.go
mcp: add configurable keepalive failure threshold ( #982 )
2026-05-31 10:25:49 +02:00
server_example_test.go
doc: document logging ( #497 )
2025-09-19 11:58:58 -04:00
server_test.go
mcp: Implement stateless server (SEP-2275) ( #965 )
2026-05-26 14:25:51 +00:00
session.go
mcp: support stateless streamable sessions ( #277 )
2025-08-11 16:43:46 -04:00
shared.go
mcp: add configurable keepalive failure threshold ( #982 )
2026-05-31 10:25:49 +02:00
shared_test.go
mcp: Implement stateless server (SEP-2275) ( #965 )
2026-05-26 14:25:51 +00:00
sse.go
mcp: remove default cross origin protection ( #906 )
2026-04-24 11:35:22 +02:00
sse_example_test.go
SSE: Add support for SSE handler options ( #508 )
2025-09-19 13:01:57 -04:00
sse_test.go
mcp: remove default cross origin protection ( #906 )
2026-04-24 11:35:22 +02:00
streamable.go
mcp: Implement stateless server (SEP-2275) ( #965 )
2026-05-26 14:25:51 +00:00
streamable_bench_test.go
all: modernize code ( #868 )
2026-03-31 10:58:02 +02:00
streamable_client.go
mcp: do not call DELETE for sessionless & doc adjustments ( #960 )
2026-05-15 21:47:34 +02:00
streamable_client_test.go
fix: handle oauth2.RetrieveError during token refresh ( #917 )
2026-05-04 13:07:03 +02:00
streamable_example_test.go
mcp: update latestProtocolVersion to 2025-11-25 ( #724 )
2026-03-03 10:30:11 +01:00
streamable_headers.go
mcp: HTTP Header Standardization for x-mcp-header ( #915 )
2026-05-08 12:39:18 +02:00
streamable_headers_test.go
mcp: HTTP Header Standardization for x-mcp-header ( #915 )
2026-05-08 12:39:18 +02:00
streamable_server.go
mcp: simplify stream state management in streamable transport
2025-12-10 13:28:25 -05:00
streamable_test.go
feat: multi-round-trip request implementation (SEP-2322) ( #950 )
2026-05-29 09:29:34 +02:00
tool.go
all: use case-sensitive JSON unmarshaling ( #807 )
2026-02-18 16:38:36 +01:00
tool_example_test.go
mcp: allow any value for schemas ( #517 )
2025-09-26 11:55:54 -04:00
tool_test.go
all: expose JSON-RPC error codes, and support URLElicitationRequired errors ( #655 )
2025-12-01 11:29:17 -05:00
transport.go
mcp: do not re-prompt OAuth after cancelled Authorize ( #885 )
2026-04-24 16:58:57 +02:00
transport_example_test.go
all: clean up Go 1.24 specific code. ( #850 )
2026-03-20 12:28:56 +01:00
transport_test.go
fix: handle Windows CRLF in MCP client( #664 ) ( #665 )
2025-12-01 12:16:39 -05:00
util.go
all: use case-sensitive JSON unmarshaling ( #807 )
2026-02-18 16:38:36 +01:00