Pilot MCP

Created By
lanchuske2 months ago
Native macOS MCP server. Gives AI assistants access to Mail, Calendar, Teams, OneDrive, Contacts, Notes, Reminders, Finder, Word, Excel, PowerPoint — 82 tools, all running locally. No cloud, no API keys. GDPR compliant by architecture.
Overview

LMCP — Give Your AI Native Access to Mac Apps

npm macOS 12+ GDPR smithery badge

LMCP connects your AI assistant to Mail, Calendar, Contacts, Microsoft Teams, OneDrive, Notes, Reminders, OmniFocus, and more — 82 tools, all running locally on your Mac. No cloud. No API keys. No OAuth. Your data never leaves your machine.

curl -fsSL https://local-mcp.com/install?ref=github | bash

Installs in 2 minutes. Auto-configures Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, and Zed. Free for the first 500 installs — yours forever.

Like it? Star this repo — it helps others discover LMCP.

Claude Desktop showing 82 tools across 15 categories with LMCP

82 tools across 15 categories — Mail, Calendar, Teams, OneDrive, Notes, OmniFocus, and more

Menu bar app

LMCP menu bar app

Status at a glance — all your Mac apps connected


What your AI can do

AppWhat you can ask
Mail"Summarize my unread emails" · "Reply to Jana saying I'll be 10 minutes late" · "Find emails from the contracts team last week"
Calendar"What do I have tomorrow?" · "Schedule a team sync Friday at 3pm" · "Cancel my 2pm meeting"
Contacts"Get Jana's phone number" · "Find everyone at Acme Corp"
Microsoft Teams"What did the engineering channel say today?" · "Show my last conversation with Marco"
OneDrive"Find the Q1 report" · "Upload this summary to the shared folder"
Outlook"Read my Outlook inbox" · "Search for invoices from last month"
Reminders"Add a reminder to call the bank tomorrow at 9am" · "What's on my list?"
OmniFocus"Show my overdue tasks" · "Create a task to review the contract"
Notes"Search my notes for the API keys" · "Create a note with today's decisions"
Messages"What did Ana send me this morning?" · "Search iMessages for the address"
Word / Excel / PPT"Read this contract" · "Create a spreadsheet with these numbers"
PDF"Summarize this PDF"
Finder"Find all files named 'invoice' on my Mac"
Safari"List my bookmarks in the Dev folder"
Stocks"How is AAPL doing today?" · "Show me a chart of MSFT this month"

82 tools total. Read operations run instantly. Write operations (send email, delete event) show a preview and require confirmation.


Install

curl -fsSL https://local-mcp.com/install?ref=github | bash

Auto-detects and configures: Claude Desktop · Claude Code · Cursor · Windsurf · VS Code · Zed

Restart your AI client once. That's it.

Requirements: macOS 12+ (Monterey or later), Apple Silicon or Intel.


How it works

┌─────────────────────────────────┐
│  Claude · Cursor · VS Code · …  │
└───────────┬─────────────────────┘
            │  MCP protocol (stdio)
┌───────────▼─────────────────────┐
│        LMCP server          │
│  JXA · EventKit · AppleScript   │
│  LevelDB · native macOS APIs    │
└───────────┬─────────────────────┘
┌───────────▼─────────────────────┐
│  Mail · Calendar · Teams · …     │
│  Your Mac apps (local data)      │
└─────────────────────────────────┘

Why native?

Most MCP servers call cloud APIs. LMCP talks directly to macOS frameworks:

  • EventKit for Calendar — reads all providers (iCloud, Google, Exchange)
  • AppleScript/JXA for Mail — works with any IMAP account
  • LevelDB for Teams — reads the local IndexedDB cache, no Graph API needed
  • CNContactStore for Contacts — native framework, no app launch required
  • File system for OneDrive, Word, Excel, PowerPoint

This means: no API keys, no OAuth, no rate limits, works offline, sub-second responses.

Microsoft Teams without Graph API

The most technically interesting part: Teams messages are read directly from the local LevelDB cache at:

~/Library/Containers/com.microsoft.teams2/.../IndexedDB/https_teams.microsoft.com_0.indexeddb.leveldb

No Azure AD registration, no tenant admin approval, no OAuth tokens. Just the messages already cached on your Mac.

