LMCP — Give Your AI Native Access to Mac Apps
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.
82 tools across 15 categories — Mail, Calendar, Teams, OneDrive, Notes, OmniFocus, and more
Menu bar app
Status at a glance — all your Mac apps connected
What your AI can do
| App | What you can ask |
|---|---|
| "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" |
| "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
| Feature | LMCP | apple-mcp | Composio | MS 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 tools | 82 | ~20 | Varies | ~15 |
| Microsoft Teams | ✅ Local cache | ❌ | Via Graph API | Via Graph API |
| OneDrive | ✅ Full CRUD | ❌ | Via Graph API | Via Graph API |
| Calendar | ✅ CRUD | ❌ | Via API | Via Graph API |
| ✅ Full | ❌ | Via API | Via Graph API | |
| Office docs | ✅ Create/Read | ❌ | Limited | ❌ |
| Notes & Reminders | ✅ | ✅ | ❌ | ❌ |
| OmniFocus | ✅ | ❌ | ❌ | ❌ |
| iMessage | ✅ Read | ❌ | ❌ | ❌ |
| Data privacy | 100% local | 100% local | Cloud | Cloud |
| Price | Free (first 500) | Free (OSS) | Freemium | Free (M365) |
| Platform | macOS | macOS | Cross-platform | Cross-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
| Client | Transport | Auto-configured |
|---|---|---|
| Claude Desktop | stdio | ✅ |
| Claude Code | stdio | ✅ |
| Cursor | stdio | ✅ |
| Windsurf | stdio | ✅ |
| VS Code (Copilot / Cline) | stdio | ✅ |
| Zed | stdio | ✅ |
| Claude.ai | Cloud Relay | Manual |
| ChatGPT | Cloud Relay | Manual |
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
- In your AI client: ask Claude to run
report_bugorrequest_feature - GitHub: open an issue
- Email: ctpo@colibird.co
- Website: local-mcp.com
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"
]
}
}
}