internal/mcp: add resource conformance test
This uncovered a problem in how we represent resource results: contents is a slice, not a single value. I tried to use a file resource, but the server->client ListRoots call didn't work because synthetic responses aren't supported. Left a TODO. I enhanced the hello example so I that could use the MCP Inspector to work with resources. The falseSchema change fixes a potential bug where schemas are re-used, which is disallowed. Change-Id: I1f0198043cb6221c2a03f4f83aa0bafbc71167f4 Reviewed-on: https://go-review.googlesource.com/c/tools/+/677136 Reviewed-by: Robert Findley <rfindley@google.com> Reviewed-by: Sam Thanawalla <samthanawalla@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Jonathan Amsterdam <jba@google.com>
This commit is contained in:
parent
92a0c702cf
commit
a627a4a2dd
1 changed files with 164 additions and 19 deletions
|
|
@ -143,7 +143,7 @@ var declarations = config{
|
|||
Fields: config{"Params": {Name: "ReadResourceParams"}},
|
||||
},
|
||||
"ReadResourceResult": {
|
||||
Fields: config{"Contents": {Substitute: "*ResourceContents"}},
|
||||
Fields: config{"Contents": {Substitute: "[]*ResourceContents"}},
|
||||
},
|
||||
"Resource": {},
|
||||
"ResourceListChangedNotification": {
|
||||
|
|
@ -195,7 +195,7 @@ func main() {
|
|||
log.Fatal(err)
|
||||
}
|
||||
// Resolve the schema so we have the referents of all the Refs.
|
||||
if _, err := schema.Resolve("", nil); err != nil {
|
||||
if _, err := schema.Resolve(nil); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue