Description
Is your feature request related to a problem? Please describe.
Anthropic just released MCP which will simplify how we can integrate new and diverse tools to LLM apps like this one. It would be useful and it would augment the value of mods if users could indicate if they want mods to talk to their SQLlite, or access files on their filesystem, or query some API, etc...
This would not only be supported by Anthropic models but any models which understand tools/function calling.
Anthropic released Python and Typescript SDK but people have started making GO equivalent.
Here's one: https://github.com/mark3labs/mcp-go (not affiliated)
And I think more will have appeared once you read this :-)
Describe the solution you'd like
Add in support for MCP Client to Mods and
Allow the user to specify in the config the various MCP Server they would like the LLM to access.
Something like:
mcpServers:
sqlite:
command: "uvx",
args: ["mcp-server-sqlite", "--db-path", "/Users/YOUR_USERNAME/test.db"]
And then the user would be able to do:
$ mods how many users do I have in my sqlite?
and it would send the requests/calls using JSONRPC over Stdio or SSE Transports to fetch the data necessary to get a response.
There's already a number of MPC Server available like fetching web pages and sending messages on slack to name a few:
https://github.com/modelcontextprotocol/servers
Describe alternatives you've considered
No alternative since this might be the one common solution that will be the most successful/popular.
I do not know golang and I do not know if that go mcp sdk is mature enough to be used in this way yet.
But I thought I would see if anyone would be interested in using or implementing this.
Additional context