Claude Chat vs Lm

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

Claude Chat logoClaude ChatConversational AIAnthropic Claude Messages API MCP server — chat, vision, web search, extended thinking43FairAuth: 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 Claude Chat for conversational ai work; 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?

Claude Chat logoChoose Claude Chat when

  • You need dedicated capabilities in the Conversational AI domain.
  • You want tools like chat, chat_with_vision, chat_with_search.
Explore Claude Chat

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.

SpecClaude Chat logoClaude ChatLm logoLm
CategoryConversational AIConversational AI
Quality signal43/100 · Fair61/100 · Good
Install commandNot confirmed yetConfirmed
Transport—Local subprocess (stdio)
AuthNot declaredNot declared
PricingNot declaredNot declared
Required env varsNone listedHOUTINI_LM_ENDPOINT_URLHOUTINI_LM_API_KEYHOUTINI_LM_MODELHOUTINI_LM_SERIALISE
Verified ownerCommunity listingCommunity listing
GitHub stars0121
Directory activity 3 views 0 installs 0 upvotes 0 views 0 installs 0 upvotes
Tools138

Tools & capabilities

Claude Chat tools 13

  • chatSend a message to Claude. Supports multi-turn history, a system prompt, model selection, and **extended thinking** via `thinking_budget`.
  • chat_with_visionAnalyse an image given an image URL and a text prompt.
  • chat_with_searchChat with live **web search** — Claude searches server-side and answers with cited sources.
  • list_modelsList available Claude models and their IDs (cached for 5 minutes).
  • promptThe user message to send
  • system_promptSystem prompt to set context/behaviour
  • messagesConversation history as a JSON array of `{role, content}` objects (roles: `user`/`assistant` only — use `system_prompt` for system instructions)
  • modelModel ID (default: server default, `claude-opus-4-8`). Call `list_models`.
  • temperatureSampling temperature (0.0–1.0). Ignored when `thinking_budget` is set.
  • max_tokensMax tokens to generate (defaults to the server default)
  • thinking_budgetEnable extended thinking with this token budget (min 1024). Reasoning is returned in a `[thinking]` block; `max_tokens` is auto-raised above the budget.
  • image_urlURL of the image (must be `http://` or `https://`)
  • +1 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.

Claude Chat

No confirmed install command for Claude Chat yet — follow the setup steps linked from its listing page rather than a guessed package name.

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

Claude Chat is categorized under Conversational AI and uses an install path we have not confirmed yet. Lm belongs to Conversational AI and uses a local stdio subprocess. Pick Claude Chat 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. Claude Chat has no confirmed install command yet — follow its own setup instructions.

Claude Chat 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 claude-chat and lm as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Claude Chat has a quality signal of 43/100 (Fair) with 3 views, 0 installs and 0 GitHub stars. Lm has 61/100 (Good) with 0 views, 0 installs and 121 GitHub stars.