Token导航 LogoToken导航TokenDH.com
osascript MCP Server logo
安全风控未说明官方级别未说明来源级核验

osascript MCP Server

MCP Server

一个支持在macOS上执行AppleScript和JavaScript for Automation(JXA)的MCP服务器,安全设计仅阻止删除操作。

工具数

0

提示词数

0

GitHub Stars

5

资源数

0
JavaScriptClaude安全Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Akira-Papa

提供方

Akira-Papa

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

osascript MCP服务器

一种MCP服务器,可以运行macOS的osascript(AppleScript/JavaScript for Automation)。

特徴

  • AppleScript支持:运行macOS的本机AppleScript
  • JXA支持: JavaScript for Automation(JXA)を実行
  • 安全设计:仅限文件删除命令块(其他全部允许)
  • Desktop Extension 対応:以.mcpb格式一键安装

安装

方法1:从MCPB文件(推荐)

  1. .mcpb 下载文件
  2. 拖放到Claude Desktop
  3. 允许安装

方法2:手动设定

Claude Desktop的配置文件(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "osascript": {
      "command": "node",
      "args": ["/path/to/osascript-mcp/server/index.js"],
      "env": {
        "OSASCRIPT_TIMEOUT": "30000",
        "OSASCRIPT_LOG_SCRIPTS": "true"
      }
    }
  }
}

使用方法

运行AppleScript

tell application "Finder" to get name of every disk

运行JXA(JavaScript)

Application("System Events").processes().map(p => p.name())

允许的操作

下面的操作是全部允许已完成:

壳命令(非删除)

do shell script "ls -la ~/Desktop"
do shell script "whoami"
do shell script "curl -s https://api.github.com"
do shell script "cat ~/.zshrc"

Finder 操作

tell application "Finder" to get name of every disk
tell application "Finder" to get every file of desktop
tell application "Finder" to open folder "Documents" of home

系统事件

tell application "System Events" to get name of every process
tell application "System Events" to keystroke "hello"
tell application "System Events" to key code 36 -- Enter

应用程序控制

tell application "Safari" to get URL of current tab of window 1
tell application "Music" to get name of current track
tell application "Calendar" to get events of calendar 1

被阻止的操作

以下仅删除操作将被阻止:

在壳中删除

-- これらはブロックされます
do shell script "rm test.txt"
do shell script "rm -rf ~/test"
do shell script "rmdir testdir"

在查找器中删除

-- これらはブロックされます
tell application "Finder" to delete file "test.txt" of desktop
move file "test.txt" to trash
empty trash

配置选项

|选项|说明|默认| |-----------|------|-----------| | timeout |脚本执行超时(毫秒)|30000| | log_scripts |是否日志输出脚本|真|

开発

构建

# 依存関係インストール
npm install

# ローカルテスト
npm start

# MCPB パッケージ作成
npm install -g @anthropic-ai/mcpb
mcpb validate manifest.json
mcpb pack .

测试

# 許可されるスクリプトのテスト
echo 'tell application "Finder" to get name of every disk' | node server/index.js

# サーバーの直接実行(デバッグ用)
node server/index.js

安全性

此服务器采用“最低安全性”设计:

  • 许可:外壳命令(ls, curl, cat 的下界
  • 许可:系统事件(keystroke, key code
  • 许可:控制所有应用程序
  • : rm, delete, trash 等删除操作

如果需要更严格的安全性server/index.js 的,之 BLOCKED_PATTERNS 中所述修改相应参数的值。

许可证

麻省理工学院

相关链接

目录标签

目录标签

JavaScriptClaude安全macOS自动化本地部署脚本执行安全设计AppleScriptJXA

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明nonelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP