taskLABSCO SUMMARY
A second opinion, on tap, from another model.
It makes one model callable from inside another's conversation, with its own session and its own system prompt - so a Gemini or GPT read on the same problem is a tool call rather than a second window.
What it is
A Ruby gem that starts an MCP server in front of an LLM provider. You pick the provider, the model and optionally a base URL on the command line; the conversation it holds survives a restart as a named session, and it can itself connect out to other MCP servers so the model behind it can use their tools.
What you get
- A model from OpenAI, Google Gemini or any OpenAI-compatible endpoint exposed to your client as a tool
- Sessions that survive a restart, resumable by id and stored in a path you choose
- A session reset when the conversation should start clean
- System prompt text appended at launch, for pinning the persona the second model answers in
- Outbound MCP connections, so the model behind this server can call the tools of other servers you configure
- JSON-formatted logs written to a path you name
Requirements
Ruby 3.2+, with the gem built and installed from a clone (bundle install, then bundle exec rake install) — RubyGems does not carry it. An API key for whichever provider you use - OpenAI, or Gemini under either of the two names Google uses - exported in the environment. Provider, model and base URL are flags on llm-mcp mcp-serve, so a Groq or other compatible endpoint is one launch option away.
Setup effort
Build from source — git clone https://github.com/parruda/llm-mcp.git
USE CASES
Getting a second model's read without switching windows
Have your assistant put the question to the model this server fronts, and both answers land in the same thread.
Keeping a long consultation alive across restarts
Resume by session id, so the second model still has the thread it had yesterday.
Starting clean when the context has gone stale
Reset the session rather than restarting the server or opening a new one.
Pointing the same setup at a cheaper endpoint
Provider, model and base URL are launch flags, so moving from GPT-4 to a Groq-hosted model is a config change rather than a different server.
Giving the second model tools of its own
Configure outbound MCP servers and the model behind this one can call them inside its own reasoning.
2 tools
Listed in project docs. Your client may show a different list.
reset_sessionBEFORE YOU INSTALL
What to know first
Tools you get
2 tools named in the project's documentation.
Requires
- Ruby 3.2+ with Bundler
- One provider key in your environment: OPENAI_API_KEY, or GEMINI_API_KEY / GOOGLE_API_KEY for Gemini
INSTALLATION
Connect your client
Server setup
git clone https://github.com/parruda/llm-mcp.git
cd llm-mcp
bundle install
bundle exec rake install # installs the llm-mcp command locallyMCP Clients
Claude Desktop
{
"mcpServers": {
"llm-mcp": {
"command": "llm-mcp",
"args": [
"mcp-serve",
"--provider",
"openai",
"--model",
"gpt-4"
],
"env": {
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}Set the key for the provider you launch: OPENAI_API_KEY for --provider openai (as in the block), or GEMINI_API_KEY (GOOGLE_API_KEY also works) for --provider google.
Ruby MCP client
client.connect_stdio('llm-mcp', 'mcp-serve', '--provider', 'openai', '--model', 'gpt-4')Set the key for the provider you launch: OPENAI_API_KEY for --provider openai (as in the block), or GEMINI_API_KEY (GOOGLE_API_KEY also works) for --provider google.