applescript-mcp

by joshrutkowski
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Allows interaction with macOS through AppleScript, including calendar management, clipboard operations, Finder integration, system notifications, system controls, and iTerm terminal integration

  • Required as a prerequisite for running the MCP server

  • Planned feature to allow opening pages in Safari, saving page content, and getting selected page/tab

Servidor MCP applescript-mcp

Un servidor de Protocolo de Contexto de Modelo que permite que las aplicaciones LLM interactúen con macOS mediante AppleScript. Este servidor proporciona una interfaz estandarizada para que las aplicaciones de IA controlen las funciones del sistema, administren archivos, gestionen notificaciones y más.

Características

  • 🗓️ Gestión de calendario (eventos, recordatorios)
  • Operaciones del portapapeles
  • 🔍 Integración con Finder
  • 🔔 Notificaciones del sistema
  • ⚙️ Controles del sistema (volumen, modo oscuro, aplicaciones)
  • Integración del terminal iTerm
  • 📬 Correo (crear nuevo correo electrónico, listar correos electrónicos, recibir correo electrónico)
  • 🔄 Automatización de atajos
  • 💬 Mensajes (listar chats, recibir mensajes, buscar mensajes, enviar un mensaje)

Funciones planificadas

  • 🧭 Safari (abrir en Safari, guardar el contenido de la página, obtener la página/pestaña seleccionada)
  • ✅ Recordatorios (crear, recibir)
  • 🗒️ Notas (crear, obtener, listar)

Prerrequisitos

  • macOS 10.15 o posterior
  • Node.js 18 o posterior

Categorías disponibles

Calendario

DominioDescripciónParámetros
addCrear evento de calendariotitle , startDate , endDate
listEnumere los eventos de hoyNinguno

Portapapeles

DominioDescripciónParámetros
set_clipboardCopiar al portapapelescontent
get_clipboardObtener el contenido del portapapelesNinguno
clear_clipboardBorrar el portapapelesNinguno

Descubridor

DominioDescripciónParámetros
get_selected_filesObtener archivos seleccionadosNinguno
search_filesBuscar archivosquery , location (opcional)
quick_lookArchivo de vista previapath

Notificaciones

DominioDescripciónParámetros
send_notificationMostrar notificacióntitle , message , sound (opcional)
toggle_do_not_disturbActivar o desactivar el modo DNDNinguno

Sistema

DominioDescripciónParámetros
volumeEstablecer el volumen del sistemalevel (0-100)
get_frontmost_appObtener aplicación activaNinguno
launch_appAbrir solicitudname
quit_appCerrar aplicaciónname , force (opcional)
toggle_dark_modeActivar el modo oscuroNinguno

iTerm

DominioDescripciónParámetros
paste_clipboardPegar en iTermNinguno
runEjecutar comandocommand , newWindow (opcional)

Atajos

DominioDescripciónParámetros
run_shortcutEjecutar un atajoname , input (opcional)

Correo

DominioDescripciónParámetros
create_emailCrear un nuevo correo electrónico en Mail.apprecipient , subject , body
list_emailsListar correos electrónicos de un buzónmailbox (opcional), count (opcional), unreadOnly (opcional)
get_emailObtenga un correo electrónico específico mediante una búsquedasubject (opcional), sender (opcional), dateReceived (opcional), mailbox (opcional), account (opcional), unreadOnly (opcional), includeBody (opcional)

Mensajes

DominioDescripciónParámetros
list_chatsLista de chats de iMessage y SMS disponiblesincludeParticipantDetails (opcional)
get_messagesRecibir mensajes desde la aplicación Mensajeslimit (opcional, predeterminado: 100)
search_messagesBuscar mensajes que contengan texto específicosearchText , sender (opcional), chatId (opcional), limit (opcional, predeterminado: 50), daysBack (opcional, predeterminado: 30)
compose_messageAbra la aplicación Mensajes con un mensaje precargado o envío automáticorecipient (obligatorio), body (opcional), auto (opcional, predeterminado: falso)

Desarrollo

Configuración

# Install dependencies npm install # Build the server npm run build # Launch MCP Inspector # See: https://modelcontextprotocol.io/docs/tools/inspector npx @modelcontextprotocol/inspector node path/to/server/index.js args...

Añadiendo nueva funcionalidad

1. Crear archivo de categoría

Crear src/categories/newcategory.ts :

import { ScriptCategory } from "../types/index.js"; export const newCategory: ScriptCategory = { name: "category_name", description: "Category description", scripts: [ // Scripts will go here ], };

2. Agregar scripts

{ name: "script_name", description: "What the script does", schema: { type: "object", properties: { paramName: { type: "string", description: "Parameter description" } }, required: ["paramName"] }, script: (args) => ` tell application "App" // AppleScript code using ${args.paramName} end tell ` }

3. Categoría de registro

Actualizar src/index.ts :

import { newCategory } from "./categories/newcategory.js"; // ... server.addCategory(newCategory);

Depuración

Uso del inspector MCP

El Inspector MCP proporciona una interfaz web para probar y depurar su servidor:

npm run inspector

Explotación florestal

Habilite el registro de depuración configurando la variable de entorno:

DEBUG=applescript-mcp* npm start

Ejemplo de configuración

Después de ejecutar npm run build agregue lo siguiente a su archivo mcp.json :

{ "mcpServers": { "applescript-mcp-server": { "command": "node", "args": ["/path/to/applescript-mcp/dist/index.js"] } } }

Problemas comunes

  • Errores de permisos : Consultar Preferencias del Sistema > Seguridad y Privacidad
  • Errores de script : Pruebe los scripts directamente en Script Editor.app
  • Problemas de comunicación : compruebe que los flujos de stdio no se redirigen

Recursos

Contribuyendo

  1. Bifurcar el repositorio
  2. Crear una rama de características
  3. Confirme sus cambios
  4. Empujar hacia la rama
  5. Crear una solicitud de extracción

Licencia

Licencia MIT: consulte LICENCIA para obtener más detalles

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Permite que las aplicaciones LLM interactúen con macOS a través de AppleScript.

  1. Features
    1. Planned Features
  2. Prerequisites
    1. Available Categories
      1. Calendar
      2. Clipboard
      3. Finder
      4. Notifications
      5. System
      6. iTerm
      7. Shortcuts
      8. Mail
      9. Messages
    2. Development
      1. Setup
      2. Adding New Functionality
    3. Debugging
      1. Using MCP Inspector
      2. Logging
      3. Example configuration
      4. Common Issues
    4. Resources
      1. Contributing
        1. License
          ID: 0t5gydjcqw