pommes-scriptum-mcp
Un serveur MCP MacOS Applecript
3
Github Watches
25
Github Forks
134
Github Stars
applescript-mcp MCP Server
A Model Context Protocol server that enables LLM applications to interact with macOS through AppleScript. This server provides a standardized interface for AI applications to control system functions, manage files, handle notifications, and more.
Features
- 🗓️ Calendar management (events, reminders)
- 📋 Clipboard operations
- 🔍 Finder integration
- 🔔 System notifications
- ⚙️ System controls (volume, dark mode, apps)
- 📟 iTerm terminal integration
Planned Features
- 📬 Mail (list emails, save attachments, summarize, send)
- 🧭 Safari (open in Safari, save page content, get selected page/tab)
- 💬 Messages (send, get, list)
- ✅ Reminders (create, get)
- 🗒️ Notes (create, get, list)
Prerequisites
- macOS 10.15 or later
- Node.js 18 or later
Available Categories
Calendar
| Command | Description | Parameters |
|---|---|---|
add |
Create calendar event | title, startDate, endDate |
list |
List today's events | None |
Clipboard
| Command | Description | Parameters |
|---|---|---|
set_clipboard |
Copy to clipboard | content |
get_clipboard |
Get clipboard contents | None |
clear_clipboard |
Clear clipboard | None |
Finder
| Command | Description | Parameters |
|---|---|---|
get_selected_files |
Get selected files | None |
search_files |
Search for files | query, location (optional) |
quick_look |
Preview file | path |
Notifications
| Command | Description | Parameters |
|---|---|---|
send_notification |
Show notification | title, message, sound (optional) |
toggle_do_not_disturb |
Toggle DND mode | None |
System
| Command | Description | Parameters |
|---|---|---|
volume |
Set system volume | level (0-100) |
get_frontmost_app |
Get active app | None |
launch_app |
Open application | name |
quit_app |
Close application | name, force (optional) |
toggle_dark_mode |
Toggle dark mode | None |
iTerm
| Command | Description | Parameters |
|---|---|---|
paste_clipboard |
Paste to iTerm | None |
run |
Execute command | command, newWindow (optional) |
Development
Setup
# 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...
Adding New Functionality
1. Create Category File
Create 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. Add 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. Register Category
Update src/index.ts:
import { newCategory } from "./categories/newcategory.js";
// ...
server.addCategory(newCategory);
Debugging
Using MCP Inspector
The MCP Inspector provides a web interface for testing and debugging your server:
npm run inspector
Logging
Enable debug logging by setting the environment variable:
DEBUG=applescript-mcp* npm start
Common Issues
- Permission Errors: Check System Preferences > Security & Privacy
- Script Failures: Test scripts directly in Script Editor.app
- Communication Issues: Check stdio streams aren't being redirected
Resources
Contributing
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
License
MIT License - see LICENSE for details
相关推荐
Confidential guide on numerology and astrology, based of GG33 Public information
Advanced software engineer GPT that excels through nailing the basics.
Emulating Dr. Jordan B. Peterson's style in providing life advice and insights.
Your go-to expert in the Rust ecosystem, specializing in precise code interpretation, up-to-date crate version checking, and in-depth source code analysis. I offer accurate, context-aware insights for all your Rust programming questions.
Take an adjectivised noun, and create images making it progressively more adjective!
Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.
L'application tout-en-un desktop et Docker AI avec chiffon intégré, agents AI, constructeur d'agent sans code, compatibilité MCP, etc.
Plateforme d'automatisation de workflow à code équitable avec des capacités d'IA natives. Combinez le bâtiment visuel avec du code personnalisé, de l'auto-hôte ou du cloud, 400+ intégrations.
🧑🚀 全世界最好的 LLM 资料总结 (数据处理、模型训练、模型部署、 O1 模型、 MCP 、小语言模型、视觉语言模型) | Résumé des meilleures ressources LLM du monde.
Une liste organisée des serveurs de protocole de contexte de modèle (MCP)
Un puissant plugin Neovim pour gérer les serveurs MCP (Protocole de contexte modèle)
Pont entre les serveurs Olllama et MCP, permettant aux LLM locaux d'utiliser des outils de protocole de contexte de modèle
MCP Server pour récupérer le contenu de la page Web à l'aide du navigateur sans tête du dramwright.
La communauté du curseur et de la planche à voile, recherchez des règles et des MCP
Reviews
user_lEx4UJRf
As a devoted user of applescript-mcp by joshrutkowski, I find it to be an incredibly efficient and user-friendly tool for managing AppleScript projects. Its seamless integration and ease of use have significantly streamlined my workflow. Highly recommend for any AppleScript developer! Check it out at https://github.com/joshrutkowski/applescript-mcp.