Cloud Relay (optional)

Claude.ai and ChatGPT can't reach localhost. Enable Cloud Relay in the menu bar app — a secure WebSocket tunnel routes requests to your local server. Your data is encrypted in transit and never stored.


Comparison with alternatives

FeatureLMCPapple-mcpComposioMS 365 Connector
Runs locally❌ Cloud❌ Cloud
API keys needed❌ None❌ None✅ Required✅ Azure AD
Setup time~2 min~10 min~15 min~30 min
Total tools82~20Varies~15
Microsoft Teams✅ Local cacheVia Graph APIVia Graph API
OneDrive✅ Full CRUDVia Graph APIVia Graph API
Calendar✅ CRUDVia APIVia Graph API
Email✅ FullVia APIVia Graph API
Office docs✅ Create/ReadLimited
Notes & Reminders
OmniFocus
iMessage✅ Read
Data privacy100% local100% localCloudCloud
PriceFree (first 500)Free (OSS)FreemiumFree (M365)
PlatformmacOSmacOSCross-platformCross-platform

Privacy & security

  • All data stays on your Mac — nothing is sent to external servers
  • No API keys, OAuth tokens, or cloud accounts required
  • Uses standard macOS TCC permissions (the same "Allow access?" prompts any app uses)
  • Calendar, Contacts, and Reminders access can be revoked anytime in System Settings
  • GDPR and CCPA compliant by architecture — there is no cloud component to process your data
  • Destructive operations always show a preview and require explicit confirmation

Supported AI clients

ClientTransportAuto-configured
Claude Desktopstdio
Claude Codestdio
Cursorstdio
Windsurfstdio
VS Code (Copilot / Cline)stdio
Zedstdio
Claude.aiCloud RelayManual
ChatGPTCloud RelayManual

Roadmap

  • Write support for Teams (send messages)
  • Slack integration
  • Google Drive (local sync folder)
  • WhatsApp / Telegram
  • Persistent AI memory across sessions
  • Windows support

Have a feature in mind? Run request_feature from any AI client, or open an issue.


Support


License

LMCP is proprietary software. Free for the first 500 installs — permanent license, no expiration. See LICENSE for details.


If LMCP saves you time, star the repo — it's the best way to help others discover it.

Server Config

{
  "mcpServers": {
    "local-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "local-mcp@latest"
      ]
    }
  }
}
Project Info
Created At
2 months ago
Updated At
2 months ago
Author Name
lanchuske
Star
-
Language
-
License
-
Category

Recommend Servers

View All
Voyei

2 hours ago
Bring your real authenticated browser session to AI coding agents. Local-first MCP server + Chrome MV3 extension. No cloud. No telemetry.
@Cubenest

peek records the user's actual logged-in browser (DOM via rrweb, console events, network metadata, optional response bodies via opt-in Deep capture) through a Chrome MV3 extension. The extension ships events through a native-messaging stdio bridge to a local MCP server (peek-mcp), which persists them to a SQLite database at ~/.peek/sessions.db. AI coding agents (Claude Code, Cursor, Cline, Windsurf) read sessions from the database via 10 MCP tools: Tool What it does list_recent_sessions List recently recorded sessions (id, origin, ts, event count). get_session_summary LLM-readable narrative summary of a session. get_session_console_errors Console errors recorded in a session. get_session_network_errors Failed/notable network requests in a session. get_user_action_before_error Last N user actions before a console error. generate_playwright_repro Generate a runnable Playwright test from a session. get_dom_snapshot Reconstruct the DOM at a given timestamp. query_dom_history Timeline of attribute/text changes for a selector. request_authorization Side-panel consent for write actions (Level 3). execute_action Dispatch a UI action (gated by permission level + destructive blocklist). Why local-first matters Every other "browser session for AI" tool ships to a vendor cloud. peek's SQLite + extension live on the user's machine — no remote endpoints, no telemetry. The privacy policy (docs/peek/PRIVACY_POLICY.md) is the source of truth. Install # 1. Add the MCP server to Claude Code claude mcp add peek -- npx -y @peekdev/mcp # 2. Install the Chrome extension from the Chrome Web Store # (link added once the CWS listing is approved)

a day ago