AppleScript MCP Server
AppleScript MCP サーバー (デュアル アクセス: Python と node.js)
概要
AppleScriptコードを実行してMacとやり取りできる、モデルコンテキストプロトコル(MCP)サーバーです。この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 10amAdd a new meeting to my calendar for Friday from 2-3pm titled "Team Review"Create a new note titled "Meeting Minutes" with today's dateShow me all files in my Downloads folder from the past weekWhat's my current battery percentage?Show me the most recent unread emails in my inboxList all the currently running applications on my MacPlay my "Focus" playlist in Apple MusicTake a screenshot of my entire screen and save it to my DesktopFind John Smith in my contacts and show me his phone numberCreate a folder on my Desktop named "Project Files"Open Safari and navigate to apple.comTell me how much free space I have on my main driveList all my upcoming calendar events for this weekClaude Desktopでの使用
Node.js
{
"mcpServers": {
"applescript_execute": {
"command": "npx",
"args": [
"@peakmojo/applescript-mcp"
]
}
}
}パイソン
uvをインストールする
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 toolapplescript_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
| Name | Required | Description | Default |
|---|---|---|---|
| code_snippet | Yes | Multi-line appleScript code to execute | |
| timeout | No | Command execution timeout in seconds (default: 60) |
TDQS
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.
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.
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.
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.
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.
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 tool update
v1.0.0- First observed
applescript_execute
TDQS
Scored across 1 tool
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.
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.
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.
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
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
MCP connector for iMessage & Contacts via a local Mac agent + Vercel relay
MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA 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-
- AlicenseAqualityFmaintenanceProvides 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.21,211 npm884MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables direct integration with macOS Calendar application using AppleScript, allowing users to create, list, and search calendar events without requiring OAuth setup.8430 npm6MIT
- AlicenseAqualityDmaintenanceA 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.21,211 npm8MIT