Gemini vs Lm

A side-by-side look at the Gemini and Lm MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Gemini logoGeminiConversational AI · Local subprocess (stdio)Model Context Protocol server for Google Gemini AI with chat, research, and grounding61GoodAuth: not declaredLm logoLmConversational AI · Local subprocess (stdio)Connect Claude to any OpenAI-compatible LLM endpoint and offload routine work to a local model.61GoodAuth: not declared

Verdict: choose Gemini for conversational ai work as a local process; choose Lm for conversational ai as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Gemini logoChoose Gemini when

  • You need dedicated capabilities in the Conversational AI domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: GEMINI_API_KEY.
  • You want tools like gemini_chat, gemini_deep_research, gemini_list_models.
Explore Gemini

Lm logoChoose Lm when

  • You need dedicated capabilities in the Conversational AI domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: HOUTINI_LM_ENDPOINT_URL, HOUTINI_LM_API_KEY, HOUTINI_LM_MODEL, HOUTINI_LM_SERIALISE.
  • You want tools like chat, custom_prompt, code_task.
Explore Lm

Feature & specification comparison

Rows where the two servers differ are marked.

SpecGemini logoGeminiLm logoLm
CategoryConversational AIConversational AI
Quality signal61/100 · Good61/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNot declared
PricingNot declaredNot declared
Required env varsGEMINI_API_KEYHOUTINI_LM_ENDPOINT_URLHOUTINI_LM_API_KEYHOUTINI_LM_MODELHOUTINI_LM_SERIALISE
Verified ownerCommunity listingCommunity listing
GitHub stars34121
Directory activity 1 views 0 installs 0 upvotes 0 views 0 installs 0 upvotes
Tools148

Tools & capabilities

Gemini tools 14

  • gemini_chatChat with Gemini 4 Argon. Google Search grounding on by default. Supports `thinking_level
  • gemini_deep_researchGrounded search passes on Flash, synthesised into a report by 3.1 Pro. Default 2 passes
  • gemini_list_modelsLists the models your API key can see, live
  • gemini_helpDocumentation for every tool without leaving Claude
  • gemini_prompt_assistantExpert guidance for image generation with nine chart design systems
  • generate_imageImage generation with optional search grounding. Full-res saved to disk
  • edit_imageEdit images with natural-language instructions. Multi-turn continuity via thought signatures
  • describe_imageFast image descriptions on Gemini 3.8 Flash
  • analyze_imageStructured extraction and analysis on Gemini 3.1 Pro
  • load_image_from_pathRead a local image file and return base64 for any image tool
  • generate_videoVideo generation with Veo 3.1: 4 to 8 seconds at up to 4K with native audio
  • generate_svgProduction-ready SVG: diagrams, illustrations, icons, data visualisations
  • +2 more on the listing page

Lm tools 8

  • chatThe workhorse. Send a task, get an answer. The description includes planning triggers that nudge Claude to identify offloadable work when it's starting a big task.
  • custom_promptThree-part prompt: system, context, instruction. Keeping them separate prevents context bleed - consistently outperforms stuffing everything into one message, especially with local models. I tested this properly one weekend - took the same batch of review tasks and ran them both ways. Splitting thi…
  • code_taskBuilt for code analysis. Pre-configured system prompt with temperature and output constraints tuned per model family via the routing layer.
  • code_task_filesLike `code_task`, but the local LLM reads files directly from disk — source never passes through the MCP client's context window. Use this when reviewing multiple related files, or a single large file that's awkward to paste. Files are read in parallel with `Promise.allSettled`, so one unreadable f…
  • embedGenerate text embeddings via the OpenAI-compatible `/v1/embeddings` endpoint. Requires an embedding model to be available - Nomic Embed is a solid choice. Returns the vector, dimension count, and usage stats.
  • discoverHealth check and speed readout. Returns model name, context window, capability profile, connection latency (labelled explicitly — this is the `/v1/models` fetch round-trip, *not* inference speed), and the active model's measured tok/s and TTFT averaged over the session. Before any real call has run…
  • list_modelsLists everything on the LLM server - loaded and downloaded - with full metadata: architecture, quantisation, context window, capabilities, and HuggingFace enrichment data. Shows capability profiles describing what each model is best at, so Claude can make informed delegation decisions.
  • statsCompact markdown dump of your offload stats — session and lifetime totals, per-model performance history, reasoning-token overhead — without the model catalog that `discover` prints. Cheap to call repeatedly to watch the 💰 counter climb.

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Gemini

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "gemini-2": {
      "command": "npx",
      "args": [
        "-y",
        "@houtini/gemini-mcp"
      ],
      "env": {
        "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY_HERE"
      }
    }
  }
}

Lm

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "lm": {
      "command": "npx",
      "args": [
        "-y",
        "@houtini/lm"
      ],
      "env": {
        "HOUTINI_LM_ENDPOINT_URL": "YOUR_HOUTINI_LM_ENDPOINT_URL_HERE",
        "HOUTINI_LM_API_KEY": "YOUR_HOUTINI_LM_API_KEY_HERE",
        "HOUTINI_LM_MODEL": "YOUR_HOUTINI_LM_MODEL_HERE",
        "HOUTINI_LM_SERIALISE": "YOUR_HOUTINI_LM_SERIALISE_HERE"
      }
    }
  }
}

Frequently asked questions

Gemini is categorized under Conversational AI and uses a local stdio subprocess. Lm belongs to Conversational AI and uses a local stdio subprocess. Pick Gemini for conversational ai work and Lm for conversational ai.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Gemini has no declared pricing — check the project's own site. Lm has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add gemini-2 and lm as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Gemini has a quality signal of 61/100 (Good) with 1 views, 0 installs and 34 GitHub stars. Lm has 61/100 (Good) with 0 views, 0 installs and 121 GitHub stars.