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
Dominio | Descripción | Parámetros |
---|---|---|
add | Crear evento de calendario | title , startDate , endDate |
list | Enumere los eventos de hoy | Ninguno |
Portapapeles
Dominio | Descripción | Parámetros |
---|---|---|
set_clipboard | Copiar al portapapeles | content |
get_clipboard | Obtener el contenido del portapapeles | Ninguno |
clear_clipboard | Borrar el portapapeles | Ninguno |
Descubridor
Dominio | Descripción | Parámetros |
---|---|---|
get_selected_files | Obtener archivos seleccionados | Ninguno |
search_files | Buscar archivos | query , location (opcional) |
quick_look | Archivo de vista previa | path |
Notificaciones
Dominio | Descripción | Parámetros |
---|---|---|
send_notification | Mostrar notificación | title , message , sound (opcional) |
toggle_do_not_disturb | Activar o desactivar el modo DND | Ninguno |
Sistema
Dominio | Descripción | Parámetros |
---|---|---|
volume | Establecer el volumen del sistema | level (0-100) |
get_frontmost_app | Obtener aplicación activa | Ninguno |
launch_app | Abrir solicitud | name |
quit_app | Cerrar aplicación | name , force (opcional) |
toggle_dark_mode | Activar el modo oscuro | Ninguno |
iTerm
Dominio | Descripción | Parámetros |
---|---|---|
paste_clipboard | Pegar en iTerm | Ninguno |
run | Ejecutar comando | command , newWindow (opcional) |
Atajos
Dominio | Descripción | Parámetros |
---|---|---|
run_shortcut | Ejecutar un atajo | name , input (opcional) |
Correo
Dominio | Descripción | Parámetros |
---|---|---|
create_email | Crear un nuevo correo electrónico en Mail.app | recipient , subject , body |
list_emails | Listar correos electrónicos de un buzón | mailbox (opcional), count (opcional), unreadOnly (opcional) |
get_email | Obtenga un correo electrónico específico mediante una búsqueda | subject (opcional), sender (opcional), dateReceived (opcional), mailbox (opcional), account (opcional), unreadOnly (opcional), includeBody (opcional) |
Mensajes
Dominio | Descripción | Parámetros |
---|---|---|
list_chats | Lista de chats de iMessage y SMS disponibles | includeParticipantDetails (opcional) |
get_messages | Recibir mensajes desde la aplicación Mensajes | limit (opcional, predeterminado: 100) |
search_messages | Buscar mensajes que contengan texto específico | searchText , sender (opcional), chatId (opcional), limit (opcional, predeterminado: 50), daysBack (opcional, predeterminado: 30) |
compose_message | Abra la aplicación Mensajes con un mensaje precargado o envío automático | recipient (obligatorio), body (opcional), auto (opcional, predeterminado: falso) |
Desarrollo
Configuración
Añadiendo nueva funcionalidad
1. Crear archivo de categoría
Crear src/categories/newcategory.ts
:
2. Agregar scripts
3. Categoría de registro
Actualizar src/index.ts
:
Depuración
Uso del inspector MCP
El Inspector MCP proporciona una interfaz web para probar y depurar su servidor:
Explotación florestal
Habilite el registro de depuración configurando la variable de entorno:
Ejemplo de configuración
Después de ejecutar npm run build
agregue lo siguiente a su archivo mcp.json
:
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
- Bifurcar el repositorio
- Crear una rama de características
- Confirme sus cambios
- Empujar hacia la rama
- Crear una solicitud de extracción
Licencia
Licencia MIT: consulte LICENCIA para obtener más detalles
You must be authenticated.
Permite que las aplicaciones LLM interactúen con macOS a través de AppleScript.