Skip to main content
Glama
peakmojo

AppleScript MCP Server

by peakmojo

Сервер AppleScript MCP (двойной доступ: python и node.js)

npm-версия Лицензия: Массачусетский технологический институт

Обзор

Сервер Model Context Protocol (MCP), который позволяет запускать код AppleScript для взаимодействия с Mac. Этот MCP намеренно разработан простым, понятным, интуитивно понятным и требующим минимальной настройки.

Я не могу поверить, насколько это просто и мощно. Основной код — <100 строк кода.

https://github.com/user-attachments/assets/b85e63ba-fb26-4918-8e6d-2377254ee388

Related MCP server: macOS Automator MCP Server

Функции

  • Запустите AppleScript для доступа к приложениям и данным Mac

  • Взаимодействие с заметками, календарем, контактами, сообщениями и многим другим

  • Поиск файлов с помощью Spotlight или Finder

  • Чтение/запись содержимого файла и выполнение команд оболочки

Примеры подсказок

Create a reminder for me to call John tomorrow at 10am
Add a new meeting to my calendar for Friday from 2-3pm titled "Team Review"
Create a new note titled "Meeting Minutes" with today's date
Show me all files in my Downloads folder from the past week
What's my current battery percentage?
Show me the most recent unread emails in my inbox
List all the currently running applications on my Mac
Play my "Focus" playlist in Apple Music
Take a screenshot of my entire screen and save it to my Desktop
Find John Smith in my contacts and show me his phone number
Create a folder on my Desktop named "Project Files"
Open Safari and navigate to apple.com
Tell me how much free space I have on my main drive
List all my upcoming calendar events for this week

Использование с Claude Desktop

Node.js

{
  "mcpServers": {
    "applescript_execute": {
      "command": "npx",
      "args": [
        "@peakmojo/applescript-mcp"
      ]
    }
  }
}

Питон

Установить УФ

brew install uv
git clone ...

Запустить сервер

{
  "mcpServers": {
    "applescript_execute": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/your/repo",
        "run",
        "src/applescript_mcp/server.py"
      ]
    }
  }
}

Available Tools

1 tool
applescript_executeB

Run AppleScript code to interact with Mac applications and system features. This tool can access and manipulate data in Notes, Calendar, Contacts, Messages, Mail, Finder, Safari, and other Apple applications. Common use cases include but not limited to: - Retrieve or create notes in Apple Notes - Access or add calendar events and appointments - List contacts or modify contact details - Search for and organize files using Spotlight or Finder - Get system information like battery status, disk space, or network details - Read or organize browser bookmarks or history - Access or send emails, messages, or other communications - Read, write, or manage file contents - Execute shell commands and capture the output

ParametersJSON Schema
NameRequiredDescriptionDefault
code_snippetYesMulti-line appleScript code to execute
timeoutNoCommand execution timeout in seconds (default: 60)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It lists capabilities but fails to disclose risks such as potential data loss, security implications, or the fact that AppleScript can make irreversible changes. The description is overly positive and lacks warnings.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose, but the list of use cases is exhaustive and somewhat redundant (e.g., similar patterns repeated). It could be trimmed without losing meaning. It is adequate but not optimally concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex (arbitrary AppleScript execution) and has no output schema. The description does not explain what the tool returns (e.g., output or error messages), leaving a significant gap. It also lacks prerequisites or postconditions common for such a powerful tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (both parameters described in schema). The description does not add any extra meaning beyond what the schema already provides, meeting the baseline for high coverage. No parameter-specific details are added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Run AppleScript code to interact with Mac applications and system features,' providing a specific verb and resource. It then lists numerous concrete use cases, leaving no ambiguity about the tool's purpose. Without sibling tools, differentiation is not required.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through its long list of common use cases, but it does not explicitly state when to use this tool or when not to (e.g., alternatives like shell tools). There are no exclusion criteria or prerequisites mentioned, so guidance is only implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedapplescript_execute

TDQS

A3.5/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools, making disambiguation perfect. The single tool 'applescript_execute' has a clear and distinct purpose, covering all AppleScript-related operations without any competing alternatives.

Naming Consistency5/5

The naming is trivially consistent as there is only one tool, 'applescript_execute', which follows a clear verb_noun pattern. No inconsistencies can exist in a single-tool set, so it meets the highest standard for naming predictability.

Tool Count2/5

A single tool for a server that interacts with multiple Mac applications and system features feels too thin and under-scoped. The tool count of 1 is borderline for any non-trivial domain, as it forces all operations through a single interface, which may limit clarity and efficiency for agents.

Completeness3/5

The tool surface is notably incomplete for the domain of Mac application and system interaction. While 'applescript_execute' can handle many tasks via scripting, there are obvious gaps in structured operations like dedicated CRUD for specific resources (e.g., notes, contacts), which could lead to agent inefficiencies or failures in complex workflows.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A Python server that enables interaction with macOS native applications (Contacts, Notes, Mail, Messages, Reminders, Calendar, and Maps) through AppleScript, featuring asynchronous operations and type-safe interfaces.
    16
    -
  • A
    license
    A
    quality
    F
    maintenance
    Provides a Model Context Protocol server for executing AppleScript and JavaScript for Automation scripts on macOS, featuring a knowledge base of pre-defined scripts and supporting automation of macOS applications and system functions.
    2
    1,211 npm
    884
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that enables execution of AppleScript and JavaScript for Automation scripts on macOS, allowing programmatic control of applications and system functions through a rich knowledge base of pre-defined scripts.
    2
    1,211 npm
    8
    MIT