feat(mcp): refactor to use go-sdk#385
Conversation
e112c07 to
1e24411
Compare
9455a33 to
7c0fd25
Compare
0643f1c to
a48decd
Compare
c8ee9bf to
77d3ce7
Compare
2b821b0 to
523baff
Compare
Signed-off-by: Marc Nuri <marc@marcnuri.com>
| @@ -9,6 +9,7 @@ require ( | |||
| github.com/go-jose/go-jose/v4 v4.1.3 | |||
| github.com/google/jsonschema-go v0.3.0 | |||
| github.com/mark3labs/mcp-go v0.43.0 | |||
There was a problem hiding this comment.
some of the tests still have reference to this. Will that clean-up follow in a separate PR?
There was a problem hiding this comment.
The tests are still running using the Mark3Labs MCP client.
We can eventually move to just use the official go-sdk mcp client, but I find it more reliable this way though.
| // TODO: No option to perform a full replacement of tools. | ||
| // Remove tools that are no longer applicable |
There was a problem hiding this comment.
this is also to follow up, w/ upstream?
There was a problem hiding this comment.
yup, I think we discussed this earlier today or yesterday in a different PR or chat.
Once this is in I'll open an issue upstream and see if they are receptive to a SetTools implementation (comments in their code don't suggest they might want it, so better to provide a real use-case/scenario).
| // For clients to be able to listen to tool changes, we need to set the server stateful | ||
| // https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#listening-for-messages-from-the-server |
There was a problem hiding this comment.
wondering: was the old impl than not "compliant" to latest spec?
There was a problem hiding this comment.
I think mark3labs was more lenient in this regard.
I'm not sure that the MCP protocol states that listening for tool changes is something that requires a session id, but in the go-sdk implementation it does.
|
I want to test with w/ the checked in keycloak scripts |
tested the keycloak setup from the |
|
LGTM 🎉 |
|
Merging 🚀 |
Fixes #219