|
|
|
|
|
by pulkitsh1234
451 days ago
|
|
"Tool calling" is just one part of MCP, there are more things like "Sampling" which allow the server itself to initiate stuff on the client. As for tool calling, having a layer like MCP makes sense because there a lot of things which don't have a REST-API + may need direct access to the computer (filesystem, processes, etc). Examples: * Running SQL commands on a DB or a Redis instance.
* Launching Docker containers, SSHing to a server an running some command.
* Reading a file and extracting relevant information from it, like OCR.
* Controlling a remote browser using the WebDriver protocol, have some kind of persistent connection to a backend. As for just pure REST-API usecases, I think MCP serves what Swagger/OpenApi-Spec are meant to do, i.e. enforce some kind of format and give each endpoint a "Name" + list of Params which the LLM can invoke.
The issue is that there is no standardised way to pass these API specs to LLMs as tools (maybe something can be built in this space). In the future, I can easily see some kind of library/abstraction that allows an MCP server to parse an existing API spec file to expose those APIs as tools which can be combined with some local state on the computer to allow stateful interactions with a REST API. |
|