Skip to content

Issues I see with MCP #496

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

Open
Stevenic opened this issue May 15, 2025 · 1 comment
Open

Issues I see with MCP #496

Stevenic opened this issue May 15, 2025 · 1 comment

Comments

@Stevenic
Copy link

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.

@ihrpr
Copy link
Contributor

ihrpr commented May 15, 2025

Hi @Stevenic , thank you for the feedback!

The more challenging issue is that I don't see anyway to pause a tool and wait for user input.

The community is working now on Elicitation feature, would be great to have you input there
modelcontextprotocol/modelcontextprotocol#382

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants