open-index/open-npm huggingface dataset:
npm package: @purplesquirrel/apple-automation-mcp
Description: MCP server for Apple Mail Rules, Shortcuts, Keychain, and Books — via AppleScript and CLI tools
Latest version: 0.1.0

# Apple Automation MCP

MCP server for Apple Mail Rules, Shortcuts, Keychain, and Books -- via AppleScript and CLI tools.

![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)
![macOS](https://img.shields.io/badge/macOS-000000?style=flat&logo=apple&logoColor=white)
![License](https://img.shields.io/badge/license-MIT-green)

## Install

```bash
npm install && npm run build
```

## Usage

```bash
npm start
```

## Tools (12)

### Mail Rules (5)
| Tool | Description |
|------|-------------|
| `mail_rules_list` | List all Mail.app rules (name, conditions, actions, enabled status) |
| `mail_rule_create` | Create a new mail rule (from/subject/content -> move/delete/flag/forward) |
| `mail_rule_toggle` | Enable or disable a rule by name |
| `mail_rule_delete` | Delete a rule by name |
| `mail_accounts_list` | List all configured mail accounts with unread counts |

### Shortcuts (3)
| Tool | Description |
|------|-------------|
| `shortcuts_list_all` | List all Shortcuts installed on this Mac |
| `shortcuts_run_with_input` | Run a Shortcut with text input and capture output |
| `shortcuts_create_simple` | Create a simple Shortcut from a template (open URL, send message, etc.) |

### Keychain (2)
| Tool | Description |
|------|-------------|
| `keychain_search` | Search keychain for a service/account name (account info only, NO passwords) |
| `keychain_list_services` | List all service names in the keychain (NO passwords) |

### Books (2)
| Tool | Description |
|------|-------------|
| `books_list` | List all books in Apple Books (title, author, read status) |
| `books_reading_list` | Get current reading list / Want to Read books |

## Security

Keychain tools are read-only and **never** return actual passwords. They only return service names, account names, and existence confirmation.

## MCP Registration

Add to `~/.mcp.json`:

```json
{
  "apple-automation": {
    "command": "node",
    "args": ["/Volumes/Virtual Server/projects/apple-automation-mcp/dist/index.js"]
  }
}
```

## Requirements

- macOS (AppleScript, `shortcuts` CLI, `security` CLI)
- Node.js 18+
- Mail.app must be configured for mail rule tools
- Apple Books must have been used for books tools
- Accessibility permissions may be needed for Shortcuts creation
npm package: @purplesquirrel/apple-calendar-mcp
Description: MCP server for Apple Calendar — manage events via AppleScript
Latest version: 0.1.0

# Apple Calendar MCP

MCP server for Apple Calendar -- manage events via AppleScript.

![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)
![MCP](https://img.shields.io/badge/MCP-Model_Context_Protocol-blue)
![macOS](https://img.shields.io/badge/macOS-000000?style=flat&logo=apple&logoColor=white)
![License](https://img.shields.io/badge/license-MIT-green)

## Install

```bash
npm install
npm run build
```

## Usage

```bash
npm start
```

Or register in `~/.mcp.json`:

```json
{
  "apple-calendar": {
    "command": "node",
    "args": ["/path/to/apple-calendar-mcp/dist/index.js"]
  }
}
```

## Tools (7)

| Tool | Description |
|------|-------------|
| `calendar_list` | List all calendars (name, color, account) |
| `calendar_events_today` | Get today's events, optionally filtered by calendar |
| `calendar_events_range` | Get events between two dates |
| `calendar_create_event` | Create a new event (title, start, end, calendar, location, notes) |
| `calendar_delete_event` | Delete an event by uid |
| `calendar_search` | Search events by text across titles, locations, and notes |
| `calendar_upcoming` | Get next N upcoming events sorted by date |

## Requirements

- macOS with Calendar.app
- Node.js 18+
- Calendar.app automation permissions (granted on first run)
npm package: @purplesquirrel/apple-imagegen-mcp
Description: MCP server for Apple Intelligence — Image Playground, Genmoji, and Writing Tools via AppleScript/Shortcuts
Latest version: 0.1.0

# apple-imagegen-mcp

MCP server for Apple Intelligence — Image Playground, Genmoji, and Writing Tools via AppleScript/Shortcuts.

![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)
![macOS](https://img.shields.io/badge/macOS-15.2%2B-000000?style=flat&logo=apple&logoColor=white)
![Apple Intelligence](https://img.shields.io/badge/Apple_Intelligence-required-blue?style=flat&logo=apple)
![License](https://img.shields.io/badge/license-MIT-green)

## Requirements

- macOS 15.2+ (Sequoia) with Apple Intelligence enabled
- Apple Silicon Mac (M1 or later)
- Node.js 22+

## Install

```bash
npm install
npm run build
```

## Usage

```bash
npm start
```

Or register in `~/.mcp.json`:

```json
{
  "mcpServers": {
    "apple-imagegen": {
      "command": "node",
      "args": ["/Volumes/Virtual Server/projects/apple-imagegen-mcp/dist/index.js"]
    }
  }
}
```

## Tools (6)

### Image Playground
| Tool | Description |
|------|-------------|
| `imagegen_create` | Generate an AI image from a text prompt (Animation, Illustration, Sketch) |
| `imagegen_styles` | List available Image Playground styles |

### Genmoji
| Tool | Description |
|------|-------------|
| `genmoji_create` | Create a custom emoji from a text description |

### Writing Tools
| Tool | Description |
|------|-------------|
| `writing_rewrite` | Rewrite text (Professional, Friendly, Concise) |
| `writing_proofread` | Proofread text for grammar/spelling |
| `writing_summarize` | Summarize text (key points, paragraph, table of contents) |

## Shortcuts Setup

Some tools use Apple Shortcuts as intermediaries. Run the setup checker:

```bash
npm run setup-shortcuts
```

This will show which Shortcuts are installed and provide instructions for creating missing ones.

### Required Shortcuts

| Shortcut Name | Used By |
|---------------|---------|
| `AI Generate Image` | `imagegen_create` |
| `AI Create Genmoji` | `genmoji_create` |
| `AI Rewrite Text` | `writing_rewrite` |
| `AI Proofread Text` | `writing_proofread` |
| `AI Summarize Text` | `writing_summarize` |

Tools with fallback methods (AppleScript/UI automation) will still attempt to work without Shortcuts, but Shortcuts provide more reliable operation.

## Architecture

Uses the same pattern as [macos-mcp](https://github.com/ExpertVagabond/macos-mcp):

- `@modelcontextprotocol/sdk` for the MCP server
- AppleScript for direct app control
- `shortcuts` CLI for Shortcuts automation
- Zod for input validation
npm package: @purplesquirrel/apple-keynote-mcp
Description: MCP server for Apple Keynote — create, manage, and export presentations via AppleScript
Latest version: 0.1.0

# Apple Keynote MCP

MCP server for Apple Keynote — create, manage, and export presentations via AppleScript.

![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)
![MCP](https://img.shields.io/badge/MCP-Server-blue)
![macOS](https://img.shields.io/badge/macOS-only-lightgrey)
![License](https://img.shields.io/badge/License-MIT-green)

## Install

```bash
npm install
npm run build
```

## Usage

```bash
npm start
```

## Tools

| Tool | Description |
|------|-------------|
| `keynote_list` | List all open Keynote presentations |
| `keynote_create` | Create a new presentation with title and theme |
| `keynote_add_slide` | Add a slide with title and body text |
| `keynote_add_image_slide` | Add a slide with an image from a file path |
| `keynote_export_pdf` | Export presentation to PDF |
| `keynote_export_images` | Export all slides as images (PNG/JPEG/TIFF) |
| `keynote_get_slides` | Get slide count and titles from a presentation |

## MCP Registration

Add to `~/.mcp.json`:

```json
{
  "apple-keynote": {
    "command": "node",
    "args": ["/Volumes/Virtual Server/projects/apple-keynote-mcp/dist/index.js"]
  }
}
```

## Requirements

- macOS with Apple Keynote installed
- Node.js 18+
npm package: @purplesquirrel/apple-photos-mcp
Description: MCP server for Apple Photos — list albums, search, export, and manage photos via AppleScript
Latest version: 0.1.0

# apple-photos-mcp

MCP server for Apple Photos — list albums, search, export, and manage photos via AppleScript.

![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)
![MCP](https://img.shields.io/badge/MCP-compatible-brightgreen)
![License](https://img.shields.io/badge/license-MIT-blue)

## Install

```bash
npm install
npm run build
```

## Usage

```bash
npm start
```

## Tools

| Tool | Description |
|------|-------------|
| `photos_list_albums` | List all albums with photo counts |
| `photos_recent` | Get N most recent photos |
| `photos_search` | Search photos by text (ML-based) |
| `photos_get_info` | Get metadata: date, location, dimensions, keywords |
| `photos_export` | Export a photo to a directory |
| `photos_create_album` | Create a new album |
| `photos_favorites` | List favorited photos |

## MCP Config

```json
{
  "apple-photos": {
    "command": "node",
    "args": ["/Volumes/Virtual Server/projects/apple-photos-mcp/dist/index.js"]
  }
}
```
npm package: @purplesquirrel/apple-system-mcp
Description: MCP server for macOS system tools — Finder Tags, PDF/Preview, Disk Utility, Activity Monitor via AppleScript and shell commands
Latest version: 0.1.0

# apple-system-mcp

MCP server for macOS system tools — Finder Tags, PDF/Preview, Disk Utility, Activity Monitor.

![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)
![Node.js](https://img.shields.io/badge/Node.js-339933?style=flat&logo=node.js&logoColor=white)
![License](https://img.shields.io/badge/license-MIT-blue)
![Build](https://img.shields.io/badge/build-passing-brightgreen)

## Install

```bash
npm install && npm run build
```

## Usage

```bash
npm start
```

## Tools (12)

### Finder Tags
| Tool | Description |
|------|-------------|
| `finder_tag_file` | Add a color tag (Red, Orange, Yellow, Green, Blue, Purple, Gray) to a file/folder |
| `finder_list_tagged` | List all files with a specific tag via Spotlight |
| `finder_remove_tag` | Remove a tag from a file |

### Preview / PDF
| Tool | Description |
|------|-------------|
| `preview_annotate` | Add text annotation to a PDF at a specified position |
| `preview_merge_pdfs` | Merge multiple PDFs into one |
| `preview_pdf_to_images` | Convert PDF pages to PNG/JPEG/TIFF images |

### Disk Utility
| Tool | Description |
|------|-------------|
| `disk_health` | SMART status and disk health for all drives |
| `disk_usage_top` | Find top 20 largest files/dirs in a path |
| `disk_info` | Detailed info for all mounted volumes |

### Activity Monitor
| Tool | Description |
|------|-------------|
| `process_list` | Top processes by CPU or memory usage |
| `process_kill` | Kill a process by name or PID |
| `memory_pressure` | Memory pressure level and swap usage |

## Requirements

- macOS (uses AppleScript, diskutil, system_profiler, vm_stat)
- Node.js 18+
- python3 (for PDF tools — PyPDF2/reportlab for annotations, Quartz for conversions)
npm package: @purplesquirrel/apple-utilities-mcp
Description: MCP server for Apple utilities — Weather, Stocks, Voice Memos, Screen Time, Passwords, Freeform via AppleScript and shell commands
Latest version: 0.1.0

# Apple Utilities MCP

MCP server for Apple utilities — Weather, Stocks, Voice Memos, Screen Time, Passwords, and Freeform via AppleScript and shell commands.

![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)
![MCP](https://img.shields.io/badge/MCP-Server-blue)
![License](https://img.shields.io/badge/License-MIT-green)

## Install

```bash
npm install
npm run build
```

## Usage

```bash
npm start
```

## Tools (10)

| Tool | Description |
|------|-------------|
| `weather_current` | Get current weather for a location via wttr.in |
| `weather_forecast` | Get 3-day forecast for a location |
| `stocks_quote` | Get current price for a ticker symbol via Yahoo Finance |
| `stocks_watchlist` | Get all stocks in the macOS Stocks app watchlist |
| `voice_memo_list` | List voice memos with title, date, and duration |
| `voice_memo_record` | Start or stop recording a voice memo |
| `screen_time_today` | Get today's Screen Time stats and per-app breakdown |
| `passwords_search` | Search saved passwords by site/service name (metadata only) |
| `freeform_create` | Create a new Freeform board |
| `freeform_add_text` | Add text to a Freeform board |

## Permissions

Some tools require macOS permissions:

- **Voice Memos**: Accessibility access for UI scripting
- **Screen Time**: Full Disk Access for reading the knowledge store database
- **Passwords**: Keychain access (will prompt for authorization)
- **Freeform**: Accessibility access for UI scripting

## MCP Config

Add to `~/.mcp.json`:

```json
{
  "apple-utilities": {
    "command": "node",
    "args": ["/Volumes/Virtual Server/projects/apple-utilities-mcp/dist/index.js"]
  }
}
```
npm package: @purplesquirrel/compressor-mcp
Description: MCP server for Compressor Creator Studio — open batches, add outputs, start processing via UI scripting
Latest version: 0.1.0

# compressor-mcp

[![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue)](https://www.typescriptlang.org/)
[![MCP](https://img.shields.io/badge/MCP-1.8-green)](https://modelcontextprotocol.io/)
[![License](https://img.shields.io/badge/License-MIT-yellow)](LICENSE)

MCP server for **Compressor Creator Studio** (com.apple.CompressorApp). No AppleScript dictionary -- all automation via System Events UI scripting.

## Tools

| Tool | Description |
|------|-------------|
| `compressor_open` | Open a .compressor batch or media file |
| `compressor_list_jobs` | List open batch windows |
| `compressor_add_output` | Add output setting to current batch |
| `compressor_start_batch` | Start processing the batch |
| `compressor_close` | Close current batch window |

## Setup

```bash
npm install && npm run build
```

### Claude Code config

```json
{
  "mcpServers": {
    "compressor": {
      "command": "node",
      "args": ["/Volumes/Virtual Server/projects/compressor-mcp/dist/index.js"]
    }
  }
}
```

## Requirements

- macOS with Compressor Creator Studio installed
- Accessibility permissions granted (System Settings > Privacy & Security > Accessibility)
npm package: @purplesquirrel/finalcut-mcp
Description: MCP server for Final Cut Pro Creator Studio — list libraries, events, projects, import/export media via AppleScript and FCPXML
Latest version: 0.1.0

# finalcut-mcp

MCP server for Final Cut Pro Creator Studio — list libraries, events, projects, import/export media, and render via AppleScript and FCPXML.

![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)
![MCP](https://img.shields.io/badge/MCP-compatible-brightgreen)
![License](https://img.shields.io/badge/license-MIT-blue)

## Install

```bash
npm install
npm run build
```

## Usage

```bash
npm start
```

## Tools

| Tool | Description |
|------|-------------|
| `finalcut_list_libraries` | List all open libraries with names and IDs |
| `finalcut_list_events` | List events in a library |
| `finalcut_list_projects` | List projects in an event |
| `finalcut_get_project_info` | Get project details: name, duration, timecode |
| `finalcut_open_library` | Open a .fcpbundle library file |
| `finalcut_export_xml` | Export project as FCPXML (UI scripting) |
| `finalcut_import_media` | Import media files into an event (UI scripting) |
| `finalcut_render` | Start render/export of current project (UI scripting) |

## Notes

- Tools 1-5 use direct AppleScript via Final Cut Pro's scripting dictionary
- Tools 6-8 use UI scripting via System Events (requires Accessibility permissions)
- App target: `Final Cut Pro Creator Studio` (com.apple.FinalCutApp)

## MCP Config

```json
{
  "finalcut": {
    "command": "node",
    "args": ["/Volumes/Virtual Server/projects/finalcut-mcp/dist/index.js"]
  }
}
```
npm package: @purplesquirrel/logic-mcp
Description: MCP server for Logic Pro Creator Studio — open, save, close, list, and export projects via AppleScript
Latest version: 0.1.0

# logic-mcp

MCP server for Logic Pro Creator Studio -- open, save, close, list, and export projects via AppleScript.

![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)
![MCP](https://img.shields.io/badge/MCP-compatible-brightgreen)
![License](https://img.shields.io/badge/license-MIT-blue)

## Install

```bash
npm install
npm run build
```

## Usage

```bash
npm start
```

## Tools

| Tool | Description |
|------|-------------|
| `logic_open` | Open a Logic Pro project (.logicx file) by path |
| `logic_save` | Save the current (front) Logic Pro project |
| `logic_close` | Close current project with optional save |
| `logic_list_projects` | List all currently open documents with names and paths |
| `logic_export` | Export/bounce project via Cmd+B keystroke simulation (fragile) |

## Limitations

Logic Pro Creator Studio has **limited AppleScript support** (Standard Suite only). There is no scripting access to tracks, instruments, mixer, regions, or transport controls.

The `logic_export` tool uses UI scripting via System Events to trigger the bounce dialog (Cmd+B). This is inherently fragile and requires:

- Accessibility permissions for the process running this server
- Logic Pro must be frontmost with a project open
- The bounce dialog must be in its default state

## MCP Config

```json
{
  "logic-mcp": {
    "command": "node",
    "args": ["/Volumes/Virtual Server/projects/logic-mcp/dist/index.js"]
  }
}
```
npm package: @purplesquirrel/mainstage-mcp
Description: MCP server for MainStage Creator Studio — open concerts, save, perform, and manage live sessions via UI scripting
Latest version: 0.1.0

# mainstage-mcp

[![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue)](https://www.typescriptlang.org/)
[![MCP](https://img.shields.io/badge/MCP-1.8-green)](https://modelcontextprotocol.io/)
[![License](https://img.shields.io/badge/License-MIT-yellow)](LICENSE)

MCP server for **MainStage Creator Studio** (com.apple.MainStageApp). No AppleScript dictionary -- all automation via System Events UI scripting.

## Tools

| Tool | Description |
|------|-------------|
| `mainstage_open` | Open a .concert file |
| `mainstage_list_concerts` | List open concert windows |
| `mainstage_save` | Save current concert (Cmd+S) |
| `mainstage_close` | Close current concert (Cmd+W) |
| `mainstage_perform` | Enter perform mode (full screen live) |

## Setup

```bash
npm install && npm run build
```

### Claude Code config

```json
{
  "mcpServers": {
    "mainstage": {
      "command": "node",
      "args": ["/Volumes/Virtual Server/projects/mainstage-mcp/dist/index.js"]
    }
  }
}
```

## Requirements

- macOS with MainStage Creator Studio installed
- Accessibility permissions granted (System Settings > Privacy & Security > Accessibility)