Repository navigation
Replies: 1 comment 3 replies
|
It could be an interesting addition to the MCPConnector. More in general your post is making me think of a tool-search tool. So this strategy could be applied not only to MCP but to the entire tool suite you want to attach to the agent. It should make tools availbale to the model dynamically, that's the most relevant problem in the architecture. |
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi,
According to my understanding, the current MCP architecture is not very good. Each time we call ->tools() on the McpConnector,, all tools are loaded and transmitted to the backend LLM. The only way to make it lighter is to use only() / except().
This is a massive issue for MCP with a lot of tools.
I think we should tackle this issue by adopting the
pi-mcp-adapterimplementation:All tools from MCP are loaded independently of the agent, and cached/refreshed according to the user needs through a McpConnector::refresh() or something like that.
Then a unique tool is exposed to the LLM:
mcp, allowing the agent to search for a particular tool within the MCP servers.Prefixing strategy of each tool can be choosen by the developer. This is important as it would allow the usage of two same MCPs but with different configurations, without naming conflicts.
Main advantages:
That's not difficult to implement for a developer, so it might not be an "urgent" problem. But still, I think it would be good to make it native.
Let me know if I have a bad understanding!
Thanks
All reactions