LMCP on Linux for Cloud AI Agents
Give an AI agent running on a Linux server or cloud VM access to Microsoft 365, Slack, Google Drive and Office — one MCP server, no per-tool OAuth setup.
Time to complete: ~5 minutes
Requirements: Linux x64 or arm64, Node.js 18+, any MCP-compatible AI client or agent (Claude, Cursor, an SDK agent, etc.)
Who this is for
Most LMCP users run it on their personal Mac to connect their AI to native apps. But there's a second, very different use case: an AI agent running on a Linux server or cloud VM — on Google Cloud, AWS, Azure, or your own box — that needs to read and act on Microsoft 365, Slack, Google Drive and Office files without wiring up OAuth for every single tool.
LMCP's Linux server (the same Go binary that powers the Windows build) gives a cloud agent a single MCP endpoint with dozens of cross-platform tools. You connect each account once; the agent gets durable access from then on.
What works on Linux
Anything that talks to a cloud API or works with files runs on Linux exactly like it does on Mac and Windows:
- Microsoft 365 — Outlook mail & calendar, Teams messages, OneDrive files, To Do, directory/people search (Microsoft Graph)
- Slack — read channels and search messages
- Google Drive — list, search and read files
- ServiceNow — incidents and knowledge base
- Office files — create and read Word, Excel and PowerPoint
- Filesystem — list and search local files
- Stocks — quotes and charts
What does not work on Linux
Tools that drive native macOS apps are macOS-only by nature — they use AppleScript/JXA and EventKit, which don't exist on Linux. The Linux build does not expose them, so your agent won't see tools it can't use:
- Apple Mail, Calendar, Contacts, Reminders, Notes, Messages
- Safari, Finder, OmniFocus
If you need those, run LMCP on a Mac. For cloud/server workflows around Microsoft 365, Slack and Office, Linux is a first-class target.
Step 1 — Install
On your Linux server or VM, run:
npx -y local-mcp@latest setupThis downloads the LMCP Linux server binary (x64 or arm64, auto-detected) and writes the MCP configuration for any AI client it finds. For a headless agent, point your MCP client at the server binary directly:
~/.local/share/local-mcp/bin/local-mcp-serverStep 2 — Connect your accounts
On a fresh Linux box nothing is connected yet, so the first time your agent calls a Microsoft 365 tool it will get a clear message: “Not connected to Microsoft 365. Use connect_m365_account first.”That's expected. Connect each account once:
connect_m365_accountThis starts a device-code flow: the tool returns a short code and a URL (microsoft.com/devicelogin). Open it from any browser, paste the code, sign in — and the agent is connected. Tokens refresh automatically from then on; you only sign in again if the refresh token expires after ~90 days of inactivity.
Repeat for the other services you need (Slack, Google Drive, ServiceNow) with their respective connect tools.
Step 3 — Use it from your agent
Once connected, your cloud agent can call tools like any other MCP tool. For example:
- “Summarize the unread emails in my Outlook inbox.”
- “Read the last 20 messages in the #engineering Teams channel.”
- “Create an Excel file with this quarter's pipeline and save it to OneDrive.”
- “Open the latest incident in ServiceNow and draft a status update.”
Why one MCP server instead of per-tool OAuth
The alternative for a cloud agent is registering an Azure AD app, an OAuth client for Slack, a service account for Google Drive, and handling token refresh for each — before the agent does anything useful. LMCP collapses that into one install and one device-code sign-in per account. The data flows directly between your server and each provider; LMCP runs entirely on your machine, with no LMCP cloud in the path.
Notes & limitations
- The Linux build has no menu-bar tray app — it's a headless server, which is what a cloud VM wants anyway.
- Auto-update works the same way (the binary self-updates from the latest release).
- Both x64 and arm64 are supported (Graviton, Ampere and other arm64 cloud instances included).
- Linux support is actively maintained alongside macOS and Windows — the same Go server.