npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@roebot0/apple-mcp

v1.0.0

Published

MCP server for macOS Apple apps — Notes, Reminders, Calendar, Contacts, Safari. 28 tools.

Readme

apple-mcp

MCP server for macOS Apple apps. Provides 28 read/write tools across Notes, Reminders, Calendar, Contacts, and Safari -- all running locally on your Mac via SQLite and JXA (JavaScript for Automation).

Install

Claude Code

claude mcp add apple -- npx @roebot0/apple-mcp

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "apple": {
      "command": "npx",
      "args": ["@roebot0/apple-mcp"]
    }
  }
}

Tools

Notes (8 tools)

| Tool | Description | |------|-------------| | apple_notes_list | List notes with title, snippet, folder, and dates (paginated) | | apple_notes_search | Search notes by keyword in title and snippet | | apple_notes_get | Get full plaintext body of a note by exact title | | apple_notes_folders | List all folders with note counts | | apple_notes_recent | Get N most recently modified notes | | apple_notes_by_folder | Get all notes in a specific folder | | apple_notes_create | Create a new note in a specified folder | | apple_notes_stats | Aggregate stats: total notes, per-folder counts, date range |

Reminders (6 tools)

| Tool | Description | |------|-------------| | apple_reminders_lists | List all reminder lists with counts | | apple_reminders_list | Get reminders in a specific list | | apple_reminders_due | Get reminders due today, this week, or overdue | | apple_reminders_search | Search reminders by keyword across all lists | | apple_reminders_create | Create a new reminder with optional due date and priority | | apple_reminders_complete | Mark a reminder as complete by name |

Calendar (5 tools)

| Tool | Description | |------|-------------| | apple_calendar_today | Get today's events across all calendars | | apple_calendar_range | Get events in a date range | | apple_calendar_calendars | List all calendars | | apple_calendar_search | Search events by title | | apple_calendar_upcoming | Get next N upcoming events |

Contacts (5 tools)

| Tool | Description | |------|-------------| | apple_contacts_search | Search contacts by name, email, or company | | apple_contacts_get | Get full contact details by ID (emails, phones, etc.) | | apple_contacts_recent | Get recently modified contacts | | apple_contacts_company | List contacts at a specific company | | apple_contacts_stats | Contact count and top companies |

Safari (4 tools)

| Tool | Description | |------|-------------| | apple_safari_history | Get recent browsing history | | apple_safari_search_history | Search history by URL or page title | | apple_safari_bookmarks | List bookmarks, optionally filtered by folder | | apple_safari_reading_list | Get all Reading List items |

Requirements

  • macOS (uses native SQLite databases and JXA automation)
  • Node.js >= 18
  • Full Disk Access required for Safari history -- grant it to your terminal app in System Settings > Privacy & Security > Full Disk Access
  • Notes, Reminders, Calendar, and Contacts work without Full Disk Access

How it works

  • Notes, Calendar, Contacts, Safari history: Read directly from local SQLite databases (read-only)
  • Notes create, Reminders (all), Notes get: Use JXA (osascript -l JavaScript) to interact with the native apps
  • Safari bookmarks/reading list: Parse the Bookmarks.plist file

No network requests. No API keys. Everything stays on your Mac.

Development

git clone https://github.com/AaronRoeF/apple-mcp.git
cd apple-mcp
npm install
npm run build

To test locally with Claude Code:

claude mcp add apple -- node /path/to/apple-mcp/start-mcp-server.js

License

MIT