MCP (Protocolo de contexto de modelo) de Python Apple
Una implementación de Python del servidor que maneja las interacciones con aplicaciones macOS como Contactos, Notas, Correo, Mensajes, Recordatorios, Calendario y Mapas usando FastMCP.
Características
Interactúe con aplicaciones nativas de macOS a través de AppleScript
Operaciones asincrónicas para un mejor rendimiento
Manejo integral de errores
Interfaces de tipos seguros que utilizan modelos de Pydantic
Amplia cobertura de pruebas
Diseño modular para una fácil ampliación
Related MCP server: macOS Automator MCP Server
Aplicaciones compatibles
Contactos
Notas
Correo
Mensajes
Recordatorios
Calendario
Mapas
Instalación
Clonar el repositorio:
Crear un entorno virtual:
Instalar dependencias:
Instalar dependencias de prueba (opcional):
Uso
Ejemplo básico
Uso de módulos individuales
Pruebas
Ejecute el conjunto de pruebas:
Ejecutar pruebas con cobertura:
Ejecutar archivo de prueba específico:
Documentación de la API
Módulo de contactos
find_contact(name: str) -> List[Contact]: Busca contactos por nombreget_all_contacts() -> List[Contact]: Obtener todos los contactoscreate_contact(name: str, phones: List[str]) -> Contact: Crea un nuevo contacto
Módulo de notas
find_note(query: str) -> List[Note]: Buscar notascreate_note(title: str, body: str, folder_name: str) -> Note: Crea una nueva notaget_all_notes() -> List[Note]: Obtener todas las notas
Módulo de correo
send_email(to: str, subject: str, body: str) -> str: Enviar un correo electrónicosearch_emails(query: str) -> List[Email]: Buscar correos electrónicosget_unread_mails() -> List[Email]: Obtener correos electrónicos no leídos
Módulo de mensajes
send_message(to: str, content: str) -> bool: Enviar un iMessageread_messages(phone_number: str) -> List[Message]: Leer mensajesschedule_message(to: str, content: str, scheduled_time: str) -> Dict: Programar un mensaje
Módulo de recordatorios
create_reminder(name: str, list_name: str, notes: str, due_date: str) -> Dict: Crea un recordatoriosearch_reminders(query: str) -> List[Dict]: Recordatorios de búsquedaget_all_reminders() -> List[Dict]: Obtener todos los recordatorios
Módulo de calendario
create_event(title: str, start_date: str, end_date: str, location: str, notes: str) -> Dict: Crea un eventosearch_events(query: str) -> List[Dict]: Buscar eventosget_events() -> List[Dict]: Obtener todos los eventos
Módulo de mapas
search_locations(query: str) -> List[Location]: Buscar ubicacionesget_directions(from_address: str, to_address: str, transport_type: str) -> str: Obtener direccionessave_location(name: str, address: str) -> Dict: Guardar una ubicación en favoritos
Contribuyendo
Bifurcar el repositorio
Crear una rama de características
Confirme sus cambios
Empujar hacia la rama
Crear una solicitud de extracción
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.