You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So I was the co-creator of the Microsoft Bot Framework and the lead architect for the Botbuilder and Teams AI Library SDK's so I've been building conversational interfaces for about a decade. I also have around 3,000 hours talking to LLM's so I know this space well.
I think the MCP protocol and the TypeScript SDK in particular are very well designed so kudos for that. With that said, I wanted to point out a couple of issues that jump out to me when working with the TypeScript SDK and the protocol. I'm only about a day into the SDK so I'll start with the the two easy things I had to fix:
The extra parameter passed into tool calls isn't easily extensible. You often want to pass in things like shared session memories and such. Those need to be tacked on to the extra context param.
There's no direct way to chain tool calls hierarchically. Copilot Chat Participants in VSCode are a great example of how this should be done. They support not only tools calling other tools but that results in hierarchical progress being reported back to the client.
I fixed both of those issues by wrapping the McpServer class with a new class that lets me extend the extra parameter passed to tool calls with additional values and then lets me easily chain those calls in a way that adds path information to the extra parameter.
The more challenging issue is that I don't see anyway to pause a tool and wait for user input. This is a more fundamental flaw in the protocol that I feel should be rectified. I'm happy to enumerate all of the various scenarios where you might need that but I suspect you're already bumping up against those scenarios.
The text was updated successfully, but these errors were encountered:
So I was the co-creator of the Microsoft Bot Framework and the lead architect for the Botbuilder and Teams AI Library SDK's so I've been building conversational interfaces for about a decade. I also have around 3,000 hours talking to LLM's so I know this space well.
I think the MCP protocol and the TypeScript SDK in particular are very well designed so kudos for that. With that said, I wanted to point out a couple of issues that jump out to me when working with the TypeScript SDK and the protocol. I'm only about a day into the SDK so I'll start with the the two easy things I had to fix:
extra
parameter passed into tool calls isn't easily extensible. You often want to pass in things like shared session memories and such. Those need to be tacked on to theextra
context param.I fixed both of those issues by wrapping the
McpServer
class with a new class that lets me extend the extra parameter passed to tool calls with additional values and then lets me easily chain those calls in a way that adds path information to the extra parameter.The more challenging issue is that I don't see anyway to pause a tool and wait for user input. This is a more fundamental flaw in the protocol that I feel should be rectified. I'm happy to enumerate all of the various scenarios where you might need that but I suspect you're already bumping up against those scenarios.
The text was updated successfully, but these errors were encountered: