Robert Findley
43ad1eb8b4
mcp: treat pointers equivalently to non-pointers when deriving schema
...
As reported in #199 and #200 , the fact that we return a possibly "null"
schema for pointer types breaks various clients, which expect schemas to
be of type "object". This is an unfortunate footgun. For now, assume
that the user wants us to treat pointers equivalently to non-pointers.
If we want to change this behavior in the future, we can do so behind an
option.
+ a test
Also fix the handling of nil results in the case where the output schema
is non-nil: we must provide structured content in this case. (This was
causing the test to fail).
Fixes #199
Fixes #200
2025-08-21 10:57:28 -04:00
..
testdata
mcp: don't mark the server sesion as initialized prematurely
2025-08-07 14:59:36 -04:00
client.go
mcp/server: expose InitializeParams to ServerSession ( #336 )
2025-08-20 14:39:17 -04:00
client_list_test.go
mcp: change tool handler design ( #325 )
2025-08-20 19:36:34 -04:00
client_test.go
mcp/server: expose InitializeParams to ServerSession ( #336 )
2025-08-20 14:39:17 -04:00
cmd.go
mcp: make transports open structs
2025-08-12 15:14:21 -04:00
cmd_test.go
mcp: make transports open structs
2025-08-12 15:14:21 -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: implement a concurrency model for calls
2025-08-19 11:21:02 -04:00
content.go
mcp: implement a concurrency model for calls
2025-08-19 11:21:02 -04:00
content_nil_test.go
mcp: change tool handler design ( #325 )
2025-08-20 19:36:34 -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: changed streamID's from int64 to random strings ( #266 )
2025-08-15 09:38:18 -04:00
event_test.go
mcp: changed streamID's from int64 to random strings ( #266 )
2025-08-15 09:38:18 -04:00
example_middleware_test.go
mcp: change tool handler design ( #325 )
2025-08-20 19:36:34 -04:00
example_progress_test.go
mcp: introduce Requests ( #267 )
2025-08-12 17:49:50 -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
mcp: support stateless streamable sessions ( #277 )
2025-08-11 16:43:46 -04:00
mcp-repo-replace.txt
internal/mcp: add a script to create the mcp SDK repo
2025-06-20 14:24:49 -07:00
mcp.go
generate.go: remove
2025-06-23 20:16:40 -04:00
mcp_test.go
mcp: treat pointers equivalently to non-pointers when deriving schema
2025-08-21 10:57:28 -04:00
prompt.go
mcp: new API for features ( #88 )
2025-07-07 14:54:52 -04:00
protocol.go
mcp: change tool handler design ( #325 )
2025-08-20 19:36:34 -04:00
protocol_test.go
mcp: change tool handler design ( #325 )
2025-08-20 19:36:34 -04:00
resource.go
mcp: introduce Requests ( #267 )
2025-08-12 17:49:50 -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
root.go
internal/mcp: implement roots
2025-05-13 07:52:49 -07:00
server.go
mcp: treat pointers equivalently to non-pointers when deriving schema
2025-08-21 10:57:28 -04:00
server_example_test.go
mcp: change tool handler design ( #325 )
2025-08-20 19:36:34 -04:00
server_test.go
mcp: add syntax and scheme validation to AddResourceTemplate ( #253 )
2025-08-19 17:43:26 -04:00
session.go
mcp: support stateless streamable sessions ( #277 )
2025-08-11 16:43:46 -04:00
shared.go
mcp: handle the Mcp-Protocol-Version header correctly
2025-08-20 16:48:08 -04:00
shared_test.go
mcp: change tool handler design ( #325 )
2025-08-20 19:36:34 -04:00
sse.go
mcp: make transports open structs
2025-08-12 15:14:21 -04:00
sse_example_test.go
mcp: change tool handler design ( #325 )
2025-08-20 19:36:34 -04:00
sse_test.go
mcp: make transports open structs
2025-08-12 15:14:21 -04:00
streamable.go
mcp: handle the Mcp-Protocol-Version header correctly
2025-08-20 16:48:08 -04:00
streamable_test.go
mcp: uncomment test, change struct{} to any ( #341 )
2025-08-21 10:18:52 -04:00
tool.go
mcp: change tool handler design ( #325 )
2025-08-20 19:36:34 -04:00
tool_test.go
mcp: change tool handler design ( #325 )
2025-08-20 19:36:34 -04:00
transport.go
mcp: pass TokenInfo to server handler ( #292 )
2025-08-20 10:50:16 -04:00
transport_test.go
mcp: handle bad trailing stdio input graciously ( #179 ) ( #192 )
2025-08-06 11:40:39 -04:00
util.go
internal/util: move FieldJSONInfo into jsonschema/util ( #251 )
2025-08-06 12:07:57 -04:00