macOS MCP Server
Enables interaction with macOS system features including file dialogs, clipboard management, Finder integration, and system notifications. It also provides tools for taking screenshots, processing images, managing PDFs, and interacting with the Apple Notes app.
README
macOS MCP Server
An MCP (Model Context Protocol) server for macOS system operations: file dialogs, clipboard, notifications, and Finder integration.
Features
- File Dialogs: Open file/folder pickers, save dialogs, multiple selection
- Clipboard: Read and write text to system clipboard
- System: Notifications, open URLs, get system info
- Finder: Reveal files, open with default app, get current selection
Tools
File Dialogs
| Tool | Description |
|---|---|
macos_pick_file |
Open file picker, return selected path |
macos_pick_folder |
Open folder picker, return selected path |
macos_pick_files |
Multiple file selection |
macos_save_dialog |
Save file dialog with default name |
Clipboard
| Tool | Description |
|---|---|
macos_clipboard_read |
Get clipboard text content |
macos_clipboard_write |
Set clipboard text content |
System
| Tool | Description |
|---|---|
macos_notify |
Display system notification |
macos_open_url |
Open URL in default browser |
macos_system_info |
Get macOS version, hostname, username |
macos_screen_resolution |
Get screen dimensions and scale factor |
Finder
| Tool | Description |
|---|---|
macos_reveal_in_finder |
Reveal path in Finder |
macos_open_with_default |
Open file with default app |
macos_get_finder_selection |
Get currently selected files in Finder |
macos_quick_look |
Open file with Quick Look preview |
Screenshot
| Tool | Description |
|---|---|
macos_screenshot |
Take screenshot (full screen, region, or window) |
macos_screenshot_clipboard |
Screenshot to clipboard |
Image Tools (sips)
| Tool | Description |
|---|---|
macos_image_info |
Get image metadata (dimensions, format, etc.) |
macos_image_resize |
Resize image (width, height, or max size) |
macos_image_convert |
Convert between formats (jpeg, png, gif, tiff, bmp, heic) |
PDF Tools
| Tool | Description |
|---|---|
macos_pdf_page_count |
Get number of pages in PDF |
macos_pdf_merge |
Merge multiple PDFs into one |
Notes App
| Tool | Description |
|---|---|
macos_note_create |
Create a new note |
macos_note_folders |
List all folders |
macos_note_list |
List notes in a folder |
macos_note_read |
Read note content by ID |
Installation
Clone and build:
git clone https://github.com/alexlock1/macos-mcp-server.git
cd macos-mcp-server
npm install
npm run build
Configuration
Add to your MCP settings (e.g., .mcp.json or Claude Desktop config):
{
"mcpServers": {
"macos": {
"command": "node",
"args": ["/path/to/macos-mcp-server/dist/index.js"]
}
}
}
Usage Examples
Pick a file
macos_pick_file({
prompt: "Select a document",
fileTypes: ["pdf", "doc", "docx"]
})
Copy to clipboard
macos_clipboard_write({ text: "Hello, World!" })
Show notification
macos_notify({
title: "Task Complete",
message: "Your file has been processed",
sound: "Glass"
})
Get system info
macos_system_info({})
// Returns: { computerName, userName, homeDirectory, osVersion }
Reveal in Finder
macos_reveal_in_finder({ path: "/Users/me/Documents/report.pdf" })
Take a screenshot
macos_screenshot({
path: "/tmp/screenshot.png",
fullScreen: true
})
Resize an image
macos_image_resize({
inputPath: "/path/to/image.png",
outputPath: "/path/to/resized.png",
maxSize: 800
})
Get PDF page count
macos_pdf_page_count({ path: "/path/to/document.pdf" })
Create a note
macos_note_create({
name: "Meeting Notes",
body: "Discussion points...",
folder: "Work"
})
Requirements
- Node.js 18+
- macOS (uses AppleScript for all operations)
How It Works
All operations use AppleScript via osascript to interact with macOS system features. This provides native dialog appearances and full system integration.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.