Keep LibreChat.
Give your models your machines.
AI Commander is not an alternative to LibreChat, Claude Code, Codex, ChatGPT, Cursor, GitHub Copilot, Sourcegraph Cody, Grok, Gemini, Windsurf, Continue, Cline, Roo Code, Zed, OpenCode, Qwen Code, goose, Amp, Kilo Code, OpenHands, Amazon Q Developer, Augment Code, Devin, JetBrains Junie, Kiro, Warp, Factory, Crush, LM Studio, Trae, Claude Desktop, n8n, OpenAI Agents SDK, Visual Studio, JetBrains AI Assistant, or Open WebUI. It is the remote-machine harness those tools plug into over MCP: outbound-only shell, detached jobs that outlive the chat, and file transfer on hardware you already own.
Sibling harness pages: Open WebUI · Claude Code · Codex · ChatGPT · Cursor · OpenCode · Claude Desktop · n8n · Visual Studio · JetBrains AI Assistant · LM Studio — and the rest on Connect your AI client.
Connect LibreChat (MCP Streamable HTTP)
LibreChat supports MCP natively over Streamable HTTP (LibreChat docs: MCP) — which is exactly what AI Commander’s hosted endpoint speaks. Two ways to add it:
Option A — librechat.yaml (admin / Docker)
Add an entry under mcpServers, mount the file into the API container if you use Docker, then restart LibreChat:
mcpServers:
aicommander:
type: streamable-http
url: https://aicommander.dev/mcp
requiresOAuth: true
initTimeout: 150000
timeout: 60000
serverInstructions: true
OAuth is auto-detected if you omit requiresOAuth; setting it explicitly skips the probe.
After restart, open the MCP Settings panel (or the composer + palette), select AI Commander, and finish the one-time browser sign-in.
LibreChat’s OAuth callback for this server key is ${DOMAIN_SERVER}/api/mcp/aicommander/oauth/callback — AI Commander accepts HTTPS and loopback redirect URLs.
Option B — MCP Settings UI (no restart)
From the right sidebar, open MCP Settings → +, set transport to Streamable HTTP, URL to https://aicommander.dev/mcp, enable OAuth (or leave auto-detect), and Create.
Authenticate once when the status shows OAuth required. UI-created remote servers take effect without a restart.
Multi-user instance — get the auth right
- Prefer OAuth: each LibreChat user signs in to their own AI Commander account and reaches only their machines.
- Set
DOMAIN_SERVER: the OAuth callback must match the public URL LibreChat serves (HTTPS or localhost). - API key: on a single-user instance, or via
customUserVars+ a Bearer header so each person supplies their own key — never share one static AI Commander key across a team. - Agents: add AI Commander under Agent Builder → Add tools → MCP, then enable only the tools that agent should have.
- Long work: start detached jobs (
remote_job_start, thenremote_job_status/remote_job_logs) instead of one long tool call. If a reverse proxy cuts idle connections, raise the proxy’s idle/read timeout; raise LibreChat’stimeoutonly for client-side tool waits.
By default, API keys and OAuth connectors only act while the account owner has opened the AI Commander dashboard in the last 24 hours (accounts can disable that gate under Credential security) — see Connect your AI client. MCP connects the tools; the model still has to use them well, so pick a model with reliable native tool calling.
Running Open WebUI or LM Studio too? See Keep Open WebUI and Keep LM Studio. Full client matrix: Connect your AI client.
What you get that the chat alone cannot
- Remote shell on Linux, macOS, and Windows — by session code or saved alias.
- Detached jobs for builds, test suites, and training on the box that has the repo.
- Fleet list + GPU facts so your LibreChat agent picks the right machine before it burns an hour.
- File courier (Pro) for checkpoints and diffs up to 100 MiB.
- Outbound-only agent on each machine — no inbound ports, no exposed SSH, no VPN to set up.
Not a replacement — a multiplier
| You already use | AI Commander adds |
|---|---|
| LibreChat | mcpServers.aicommander → type: streamable-http, url: https://aicommander.dev/mcp, OAuth |
| Open WebUI | Admin → Integrations → External Tool Servers → MCP (Streamable HTTP) + OAuth 2.1 |
| Claude Code | claude mcp add --transport http … → remote exec + jobs |
| Codex / ChatGPT | Same MCP endpoint or REST /api/v1/exec |
| Cursor / Continue / Windsurf | npx @aicommander/mcp stdio bridge |
FAQ
mcpServers in librechat.yaml as type streamable-http with url https://aicommander.dev/mcp (OAuth auto-detected, or set requiresOAuth: true), restart LibreChat, then authenticate once from the MCP Settings panel or composer + palette. You can also add the same URL from the MCP Settings UI without editing YAML. See /howto/ for the full matrix.customUserVars so each user supplies their own key. Do not share one static Bearer key across a team.https://aicommander.dev/mcp is Streamable HTTP, so it connects directly — no stdio bridge required. Your machines keep an outbound-only connection to the relay.Next steps
Install the agent on a machine you control, add https://aicommander.dev/mcp as a Streamable HTTP MCP server in LibreChat, then ask your model for a real task on a remote box.