SassyMCP について
SassyMCPは、ファイル、シェル、デスクトップ、GitHub、Android、システム操作のツールをまとめたスタンドアロンのMCPサーバーです。複数分野のツールを単一プロセスで使いたいユーザー向けで、ツールグループを選んで読み込めます。
主な機能
- 0139モジュールにまたがる278ツール
- 02選択したツールグループの読み込み
- 03デスクトップとAndroidの画面監視
- 04一時停止・再開に対応したAndroid操作
- 05削除対象をレビュー用に一時保管
- 06GitHubとシェルの操作
活用シーン
- 01MCPクライアントからファイルやシェルを操作
- 02デスクトップやAndroidの画面確認と操作
- 03GitHubリポジトリやプルリクエストの管理
- 04削除対象を人手で確認できるよう一時保管
MCP 対応
SassyMCPはClaude Desktop、Cursor、WindsurfなどのMCPクライアントにツールグループとプロンプトを提供します。読み込むツールグループを選択できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
101掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| archive | string | はい | |
| destination | string | いいえ |
詳細
SassyMCP
すべてを置き換える、ひとつの MCP サーバー。
278 個のツール | 39 個のモジュール | 18 個のツールグループ | 75 以上の MCP サーバーを置き換え | 約 35MB のスタンドアロン exe
最終更新日:2026-09-21 — v1.16.0 | すべてのツールが利用可能;サポーターライセンスは任意
Claude Desktop、Grok Desktop、Cursor、Windsurf、およびあらゆる MCP クライアントと互換性があります。
公式 GitHub MCP サーバーには重大な SHA 処理のバグがあります。 SassyMCP の GitHub モジュールは、正しい blob SHA の検索、適切なパスのエンコード、Git Data API による複数ファイルのアトミックなコミット、指数バックオフによる再試行ロジック、レート制限への対応を備えています。実際に動作するドロップイン置き換えです。
SassyMCP を選ぶ理由
MCP エコシステムは断片化しています。ファイル操作が必要なら Filesystem サーバー、ターミナルが必要なら Desktop Commander、GitHub なら別のサーバー、Android ならまた別のサーバー、スクリーンショットならさらに別のサーバーをインストールする必要があります。その結果、コンテキストウィンドウを消費し、それぞれに独自の設定、バグ、更新サイクルがある MCP サーバーを 6~10 個使うことになります。
SassyMCP は、Desktop Commander(スター 5.9k)、Windows-MCP(スター 5k)、GitHub MCP Server(スター 28.6k)、Anthropic 公式の Filesystem サーバーと Memory サーバー、mobile-mcp(スター 4.4k)など、75 以上の個別 MCP サーバーを、約 35MB の単一 exe で置き換えます。
主な差別化要素:
- スマートなツール読み込み — 使用するツールグループのみを読み込みます。デフォルトで、コンテキストウィンドウのオーバーヘッドを約 25K トークンから約 5K トークンに削減します。
- 動的ビジョン — デスクトップと Android の両方で、変更検出機能を備えたリアルタイム画面モニタリングを実現します。スクリーンショットを撮って祈る必要はもうありません。
- Android 操作 — UI アクセシビリティツリーを使って、タップ、スワイプ、入力など、スマートフォンを完全に操作できます。機密性の高いコンテキストを自動検出し、認証画面や決済画面では自動的にブロックします。
- 一時停止/再開 — ログイン、2FA、アカウント選択などの手動操作が必要なときに、ユーザーがスマートフォンの操作を引き継げます。AI はその様子を確認して学習し、その後、自律的に処理を再開します。
- 使用状況の追跡 — 指数減衰を用いて、ツール呼び出しを軽量な ML でスコアリングします。最もよく使うツールが優先的に読み込まれます。
- コンテキストの推定 — ツール定義が 200K のコンテキストウィンドウをどれだけ消費するかを測定する、組み込みツールを備えています。
- レスポンスの最小化 — GitHub API のレスポンスから URL メタデータの肥大化を取り除きます(40~70% 縮小)。
- 安全な削除 — すべてのシェルで、削除コマンド(
rm、del、Remove-Itemなど)をインターセプトします。ファイルを破壊する代わりに、対象を同じディレクトリ内の_DELETE_/ステージングフォルダーに移動して、人が確認できるようにします。これにより、AI の誤認による削除を防ぎます。 - ガイド付きセットアップ — ウィザードに従って、ペルソナ、GitHub トークン、SSH 認証情報、および任意のツール検出を設定できます。
置き換えるもの
| 分野 | SassyMCP モジュール | 置き換えるもの | 主な代替製品 |
|---|---|---|---|
| ファイル操作 | FileOps, Editor | 11 個のファイルシステム/エディター MCP サーバー | Filesystem(Anthropic 公式) |
| シェル/ターミナル | Shell, Session | 5 個のシェル MCP サーバー | Desktop Commander(5.9k stars) |
| デスクトップ自動化 | UIAutomation, Vision | 9 個のデスクトップ MCP サーバー | Windows-MCP(5k stars) |
| GitHub/Git | GitHub Quick, GitHub Full | 5 個の GitHub/Git MCP サーバー | GitHub MCP Server(28.6k stars) |
| Android/電話 | ADB, PhoneScreen | 9 個のモバイル MCP サーバー | mobile-mcp(4.4k stars) |
| ネットワークスキャン | NetworkAudit | 8 個の nmap/セキュリティ MCP サーバー | mcp-for-security(601 stars) |
| セキュリティ監査 | SecurityAudit | 8 個のセキュリティ MCP サーバー | mcp-security-hub(509 stars) |
| SSH/リモート Linux | Linux | 7 個の SSH MCP サーバー | ssh-mcp(365 stars) |
| メモリ/状態 | Memory, StateManager | 7 個のメモリ MCP サーバー | mcp-memory-service(1.6k stars) |
| OCR/画面読み取り | Vision | 7 個の OCR/ビジョン MCP サーバー | PaddleOCR MCP |
| Web インスペクション | WebInspector, Utility | 7 個の Web/フェッチ MCP サーバー | Fetch(Anthropic 公式) |
| Windows システム | Registry, ProcessManager, Clipboard, EventLog, Bluetooth | 13 個の Windows MCP サーバー | Windows-MCP(5k stars) |
同等の MCP サーバーがない機能もあります: 機微なコンテキストを検出して電話の操作を一時停止/再開する機能(ログイン画面や支払い画面では自動的にブロック)、運用フック(14 個のエキスパート向けプレイブック)、安全な削除の傍受、Windows 自動起動のフォレンジック、Android と Windows 間のクリップボード同期、使用頻度に応じたスマートな読み込み。
ライセンス
すべてのツールグループは、キー不要で、誰でもロック解除済みの状態で利用できます。 v1.13.0 以降、リリースモデルはすべて利用可能か、まったく利用できないかの二択です。無料版/プロ版の区分も、制限されたグループも、機能を制限したデモ版もありません。以下のモジュール表に記載されている 278 個のツールが、インストール直後から利用できる製品です。
サポーターライセンス(任意): SassyMCP は、LemonSqueezy から買い切りのサポーターライセンスとして引き続き購入できます(サブスクリプションではありません)。キーを有効化すると、お使いのマシンがシートとして登録され、サポーターのティアが記録されて、起動バナー、コントロールパネル、VS Code コックピットに表示されます。ティアにかかわらず、すべてのツールが利用できます。開発を支援するために一度だけ購入してください。返金されると、ラベルは自動的に取り消されます。
有効化の手順(サポーター向け):
https://sassyconsultingllc.com/storeで購入すると、LemonSqueezy からキー(XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)がメールで届きます。- AI エージェントから有効化します:
sassy_setup_license action=activate key=... - または、ターミナルから実行します:
sassymcp.exe setupを実行すると、対話形式のメニューが開きます。
オフラインでの動作: 有効化すると、ローカルの HMAC 署名付きペイロードにより、サポーターのティアを完全にオフラインで検証できます。LS に対する週次の再確認で返金やキャンセルを検知し、SassyMCP の課金オラクルに対する起動時の高速な確認により、返金からライセンス取り消しまでの時間を数秒に短縮します。ライセンスファイルが存在しない、期限切れ、改ざん済み、または破損している場合は、無料ラベルが表示されるだけで、ツールの利用可否には一切影響しません。
後方互換性: SASSYMCP_LICENSE_BYPASS=1(制限されたグループを解除する以前の開発用回避策)は受け付けられますが、無視されます。回避するものはもうありません。
supervised の実行(sassymcp supervise)
常時稼働またはリモート環境にデプロイする場合は、単独のランチャースクリプトではなく、組み込みのスーパーバイザーの下で SassyMCP を実行します。
sassymcp.exe supervise start # bridge only (127.0.0.1:21001)
sassymcp.exe supervise start --tunnel-mode managed # also run the cloudflared tunnel as a child
sassymcp.exe supervise status # JSON status; exit code != 0 if unhealthy
sassymcp.exe supervise stop # graceful stop
スーパーバイザーはランタイムツリーを管理し、自己修復機能と孤児プロセスを残さない仕組みを備えています。
- 孤児プロセスは一切残りません。 スーパーバイザーが強制終了(クラッシュ、
kill -9、taskkill /f)されると、すべての子プロセスも終了します。Windows では Job Object(KILL_ON_JOB_CLOSE)、Linux ではプロセスグループとPR_SET_PDEATHSIGを使用します。古いtaskkillベースのスクリプトが引き起こしていた、停止した SQLite/WAL ロックを保持するブリッジの残留もありません。 - 自己修復します。 クラッシュした子プロセスは指数バックオフで再起動し、クラッシュループに陥った場合は、再起動を繰り返さずに正常に停止します。
- ハングを検出します。 HTTP のレディネスプローブによって、ハングしていても生存しているブリッジを再起動します。これは、Windows のスケジュールタスクでは検出できない障害です。
- クラッシュ後も制御できます。
$SASSYMCP_HOME配下の PID ファイルとディスク上のレジストリにより、ブリッジが停止していてもsupervise status/stopが機能するため、オペレーターまたはエージェントが停止したシステムを復旧できます。
start-supervised.bat は、推奨される Windows ランチャーとしてこれをラップします。stdio モード(Claude Desktop のパイプ)はクライアントが管理するため、意図的に監視対象から除外されています。
モジュール
| モジュール | ツール | グループ | 説明 |
|---|---|---|---|
| Meta | 11 | meta | コンテキストの推定、ツール使用状況の分析、グループ管理 |
| Batch | 1 | meta | 1 回の呼び出しで複数のツールを一括実行 |
| FileOps | 10 | core | 読み取り、書き込み、検索、移動、コピー、編集、mkdir、ファイル情報、安全な削除 |
| Shell | 2 | core | 構文の正規化と削除のインターセプトを備えた PowerShell、CMD、WSL の実行 |
| UIAutomation | 6 | core | デスクトップの状態、クリック、入力、ホットキー、スクリーンショット、画面情報 |
| Editor | 2 | core | 外科的な検索と置換、複数箇所の編集 |
| Audit | 4 | core | 監査ログの読み取り、検索、消去、誤検知の追跡 |
| Session | 6 | core | 永続ターミナルセッション(開始、読み取り、送信、停止) |
| GitHub Quick | 6 | github_quick | 日常的な操作:push_files、get_file、issue、PR、保護 |
| GitHub Full | 80 | github_full | GitHub API 全機能:リポジトリ、issue、PR、actions、セキュリティ、gists |
| Persona | 7 | persona | エキスパートモードの指示、意思決定フレームワーク、エンジニアリング標準 |
| Utility | 11 | utility | 環境変数、トースト通知、zip/tar/unzip/untar、HTTP リクエスト、ファイル差分 |
| SetupWizard | 7 | setup | セットアップウィザード、GitHub トークンガイド、SSH セットアップ、ツールチェッカー、ライセンス認証 |
| ToolsManager | 1 | setup | 外部ツールのブートストラップと検出 |
| Observability | 3 | infrastructure | ヘルス、メトリクス、ツール統計 |
| StateManager | 3 | infrastructure | セッションをまたいで保持されるキーと値の状態 |
| RuntimeConfig | 5 | infrastructure | 権限モード、ランタイム設定、最近のツール呼び出し |
| Offline | 3 | infrastructure | オフライン時のフォールバック状態とローカルモデルへの引き継ぎ |
| Memory | 9 | memory | セッションをまたいで保持されるメモリ、マイルストーン、タスクの引き継ぎ、パターン学習 |
| Updater | 4 | updater | バージョン確認、変更履歴、セルフアップデート |
| ADB | 10 | android | Android シェル、パッケージ、ファイル転送、logcat、画面キャプチャ |
| PhoneScreen | 14 | android | UI ツリーリーダー、スマートフォンの概要表示/監視、タップ/スワイプ/入力/キー操作、一時停止/再開、scrcpy |
| iPhone | 6 | iphone | iOS デバイス情報、スクリーンショット、syslog、アプリ、IPA のインストール — 実験的機能、libimobiledevice が必要 |
| NetworkAudit | 7 | system | netstat、ARP、WiFi スキャン、ポートスキャン、DNS、traceroute |
| ProcessManager | 5 | system | クロスプラットフォームのプロセス一覧/強制終了、システム情報 |
| Bluetooth | 3 | system | Windows および Android の Bluetooth 列挙 |
| EventLog | 3 | system | Windows Event Log および Android logcat |
| Clipboard | 4 | system | クロスプラットフォームのクリップボード同期 |
| SecurityAudit | 7 | forensics | ハッシュ、権限、証明書、APK、ファイアウォール、Defender |
| Registry | 4 | forensics | レジストリの読み取り、書き込み、エクスポート、自動起動のフォレンジック(Windows) |
| Vision | 8 | v020 | 画面キャプチャ、OCR、動的な概要表示/監視/差分 |
| AppLauncher | 6 | v020 | アプリの起動、ウィンドウのフォーカス/終了/サイズ変更/スナップ |
| WebInspector | 5 | v020 | セキュリティヘッダー、URL のスクリーンショット、技術スタックの検出 |
| Crosslink | 7 | v020 | HTTP API と SQLite を介したセッション間メッセージング |
| Coordination | 4 | v020 | マルチエージェント調整ボードとピアへの委任 |
| Linux | 1 | linux | plink/OpenSSH を介したリモート SSH 実行 |
| Combos | 3 | combos | 1 回の呼び出しで実行する複数ステップのワークフロー:PR レビュー、スマートフォンの観察、コードベースの grep |
| Prompts | 0 | prompts | MCP スラッシュメニューのショートカット(ツールなし — プロンプトのみ) |
| SelfMod | 0 | — | 廃止済みのスタブ — 自己変更機能は削除済み(ツールなし) |
登録済みツールセットから生成した件数(39 モジュール、18 グループにわたる 278 ツール。prompts グループはツールではなく MCP プロンプトを提供します)。
ツールごとの完全なリファレンス(自動生成):docs/TOOLS.md。
iPhone のサポート(実験的)
SassyMCP は libimobiledevice を介して、USB 経由で iPhone と通信できます。v1.16.0 で追加された新機能で、実験的なものです。Android over ADB は引き続き成熟した方法です。
前提条件
- libimobiledevice をインストールします:
brew install libimobiledevice(macOS)またはsudo apt install libimobiledevice-utils(Linux)。Windows ホストでのサポートは限定的です。WSL2 または macOS/Linux ホストを使用してください。 - デバイスを一度ペアリングします:
idevicepair pairを実行し、iPhone で 信頼 をタップします。iOS 17 以降では、ツールがデバイスを認識する前に、このペアリングが必要です。 - 複数の iPhone が接続されている場合は、対象を指定するために
sassy_iphone_listで取得したudidパラメーターを渡します。
ツール: sassy_iphone_list、sassy_iphone_info、sassy_iphone_screenshot、sassy_iphone_syslog(取得量に上限あり)、sassy_iphone_apps、sassy_iphone_install(confirm='YES' が必要)。バイナリや信頼済みのデバイスがない場合、すべてのツールは適切に機能を縮退します。インストールの案内またはペアリングを促すメッセージが表示され、トレースバックが出ることはありません。
ダイナミックビジョン
デスクトップ(Vision モジュール)
従来の MCP スクリーンショットでは、画面の状態を把握できません。1 枚のフレームを撮影して、それが適切なものだと期待するしかありません。SassyMCP のダイナミックビジョンは、これを変えます。
| ツール | 目的 |
|---|---|
sassy_screen_glance | 約 3~6 KB の高速なグレースケール撮影です。繰り返し呼び出して画面を「監視」できます。 |
sassy_screen_watch | N 秒間監視し、コンテンツが変化したフレームのみを返します(ピクセル差分のしきい値を使用)。 |
sassy_screen_diff | 前後を比較します。フレームを撮影し、待機してからもう 1 枚撮影し、両方の画像と変化を強調表示した差分画像を返します。 |
3 つすべて、コンテキストのコストを最小限に抑えるために、グレースケールと強い JPEG 圧縮を使用します。全カラー撮影が約 14 KB なのに対し、グランスは約 2 KB です。
Android(PhoneScreen モジュール)
スマートフォンは単なるカメラの撮影対象ではありません。SassyMCP は UI アクセシビリティツリーを読み取ります。
| ツール | 目的 |
|---|---|
sassy_phone_ui | 表示されているすべての UI 要素を読み取ります。テキスト、説明、座標、クリック可能/フォーカス中/チェック済みの状態を取得します。ピクセルではなく、構造化データを返します。 |
sassy_phone_state | フォアグラウンドアプリ、画面のオン/オフ、バッテリー、Wi-Fi、通知数を取得します。 |
sassy_phone_glance | 直接パイプ経由で、低解像度のグレースケール画面を撮影します(約 4~8 KB)。 |
sassy_phone_watch | 指定した時間にわたって UI ツリーの変化を監視します。要素が変化した場合のみ、スナップショットを返します。 |
スマートフォンの操作
ADB 経由で完全なタッチ入力に対応しており、AI がスマートフォンを操作できます。
| ツール | 目的 |
|---|---|
sassy_phone_tap | 画面上の座標をタップします |
sassy_phone_swipe | 2 点間をスワイプします |
sassy_phone_type | フォーカス中のフィールドにテキストを入力します |
sassy_phone_key | キーイベントを送信します(HOME、BACK、ENTER、VOLUME など) |
sassy_phone_open | パッケージ名を指定してアプリを起動します |
センシティブなコンテキストの検出
すべての操作ツール(タップ、スワイプ、入力)は、実行前に UI ツリーを自動でスキャンします。ログイン画面、支払いフォーム、アカウント選択画面、2FA プロンプト、権限ダイアログを検出すると、ツールは実行を拒否し、検出した内容を代わりに返します。その後、AI が画面の内容を説明し、どうするかを尋ねます。ユーザーが明示的に承認した後、confirmed=True を渡してください。
安全な削除(削除のインターセプト)
AI エージェントは、破壊的なコマンドを誤って生成することがあります。SassyMCP は、あらゆるシェルとすべてのツールのエントリーポイントで、削除系コマンドをすべてインターセプトし、対象を破棄する代わりに _DELETE_/ ステージングフォルダーへ移動します。インターセプトのたびに、生のコマンド、解析された対象、移動結果が監査ログに記録されます。
対象範囲 — 破壊的な操作はすべて保護されます:
| ツール | 保護機能 |
|---|---|
sassy_shell | 削除コマンドをインターセプトし、対象を _DELETE_/ へ移動します |
sassy_session_send / sassy_session_start | 同じインターセプターを使用し、永続ターミナルからの回避も防ぎます |
sassy_linux_exec | リモートホスト上で破壊的なコマンドを拒否します |
sassy_adb_shell | Android デバイス上で破壊的なコマンドを拒否します(allow_destructive=True で上書きできます) |
sassy_safe_delete | 明示的なステージングツールです。シンボリックリンクはシンボリックリンクのまま移動します(移動処理で resolve() を使用しません) |
sassy_write_file(rewrite モード) | 上書き前に既存ファイルのスナップショットを _DELETE_/ に保存します |
sassy_edit_block / sassy_edit_multi | 保護対象のパスを拒否し、適用前に既存の内容のスナップショットを _DELETE_/<name>.pre-edit.<ts><ext> に保存します |
sassy_copy | 既存の宛先を拒否します(暗黙の上書きはしません)。保護対象の src/dst も拒否します |
sassy_move | 宛先の暗黙の上書きを拒否します。保護対象の src/dst も拒否します |
sassy_audit_clear | 監査ログを削除する代わりにローテーションします。confirm='YES' が必要です |
インターセプト対象のコマンドキーワード: rm、rmdir、unlink(Unix/WSL)、del、erase、rd(CMD)、Remove-Item、ri、rni(PowerShell のエイリアス)、sdelete / sdelete64(Sysinternals)。
基本のキーワード以外で検出されるもの:
- シェルラッパー —
powershell -c "del foo"、cmd /c del foo、bash -c "rm foo"、wsl -- rm foo(ペイロードを再帰的にスキャンします) - Base64 ペイロード —
powershell -EncodedCommand <base64>はデコード(UTF-16-LE)され、再帰的にスキャンされます .NETの呼び出し —[System.IO.File]::Delete(...)、[System.IO.Directory]::Delete(...)Clear-Content、Set-Content -Value ''(空のリテラルのみ。通常の-Value "foo"は許可されます)Out-File -Force、New-Item -Force(上書き形式)copy /y、xcopy /y— CMD の暗黙の上書きフラグrobocopy /MIRとrobocopy /PURGE— ミラー/パージモードでは宛先ファイルが削除されます- リダイレクトによる切り詰め —
> file.txt、type foo > bar.txt、cmd; > file.txt(追記の>>とストリームの2>/&>は正しく無視されます) Move-Item foo $null- 代入のプレフィックス —
$null = ri fooは正しく展開されます
保護対象のルート(インターセプターだけでなく、保護対象のすべてのツールが操作を拒否します):SassyMCP のソースツリー自体、~/.sassymcp/(監査ログと設定)、およびすべての _DELETE_/ ステージングフォルダー(ステージングの再帰は許可されません)。保護では resolve() を使用するため、パストラバーサル(..\)、シンボリックリンク、Windows 8.3 の短い名前は、チェック前にすべて正規化されます。
| シナリオ | 結果 |
|---|---|
rm -rf / | 常時有効なブロックリストにより強制ブロックされます — 移動は試みません |
rm important.txt | ブロックされ、ファイルは ./_DELETE_/important.txt に移動されます |
del /q *.log | ブロックされ、すべての .log ファイルが ./_DELETE_/ に移動されます |
Remove-Item -Path C:\data\old | ブロックされ、old は C:\data\_DELETE_\old に移動されます |
cmd /c del foo(ラッパー) | ブロックされます — ペイロードが展開され、インターセプトされます |
gci *.tmp | ri(PS エイリアス) | ブロックされます — ri エイリアスが照合されます |
既存ファイルに対する sassy_write_file("doc.txt", ..., "rewrite") | 先に既存の内容のスナップショットが _DELETE_/doc.overwrite.<ts>.txt に保存されます |
ls -la | 通常どおり実行されます — 削除コマンドではありません |
_DELETE_/ 内での名前の衝突は、カウンターのサフィックス(file.txt、file_1.txt、file_2.txt)で自動的に処理されます。Windows では、バックスラッシュを含むパス(C:\Users\foo\bar)はパーサーによって正しく保持されます — shlex による改変はありません。
一時停止/再開
ユーザーが操作を引き継ぐ必要がある複雑なフローの場合:
| ツール | 目的 |
|---|---|
sassy_phone_pause | すべてのインタラクションツールをブロックします。監視ツール(ui、glance、watch)は引き続き使用できます。 |
sassy_phone_resume | インタラクションのブロックを解除します。一時停止中に監視したすべての情報を踏まえ、AI は中断したところから処理を再開します。 |
ワークフロー:
- AI が通常のタスクでスマートフォンを自律的に操作します
- AI がログイン画面に到達 → 機密性の高いコンテキストが自動的にブロックされます → AI がユーザーに伝えます
- ユーザーが「ちょっと待って」と言う → AI が
sassy_phone_pauseを呼び出します - ユーザーが手動でログインします。AI は
sassy_phone_ui/sassy_phone_glanceを使って監視します - ユーザーが「完了」と言う → AI が
sassy_phone_resumeを呼び出します - AI は、ユーザーが特定のアカウントにログインしたことを把握した状態で処理を続けます
権限エンジンとコントロールパネル
SassyMCP は、1 つのポリシーエンジン
(sassymcp.policy)を通じてシェルツールとファイルツールを制御します。
モードは 4 種類あり、sassy_permission set_mode または
コントロールパネルから設定できます:
| モード | 動作 |
|---|---|
strict | 破壊的なパターンをすべての場所でブロックします(デフォルト) |
confirm | 破壊的なパターンに対して確認トークンを返します |
sandbox | プロジェクトのルート内では制限を緩和します。隔離領域の外に解決されるものはすべて拒否されます。フォルダー内に制限した状態で、ゲートのないモデルを実行します |
bypass | 保護対象のパスを除き、すべてを許可します(明示的な設定で、監査対象です) |
Claude 形式の allow/ask/deny ルールレイヤー(ツールの glob+パスの glob+
コマンドの正規表現。最初に一致したルールを適用)が、モードのデフォルト設定よりも優先されます。
致命的なブロックリスト(format、mkfs、…)と、保護対象パスの不変条件(SassyMCP のソースツリー+~/.sassymcp)は、bypass を含む すべての モードで維持されます。
コントロールパネルは、上記の設定を管理する localhost のウェブ UI です。リアルタイムの
イベントログ、設定/モードのエディター、分類器とルールのエディターを備えています。
127.0.0.1 のみにバインドし、~/.sassymcp/control_panel.token にある
インストールごとのトークンが必要です。sassy_panel start で起動します(または
panel.enabled / SASSYMCP_PANEL=1 を設定して起動時に自動起動します)。その後、
表示された http://127.0.0.1:8765/?token=… の URL を開きます。
ツールプロファイル
ツールプロファイルは、MCP セッションから認識できるツール(tools/list)と、
呼び出せるツール(tools/call)を制限します。カタログから人が制御するセッション単位のサブセットで、
コントロールパネルの Profiles タブから管理します。データは
GET/POST /api/profile を通じて処理されます。プロファイルを切り替えたり範囲を広げたりできる
MCP ツールは意図的に用意されていないため、セッションが制限の厳しいプロファイルから
自分自身を昇格させることはできません。sassy_batch による並列呼び出しにも同じ
制限が適用されます。
| プロファイル | ツールグループ |
|---|---|
full | 18 グループすべて(起動時のデフォルト) |
developer | meta、core、infrastructure、utility、github_quick、github_full、v020、memory、persona、setup、updater |
forensics | meta、core、infrastructure、forensics、utility、system、memory |
devices | meta、core、infrastructure、android、iphone、utility、memory |
sysadmin | meta、core、infrastructure、system、linux、utility、memory、updater |
readonly | 厳選された MCP アノテーションが readOnlyHint=true のツールすべて。グループではなく、ツールごとに判定されます |
custom | ダッシュボードでチェックを入れて指定する、明示的なグループセット |
知っておくべきルール:
- セッション単位で適用され、永続化されません。 再起動すると、必ず
fullで起動します。 プロファイルは実行時の安全策であり、アクセス制御ではありません。信頼境界となるのは パネルのトークンです。 metaは常に有効です。 そのイントロスペクションツール(sassy_tool_groups、sassy_self_check、…)は、セッションが認識できる内容を把握するための唯一の手段です。 これらを非表示にすると、セッションはゲートを調べる手段を失います。- 範囲を広げるには
confirm='YES'が必要です。 現在非表示のツールを公開する切り替えは、 すべて監査対象の権限昇格であり、明示的な確認が必要です(コントロールパネル UI が代わりに 確認を送信します。bypass モードの方式と同じです)。範囲を狭める場合は確認不要です。 tools/listで非表示のツールは、tools/callからも呼び出せません。クライアントは 認識できないツールを呼び出すことはできません。
ガイド付きセットアップ
初回起動時(~/.sassymcp/persona.md がない場合)は、ウィザードツールが目立つように表示され、登録済みのフックを通じて AI にオンボーディング手順が渡されます。会話形式で進みます。AI が質問し、あなたが回答し、AI がツールを呼び出します。
オンボーディングの手順(推奨順)
各ステップは個別に実行でき、スキップも可能です。AI に「SassyMCP をセットアップして」または「始めましょう」と伝えるだけで、次の手順に沿って進めます。
| # | ステップ | ツール | 実行内容 |
|---|---|---|---|
| 0 | ライセンス (任意) | sassy_setup_license action="status" then action="activate" key=... | サポーターのティアを報告します。すべてのツールはどのティアでも利用できます。キーを登録すると、利用者とサポーターのステータスが登録されます。 |
| 1 | ペルソナ | sassy_setup_wizard | 以下の質問を行い、~/.sassymcp/persona.md を生成して、ペルソナモジュールをホットリロードします。 |
| 2 | GitHub | sassy_setup_github action="check" → action="open_browser" → action="save_token" token=... | 既存の GITHUB_TOKEN を検証するか、github.com/settings/tokens を開いてスコープの選択を案内し、トークンを保存して再検証します。 |
| 3 | SSH / Linux | sassy_setup_ssh action="check" → action="save" host=... user=... password=... → action="test" | plink を探し、認証情報をプロセス環境に保存して、echo の往復で動作を確認します。 |
| 4 | 任意のツール | sassy_setup_check_tools | nmap、tesseract、adb、scrcpy、plink、Chrome があるかを確認し、不足しているもののインストール URL を報告します。 |
| ✓ | ステータス確認 | sassy_setup_status | 設定済みの項目、不足している項目、action_required のヒントを表示します。いつでも実行できます。 |
| ⚙️ | 認証トークン | sassy_setup_generate_token client_id="claude-desktop" | HTTP/トンネルモード用の 32 バイトの URL セーフトークンを生成し、~/.sassymcp/tokens.json に書き込みます。 |
action="skip" がサポートされている場合は、これを使ってどのステップもスキップできます。スキップしたことが設定に記録されるため、AI は再度尋ねません。
ペルソナに関する質問
sassy_setup_wizard では、以下のフィールドを指定できます。すべて任意で、デフォルト値を示しています。
| フィールド | 値/形式 | デフォルト |
|---|---|---|
role | developer | sysadmin | security | devops | data | designer | manager | other | developer |
expertise_level | junior | mid | senior | principal | staff | senior |
specializations | カンマ区切りの分野。例:"web security, cloud infra, mobile" | empty |
languages | カンマ区切り。例:"Python, Rust, TypeScript, Go" | empty |
frameworks | カンマ区切り。例:"React, FastAPI, Cloudflare Workers" | empty |
systems | 改行区切りの hostname — OS — role エントリー | empty |
projects | 改行区切りの name — status — description エントリー | empty |
communication_style | terse(コードのみ) | balanced(簡潔な説明) | verbose(詳細な理由) | terse |
security_posture | standard(OWASP) | hardened(+CSP/HSTS/レート制限) | paranoid(+エアギャップ、証明書ピンニング、ゼロトラスト) | standard |
mcp_clients | 接続する AI ツール。例:"Claude Desktop, Cursor, Grok Desktop" | empty |
notes | 自由記述。作業方法について AI に伝えておきたいその他の情報 | empty |
出力先は ~/.sassymcp/persona.md です(ペルソナモジュールは各セッションでこのファイルを読み込みます)。実行内容は ~/.sassymcp/config.json(setup_complete、setup_timestamp、setup_version)に記録されます。sassy_setup_wizard はいつでも再実行して再生成できます。新しいプロファイルはペルソナモジュールにホットリロードされます。
クライアントからフローを開始する
オンボーディングフックは、"setup"、"first time"、"get started"、"onboard"、"new user"、"set up sassymcp" などのフレーズに反応します。これらに近い表現でも、手順が AI のコンテキストに読み込まれます。手動で進める場合は、まず sassy_setup_status を呼び出して現在の状態を確認し、上の表に沿って進めてください。
スマートローディング
デフォルトでは、SassyMCP はよく使われるツールグループのみを読み込みます。これにより、ツール定義をコンテキストウィンドウの 5% 未満に抑えられます。
# Default: loads core, github_quick, persona, meta, utility, setup, infrastructure
uv run sassymcp
# Load everything (~22K tokens of context)
SASSYMCP_LOAD_ALL=1 uv run sassymcp
# Load specific groups
SASSYMCP_GROUPS=core,github_quick,android,v020 uv run sassymcp
利用可能なグループ
| グループ | モジュール | デフォルト |
|---|---|---|
core | fileops, shell, ui_automation, editor, audit, session | はい |
meta | meta | はい |
infrastructure | observability, state_manager, runtime_config | はい |
github_quick | github_quick(軽量ツール 6 個) | はい |
persona | persona | はい |
utility | utility | はい |
setup | setup_wizard, tools_manager | はい |
memory | memory | はい |
updater | updater | はい |
combos | combos(ツール 4 個) | いいえ |
prompts | prompts(スラッシュメニューのショートカット) | はい |
github_full | github_ops(ツール 80 個) | いいえ |
android | adb, phone_screen | いいえ |
system | network_audit, process_manager, security_audit, registry, bluetooth, eventlog, clipboard | いいえ |
v020 | vision, app_launcher, web_inspector, crosslink | いいえ |
linux | linux | いいえ |
インストール
普段の作業方法に合ったエントリーポイントを選んでください。どの方法を選んでも、共有ブレイン ~/.sassymcp/ に集約されます。ペルソナ、メモリ、ライセンス、監査ログは、接続されているすべての MCP クライアントから参照できます。
DXT によるワンクリックインストール(Claude Desktop)
最新リリースから sassymcp.dxt をダウンロードしてダブルクリックすると、Claude Desktop がインストールします。初回起動時に、sassymcp はマシン上のほかの MCP クライアント(Cursor、VS Code Copilot、Windsurf、Continue、Cline、Zed、Grok Desktop)をすべて自動検出し、それぞれの設定を修正します。JSON を手動編集しなくても、すべてのクライアントから SassyMCP を利用できるようになります。
VS Code 拡張機能
Visual Studio Marketplace で公開されるまでは、最新リリースに添付されている .vsix から VS Code 拡張機能をインストールしてください。この拡張機能は sassymcp.exe(PATH または sassymcp.exePath 設定)を見つけて、同じ自動設定 CLI を実行します。また、サポーターティアのラベルとブレインの状態を表示するステータスバー項目も追加します。コマンドパレット:Open Sassy Brain Cockpit、Run Setup Wizard、Reinstall Client Configs、Open Audit Log、Open _DELETE_ Folder、Show Brain Status。
手動での自動設定 CLI
ポータブル ZIP または pip インストールから sassymcp.exe をすでに入手していて、クライアントごとに JSON を編集せずに、すべての MCP クライアントに登録したい場合:
sassymcp-install
Claude Desktop、VS Code Copilot、Cursor、Windsurf、Continue、Cline、Zed、Grok Desktop を検出し、それぞれの設定をアトミックに修正します。再実行しても何も変更されません。まず sassymcp-install --dry-run で内容を確認してください。削除するには sassymcp-install --uninstall を実行します。CLI は初回の編集前に、既存の設定をタイムスタンプ付きでバックアップします。
ポータブルバンドル
ポータブル ZIP(adb、nmap、plink、scrcpy、tesseract、cloudflared、および start-*.bat ランチャーを同梱した sassymcp-v*-portable.zip)は現在公開されていません。リリースパイプラインではビルドされません。以下のスタンドアロン実行ファイルを使い、必要なヘルパーツールを PATH にインストールするか、Python のフルインストールとして pip install sassymcp を実行してください。
スタンドアロン実行ファイル(ツールの同梱なし)
同梱の nmap/adb/cloudflared が不要な場合(またはすでに PATH にある場合)は、最新リリースから sassymcp.exe(約 35 MB)のみを入手してください。任意の場所に配置し、MCP クライアントからその実行ファイルを指定してください。
**初回起動ウィザード:**新しいマシンで sassymcp.exe をダブルクリックするか、フラグなしでターミナルから実行すると、対話式メニューが表示されます。AI エージェントを自動検出して SassyMCP を登録する、LemonSqueezy のライセンスキーを有効化する、ベアラートークンを生成/一覧表示する、または HTTP サーバーを起動できます。いつでも sassymcp.exe setup を実行すると、メニューを再度開けます。ペルソナを設定した後は、引数なしでの実行時に HTTP サーバーが起動します(v1.5 の動作)。そのため、既存の設定に変更はありません。
Linux(pip のみ)
CI では Linux バイナリを公開していません。Linux では wheel をインストールしてください:pip install sassymcp。(スタンドアロン実行ファイルは Windows のみです。macOS には universal2 バイナリが含まれています。リリースページの sassymcp-macos をご覧ください。)
MSI インストーラー(手動ビルドのみ)
CI では MSI を公開していません。build-msi.ps1 は、ステージング済みの sassymcp.exe から MSI を手動ビルドするためのものです(WiX 3.x)。また、installer.wxs は手動ビルド用の参考テンプレートであり、メンテナンスされているインストーラーではありません。
サポーターライセンスの有効化(任意)
「ライセンス版のダウンロード」はなく、ロック解除が必要なものもありません。誰でも GitHub のリリース から入手できる、すべての機能が使える同じバイナリを実行できます。 開発を支援するには、sassyconsultingllc.com/store で ライセンスを購入し、有効化してご利用のシートとサポーター階層を登録してください。
# from your AI agent:
sassy_setup_license action=activate key=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
# or from a terminal — interactive menu, choose "Activate license":
sassymcp.exe setup
ライセンスを有効化すると、このマシンが LemonSqueezy インスタンス(シート)として登録されます。別のマシンで使うには、sassy_setup_license action=deactivate を実行してシートを解放してください。
ソースからのビルド
git clone https://github.com/sassyconsultingllc/SassyMCP.git
cd SassyMCP
uv sync
# Optional dependencies:
uv pip install pytesseract playwright
playwright install chromium
Cloudflare Tunnel(リモートアクセス)
リモートの MCP クライアント(Claude Web、別のマシンなど)から SassyMCP を操作したい場合、ポータブルバンドルにすぐに使えるランチャーが含まれています。手順の詳細はdocs/TUNNEL.mdをご覧ください。概要は次のとおりです。
winget install Cloudflare.cloudflared # one-time
cloudflared tunnel login # authenticate against your CF account
cloudflared tunnel create sassymcp # create a named tunnel
cloudflared tunnel route dns sassymcp mcp.<your-domain>.tld
# Write ~/.cloudflared/config.yml with the ingress block (see TUNNEL.md)
[Environment]::SetEnvironmentVariable("SASSYMCP_AUTH_TOKEN", "<your token>", "User")
[Environment]::SetEnvironmentVariable(
"SASSYMCP_ALLOWED_HOSTS",
"mcp.<your-domain>.tld,localhost,127.0.0.1", "User")
cd D:\Tools\SassyMCP # wherever you extracted
.\start-tunnel.bat sassymcp # tunnel name as arg, or set SASSYMCP_TUNNEL_NAME
start-tunnel.bat は 127.0.0.1:21001 で HTTP ブリッジを起動し、フォアグラウンドで cloudflared tunnel run <name> を実行します。スクリプトにベンダー固有の設定はありません。トンネル名とホスト名はご自身で指定してください。クライアントは Authorization: Bearer <SASSYMCP_AUTH_TOKEN> を付けて https://mcp.<your-domain>.tld/mcp にリクエストを送信します。
静的な bearer の代わりに OAuth 2.1 DCR/PKCE を必要とするホスト型 Claude クライアントでは、sassymcp-oauth/ にあるオプションの Worker をデプロイしてください。wrangler.toml.example を wrangler.toml にコピーし、ホスト名と KV id を入力してから、wrangler deploy を実行します。OAuth の詳細については docs/TUNNEL.md をご覧ください。
MCP クライアントの設定
SassyMCP は標準の MCP を使用します。接続できるクライアントならどれでも動作し、クライアント側の変更は不要です。ポータブルバンドルには、すぐに編集できるテンプレートが deploy/*_config.template.json に含まれています。お使いのクライアントに対応する行を選び、テンプレートをコピーして、REPLACE_WITH_PATH を sassymcp.exe の絶対パスに置き換え、クライアントが指定する場所に保存してください。
| クライアント | トランスポート | 設定ファイルの場所 | テンプレート |
|---|---|---|---|
| Claude Desktop | stdio | %APPDATA%\Claude\claude_desktop_config.json(Win)/~/Library/Application Support/Claude/claude_desktop_config.json(mac) | claude_desktop_config.template.json |
| Cursor | stdio | ~/.cursor/mcp.json(グローバル)または <project>/.cursor/mcp.json(プロジェクトごと) | cursor_mcp_config.template.json |
| Windsurf | stdio | ~/.codeium/windsurf/mcp_config.json | windsurf_mcp_config.template.json |
| Cline(VS Code) | stdio | VS Code の設定 → cline.mcpServers(同じ mcpServers 形式) | claude_desktop_config.template.json を使用 |
| Continue.dev | stdio | ~/.continue/config.json(experimental.modelContextProtocolServers の下に統合) | continue_mcp_config.template.json |
| Grok Desktop | HTTP | Grok Desktop の MCP 設定 | grok_desktop_config.template.json |
| その他の MCP クライアント | stdio または HTTP | クライアントの MCP 設定 | 最も近いテンプレートを使用してください。mcpServers 形式が一般的です。 |
標準の mcpServers 形式(Claude Desktop、Cursor、Windsurf、Cline)
exe を使用する場合:
{
"mcpServers": {
"sassymcp": {
"command": "C:\\path\\to\\sassymcp.exe",
"env": {
"SASSYMCP_LOAD_ALL": "1",
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}
ソースから実行する場合:
{
"mcpServers": {
"sassymcp": {
"command": "uv",
"args": ["--directory", "C:\\path\\to\\SassyMCP", "run", "sassymcp"],
"env": {
"SASSYMCP_LOAD_ALL": "1",
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}
Continue.dev の形式(異なるスキーマ)
{
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"type": "stdio",
"command": "C:\\path\\to\\sassymcp.exe"
}
}
]
}
}
HTTP/Grok Desktop/カスタム HTTP クライアント
サーバーを HTTP モード(sassymcp.exe --http、デフォルトは 127.0.0.1:21001)で実行し、クライアントの接続先を http://127.0.0.1:21001/mcp/ に設定してください。ループバック以外のアドレスにバインドする場合は、SASSYMCP_AUTH_TOKEN を設定してください。
{
"mcpServers": {
"sassymcp": {
"url": "http://127.0.0.1:21001/mcp/"
}
}
}
実際に Claude 向けなのはどこか(見た目だけ)
一部のドックストリングと、レガシーの .claude/skills/sassymcp-update.md スラッシュコマンドの対象は、Claude Code に限られています。他のクライアントはこれらを無視し、sassy_update_* ツールを直接使用します。Claude が必要なツール、トランスポート、認証経路はありません。サーバーは接続先の LLM を認識しません。
トランスポートモード
| モード | コマンド | 用途 |
|---|---|---|
| Stdio | sassymcp.exe | Claude Desktop、Cursor(直接パイプ) |
| HTTP | sassymcp.exe --http | Grok Desktop、Windsurf(localhost:21001) |
| HTTP LAN | sassymcp.exe --http --host 0.0.0.0 | 複数デバイス(認証トークンが必要) |
| HTTPS | sassymcp.exe --http --ssl | 暗号化(自己署名証明書を自動生成) |
| SSE | sassymcp.exe --http --sse | レガシートランスポート |
複数インスタンスの実行(デュアルセッション)
同じマシン上で 2 つの SassyMCP プロセスを実行すると、たとえば Claude Desktop 用のローカル stdio インスタンスと、Claude Web 用の Cloudflare Tunnel の背後にあるリモート HTTPS インスタンスが ~/.sassymcp/ を共有している場合、互いの状態を上書きすることがあります。インスタンスごとに環境変数を 1 つ設定すれば解決できます。
インスタンスごとに解決する競合
| リソース | デフォルト | 各インスタンスに個別に割り当てる方法 |
|---|---|---|
| HTTP ポート | 21001 | --port 21002(HTTP モードのインスタンスのみ) |
| クロスリンク HTTP ポート | 9377 | sassy_crosslink_register port=9378 |
| 認証トークン | env SASSYMCP_AUTH_TOKEN | ランチャーの env でプロセスごとに設定 |
| ユーザーごとの状態ディレクトリ | ~/.sassymcp | SASSYMCP_HOME=/path/to/dir ← 新しい環境変数(v1.3.4 以降) |
| SSL 証明書/キー | $SASSYMCP_HOME/server.{crt,key} | SASSYMCP_HOME が設定されている場合は自動的に分離。それ以外の場合は --ssl-cert / --ssl-key |
例:ローカル stdio とリモートトンネルを並行稼働
インスタンス A — Claude Desktop 用のローカル stdio(claude_desktop_config.json):
{
"mcpServers": {
"sassymcp-local": {
"command": "C:\\Tools\\SassyMCP\\sassymcp.exe",
"env": {
"SASSYMCP_LOAD_ALL": "1",
"SASSYMCP_HOME": "C:\\Users\\<you>\\.sassymcp-local"
}
}
}
}
インスタンス B — Cloudflare Tunnel 経由のリモート HTTPS(start-tunnel.bat と環境変数を設定するラッパー):
set SASSYMCP_HOME=C:\Users\<you>\.sassymcp-remote
set SASSYMCP_AUTH_TOKEN=<token-for-remote>
set PORT=21002
"%~dp0sassymcp.exe" --http --host 127.0.0.1 --port %PORT%
その後、cloudflared tunnel run <name> で https://<your-tunnel>/mcp を 127.0.0.1:21002 に転送します。
SASSYMCP_HOME が異なる場合に分離されるもの
各インスタンスは次のものを個別に持ちます。
persona.md— セッションごとに異なるプロファイルconfig.json— 異なるランタイム設定(許可ディレクトリ、ブロックするコマンドなど)tokens.json— 異なるスコープの認証トークンlicense.json— 個別のライセンス認証audit.log/audit.jsonl— 書き込みが混在しない監査ログcrosslink.db— セッション間メッセージキューを個別に管理memory.db— 永続メモリを個別に管理tool_state.db/tool_usage.json— ツールごとの状態と使用状況分析を個別に管理server.crt/server.key— 個別の自己署名証明書_securityの保護パスチェックもSASSYMCP_HOMEを考慮します。どちらのインスタンスも、もう一方のホームディレクトリ内でsassy_safe_deleteを実行できません
インスタンス間で共有されるもの
- リポジトリのソースツリー(常に
_securityによって削除や上書きから保護されます) %LOCALAPPDATA%\SassyMCP\updates\— アップデーターのダウンロードステージ(無害です。配下のファイルはバージョンでタグ付けされます)- ポータブル ZIP に含まれるツール(
adb、nmap、cloudflaredなど)。両方のインスタンスから読み取り専用で使用されます
OS に登録して両方を起動時に実行する
レガシーの personal/autostart-bridge.bat と personal/register-autostart.ps1 のテンプレートは gitignore 対象です。コピーしてパスと各インスタンスの SASSYMCP_HOME を調整し、インスタンスごとに 1 回 Register-ScheduledTask を実行します。
環境変数
| 変数 | 用途 |
|---|---|
SASSYMCP_LOAD_ALL=1 | すべてのツールグループを読み込みます |
SASSYMCP_GROUPS=core,android | 指定したグループを読み込みます |
SASSYMCP_AUTH_TOKEN=xxx | HTTP 認証用のベアラートークン |
SASSYMCP_DEV=1 | ライブリロードを有効にします(開発モード) |
SASSYMCP_NO_UPDATE_CHECK=1 | 起動時のアップデート確認を無効にします(GitHub API を呼び出しません) |
SASSYMCP_HOME=/path/to/dir | ユーザーごとの状態ディレクトリを上書きします(デフォルトは ~/.sassymcp)。1 台のマシンで複数のインスタンスを実行する場合に必要です。 |
SASSYMCP_REPO=/path/to/repo | tools/mercury_audit_sassymcp.py で自動検出されるリポジトリルートを上書きします(開発ツールのみ) |
GITHUB_TOKEN=xxx | GitHub API へのアクセス |
SSH_HOST=xxx | リモート Linux のホスト名/IP アドレス |
SSH_USER=xxx | リモート Linux のユーザー名 |
SSH_PASS=xxx | リモート Linux のパスワード |
外部ツール
すべて ベータ版 zip パッケージに同梱されています。スタンドアロン exe を使用する場合のみ、個別にインストールしてください。
| ツール | 使用元 | 同梱 | インストール(必要な場合) |
|---|---|---|---|
| ADB | すべての sassy_adb_* + sassy_phone_* ツール | はい | Android Platform Tools |
| nmap | sassy_port_scan | はい | nmap.org |
| plink | sassy_linux_exec | はい | PuTTY |
| scrcpy | sassy_scrcpy_* ツール | はい | scrcpy リリース |
| Tesseract | sassy_screen_ocr、sassy_find_text_on_screen | はい | tesseract-ocr |
| Chrome | sassy_url_screenshot | いいえ | google.com/chrome |
sassy_setup_check_tools を実行して、すべてのツールが検出されることを確認してください。
要件
- Windows 10/11、macOS 12 以降、または Linux — 1 つのソースをホスト側で振り分けます
(
sassymcp._platformがホストに応じたコマンドを選択します)。詳しくは以下の クロスプラットフォームを参照してください。 - Python 3.11 以降(ソースから実行する場合のみ。スタンドアロンバイナリは自己完結型です。PyInstaller はクロスコンパイルできないため、OS ごとにビルドされます)
クロスプラットフォーム
同じ SassyMCP ソースを Windows、macOS、Linux で実行できます。ホスト OS はインポート時に一度だけ判定され、各ツールはホストに適したコマンド(シェル(PowerShell / zsh|bash)、クリップボード(Get-Clipboard / pbpaste)、イベントログ(Get-WinEvent / log show / journald)、ファイアウォール(netsh / socketfilterfw / ufw)、Wi-Fi、Bluetooth、ウィンドウ制御(pywinauto / AppleScript System Events / wmctrl)、SSH(plink / ネイティブの ssh)、パッケージのインストール(winget / brew / apt)など)に振り分けられます。
- ビルド:
build.bat(Windows)またはbuild.sh(macOS/Linux)。バイナリは各 OS 上で個別にビルドしてください。 - macOS のアクセス許可: ウィンドウ制御ツールとスクリーンショットツールには、SassyMCP を実行するアプリに対するアクセシビリティと画面収録のアクセス許可が必要です(システム設定 → プライバシーとセキュリティ)。
- 一部の機能は本質的に Windows 専用です(レジストリの読み取り/書き込み/エクスポート)。これらは明確なメッセージを表示し、ネイティブの同等機能(
defaults、launchd)を案内します。フォレンジック目的の永続化(sassy_autorun_entries)はクロスプラットフォームに対応しています(Run キー / LaunchAgents / systemd+cron)。
ライセンス
独占的所有権 — Copyright (c) 2026 Sassy Consulting LLC. All rights reserved.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。