-
Notifications
You must be signed in to change notification settings - Fork 750
feat: Extract McpAsyncClient and McpSyncClient as an interface #678
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Our current implementation requires significant extensions to This is a basic source code compatibility change. |
|
Can you document what significant extensions you've had to make to |
|
Hello, I need to implement enterprise-level MCP task support in my work. We need to return our own extended MCP client implementation, which is more complex internally. I think adjusting it to an interface would be basically source code compatible, right? |
|
I have just implemented enterprise-level MCP task support in our code base and I didn't need to change anything in this library. ¯\(ツ)/¯. See here: airlift/airlift#1650 |
|
Thanks for sharing. Does your system support asynchronous notifications? For example, can you still receive notifications after your McP client restarts, or do you require the client user to save the context themselves and then fetch the latest task status after startup? Also, without modifying the client, how do you dynamically add listTasks, etc., in the current implementation? We can certainly achieve this by adding a wrapper and then making some modifications using varhandles. |
The client side hasn't been addressed yet. We're less concerned with clients as clients will use whatever lib they might want. As I read the spec, however, a client that wants to survive restarts, etc. will need a backing store of some kind. This will require some thought. I think injecting a backing store of some kind to |
Motivation and Context
Helpful for users who want to have a different implementation but the same interface for better third part integration.
#680
How Has This Been Tested?
Breaking Changes
Types of changes
Checklist
Additional context