One MCP server, 270 tools, replaces 75+ — files, shell, GitHub, Android, desktop vision, security & forensics, persistent memory. Smart context-saving tool loading, safe-delete guardrails, and an orphan-proof self-healing process supervisor. Works with Claude Desktop, Cursor, Windsurf, and any MCP client.
Drift inferred · capture-to-capture
- HIGH code analysis flagged dynamic code execution ×3 in sassyconsultingllc/SassyMCP
- HIGH code analysis flagged dynamic code execution ×3 in sassyconsultingllc/SassyMCP
- HIGH code analysis flagged dynamic code execution ×3 in sassyconsultingllc/SassyMCP
- HIGH code analysis flagged dynamic code execution ×3 in sassyconsultingllc/SassyMCP
- HIGH code analysis flagged dynamic code execution ×4 in sassyconsultingllc/SassyMCP
- HIGH code analysis flagged dynamic code execution ×4 in sassyconsultingllc/SassyMCP
transport stdio · streamable-http · http · sse counts 268 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
sassy_adb_app_info
-
sassy_adb_devices
-
sassy_adb_install
-
sassy_adb_logcat
-
sassy_adb_packages
-
sassy_adb_pull
-
sassy_adb_push
-
sassy_adb_screencap
-
sassy_adb_shell
-
sassy_adb_wifi_connect
-
sassy_android_logcat
-
sassy_android_processes
-
sassy_apk_info
-
sassy_arp_table
-
sassy_audit_clear
-
sassy_audit_false_positives
-
sassy_audit_log
-
sassy_audit_search
-
sassy_autorun_entries
-
sassy_bt_android
-
sassy_bt_devices
-
sassy_bt_scan
-
sassy_cert_check
-
sassy_click
-
sassy_clipboard_from_android
-
sassy_clipboard_get
-
sassy_clipboard_set
-
sassy_clipboard_to_android
-
sassy_close_window
-
sassy_combo_codebase_grep
-
sassy_combo_phone_observe
-
sassy_combo_pr_review
-
sassy_context_estimate
-
sassy_coordination_board
-
sassy_copy
-
sassy_crosslink_broadcast
-
sassy_crosslink_recv
-
sassy_crosslink_register
-
sassy_crosslink_send
-
sassy_crosslink_start
-
sassy_crosslink_status
-
sassy_crosslink_stop
-
sassy_defender_status
-
sassy_desktop_state
-
sassy_diff
-
sassy_dns_lookup
-
sassy_edit_block
-
sassy_edit_multi
-
sassy_env_get
-
sassy_env_list
-
sassy_env_set
-
sassy_eventlog
-
sassy_eventlog_search
-
sassy_file_info
-
sassy_file_permissions
-
sassy_find_text_on_screen
-
sassy_firewall_status
-
sassy_focus_window
-
sassy_get_config
-
sassy_gh_add_issue_comment
-
sassy_gh_create_branch
-
sassy_gh_create_file
-
sassy_gh_create_gist
-
sassy_gh_create_issue
-
sassy_gh_create_label
-
sassy_gh_create_pr
-
sassy_gh_create_pr_review
-
sassy_gh_create_repo
-
sassy_gh_delete_file
-
sassy_gh_fork_repo
-
sassy_gh_get_advisory
-
sassy_gh_get_branch_protection
-
sassy_gh_get_code_scanning
-
sassy_gh_get_commit
-
sassy_gh_get_dependabot
-
sassy_gh_get_discussion
-
sassy_gh_get_file_contents
-
sassy_gh_get_gist
-
sassy_gh_get_issue
-
sassy_gh_get_job_logs
-
sassy_gh_get_label
-
sassy_gh_get_latest_release
-
sassy_gh_get_me
-
sassy_gh_get_notification
-
sassy_gh_get_pr
-
sassy_gh_get_project
-
sassy_gh_get_release_by_tag
-
sassy_gh_get_run
-
sassy_gh_get_secret_scanning
-
sassy_gh_get_tag
-
sassy_gh_get_team_members
-
sassy_gh_get_teams
-
sassy_gh_get_tree
-
sassy_gh_list_branches
-
sassy_gh_list_code_scanning
-
sassy_gh_list_commits
-
sassy_gh_list_dependabot
-
sassy_gh_list_discussion_categories
-
sassy_gh_list_discussions
-
sassy_gh_list_gists
-
sassy_gh_list_global_advisories
-
sassy_gh_list_issues
-
sassy_gh_list_labels
-
sassy_gh_list_notifications
-
sassy_gh_list_projects
-
sassy_gh_list_prs
-
sassy_gh_list_releases
-
sassy_gh_list_repo_advisories
-
sassy_gh_list_runs
-
sassy_gh_list_secret_scanning
-
sassy_gh_list_starred
-
sassy_gh_list_tags
-
sassy_gh_mark_all_read
-
sassy_gh_mark_notification_read
-
sassy_gh_merge_pr
-
sassy_gh_notification_sub
-
sassy_gh_pr_files
-
sassy_gh_pr_review_comments
-
sassy_gh_pr_reviews
-
sassy_gh_pr_status
-
sassy_gh_protect_branch
-
sassy_gh_push_files
-
sassy_gh_remove_branch_protection
-
sassy_gh_repo_notification_sub
-
sassy_gh_search_code
-
sassy_gh_search_issues
-
sassy_gh_search_orgs
-
sassy_gh_search_repos
-
sassy_gh_search_users
-
sassy_gh_star_repo
-
sassy_gh_trigger_workflow
-
sassy_gh_unstar_repo
-
sassy_gh_update_file
-
sassy_gh_update_gist
-
sassy_gh_update_issue
-
sassy_gh_update_label
-
sassy_gh_update_pr
-
sassy_gh_update_pr_branch
-
sassy_gh_update_repo
-
sassy_ghq_get
-
sassy_ghq_issue
-
sassy_ghq_issues
-
sassy_ghq_pr
-
sassy_ghq_protect
-
sassy_ghq_push
-
sassy_hash_file
-
sassy_hooks_activate
-
sassy_hooks_deactivate
-
sassy_hooks_list
-
sassy_hooks_suggest
-
sassy_hotkey
-
sassy_http
-
sassy_http_ping
-
sassy_kill_all_sassymcp
-
sassy_kill_process
-
sassy_launch_app
-
sassy_launch_exe
-
sassy_linux_exec
-
sassy_list_dir
-
sassy_list_windows
-
sassy_memory_context
-
sassy_memory_forget
-
sassy_memory_handoff
-
sassy_memory_log
-
sassy_memory_milestones
-
sassy_memory_recall
-
sassy_memory_remember
-
sassy_memory_search
-
sassy_memory_stats
-
sassy_minify_test
-
sassy_mkdir
-
sassy_move
-
sassy_netstat
-
sassy_observability_health
-
sassy_observability_metrics
-
sassy_observability_tool_stats
-
sassy_open_ports
-
sassy_panel
-
sassy_peer_announce
-
sassy_peer_delegate
-
sassy_peer_list
-
sassy_permission
-
sassy_persona_capabilities
-
sassy_persona_context
-
sassy_persona_decisions
-
sassy_persona_full
-
sassy_persona_observability
-
sassy_persona_practices
-
sassy_persona_style
-
sassy_phone_glance
-
sassy_phone_key
-
sassy_phone_open
-
sassy_phone_pause
-
sassy_phone_resume
-
sassy_phone_state
-
sassy_phone_swipe
-
sassy_phone_tap
-
sassy_phone_type
-
sassy_phone_ui
-
sassy_phone_watch
-
sassy_port_scan
-
sassy_processes
-
sassy_read_file
-
sassy_read_multiple
-
sassy_recent_tool_calls
-
sassy_reg_export
-
sassy_reg_read
-
sassy_reg_write
-
sassy_resize_window
-
sassy_safe_delete
-
sassy_scrcpy_record
-
sassy_scrcpy_start
-
sassy_scrcpy_stop
-
sassy_screen_capture
-
sassy_screen_diff
-
sassy_screen_glance
-
sassy_screen_info
-
sassy_screen_ocr
-
sassy_screen_region
-
sassy_screen_watch
-
sassy_screenshot
-
sassy_search_files
-
sassy_self_check
-
sassy_session_list
-
sassy_session_read
-
sassy_session_send
-
sassy_session_start
-
sassy_session_stop
-
sassy_session_stop_all
-
sassy_set_config
-
sassy_setup_check_tools
-
sassy_setup_generate_token
-
sassy_setup_github
-
sassy_setup_license
-
sassy_setup_ssh
-
sassy_setup_status
-
sassy_setup_tools
-
sassy_setup_wizard
-
sassy_shell
-
sassy_shell_confirm
-
sassy_snap_window
-
sassy_state_clear
-
sassy_state_get
-
sassy_state_set
-
sassy_system_info
-
sassy_tar
-
sassy_toast
-
sassy_tool_catalog
-
sassy_tool_group_toggle
-
sassy_tool_groups
-
sassy_tool_usage
-
sassy_traceroute
-
sassy_type_text
-
sassy_untar
-
sassy_unzip
-
sassy_update_apply
-
sassy_update_changelog
-
sassy_update_check
-
sassy_update_list
-
sassy_url_headers
-
sassy_url_links
-
sassy_url_performance
-
sassy_url_screenshot
-
sassy_url_tech_stack
-
sassy_wifi_networks
-
sassy_wifi_profile
-
sassy_write_file
-
sassy_zip
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 4bb5fe8 · analyzer v28 · 2d ago
danger signals3
- dynamic code execution __import__() sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/setup_wizard.py :836
__import__(pkg) - dynamic code execution __import__() sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/server.py :286
return __import__(f"sassymcp.modules.{name}", fromlist=[name]) - dynamic code execution __import__() sassyconsultingllc-SassyMCP-4bb5fe8/tools/verify_audit_fixes.py :485
__import__(m)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 118
filesystem 44
- fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/_atomic.py :33
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/_audit_io.py :8
with path.open("a", encoding="utf-8") as f: - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/_brain_status.py :33
with open(AUDIT_LOG, "rb") as f: - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/_cli_wizard.py :25
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/_db.py :24
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/_paths.py :23
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/_phone_status.py :11
import shutil - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/_platform.py :41
import shutil - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/auth.py :36
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/control_panel.py :35
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/desktop/app.py :5
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/desktop/bridge.py :10
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/install.py :33
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/license.py :29
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/_security.py :23
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/_tool_loader.py :35
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/adb.py :15
import shutil - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/app_launcher.py :466
from pathlib import Path as P - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/combos.py :26
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/coordination.py :371
with f.open("rb") as fh: - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/crosslink.py :30
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/editor.py :16
import shutil - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/fileops.py :12
import shutil - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/linux.py :29
import shutil - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/network_audit.py :8
import shutil - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/phone_screen.py :18
import shutil - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/registry.py :17
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/runtime_config.py :17
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/security_audit.py :9
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/setup_wizard.py :20
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/shell.py :38
import shutil - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/state_manager.py :14
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/tools_manager.py :13
import shutil - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/ui_automation.py :229
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/updater.py :30
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/utility.py :14
import shutil - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/vision.py :19
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/web_inspector.py :16
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/overlay/mesh.py :10
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/policy.py :44
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/server.py :32
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/supervisor.py :43
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/tools/mercury_audit_sassymcp.py :15
from pathlib import Path - fs sassyconsultingllc-SassyMCP-4bb5fe8/tools/verify_audit_fixes.py :17
import shutil
shell / exec 11
- shell sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/_jobctl.py :40
import subprocess - shell sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/_phone_status.py :12
import subprocess - shell sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/_platform.py :30
`asyncio.create_subprocess_exec(*argv)` / `subprocess.run(argv)`, which - shell sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/auth.py :100
import subprocess - shell sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/desktop/bridge.py :8
import subprocess - shell sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/app_launcher.py :23
import subprocess - shell sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/linux.py :75
import subprocess - shell sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/web_inspector.py :14
import subprocess - shell sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/overlay/mesh.py :8
import subprocess - shell sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/server.py :869
import subprocess - shell sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/supervisor.py :38
import subprocess
network 15
- net sassyconsultingllc-SassyMCP-4bb5fe8/hermes_node.py :31
import urllib.error - net sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/_lemonsqueezy.py :36
import socket - net sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/control_panel.py :36
from urllib.parse import urlparse, parse_qs - net sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/license.py :502
import httpx - net sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/_github_client.py :24
import httpx - net sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/_security.py :21
import socket - net sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/crosslink.py :31
from urllib.parse import urlparse, parse_qs - net sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/security_audit.py :148
import socket - net sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/setup_wizard.py :467
import httpx - net sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/updater.py :28
import urllib.request - net sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/utility.py :391
import httpx - net sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/web_inspector.py :116
import httpx - net sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/supervisor.py :124
import httpx - net sassyconsultingllc-SassyMCP-4bb5fe8/tools/lemonsqueezy_setup.py :38
import httpx - net sassyconsultingllc-SassyMCP-4bb5fe8/tools/mercury_audit_sassymcp.py :13
import urllib.error
secrets 12
- secrets sassyconsultingllc-SassyMCP-4bb5fe8/hermes_node.py :170
key = os.environ.get("LLM_API_KEY") or os.environ.get("OPENROUTER_API_KEY") - secrets sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/auth.py :185
self._static_token: Optional[str] = os.environ.get("SASSYMCP_AUTH_TOKEN") - secrets sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/control_panel.py :58
if os.environ.get("SASSYMCP_PANEL_TOKEN"): - secrets sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/license.py :51
if os.environ.get("SASSYMCP_LICENSE_SECRET"): - secrets sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/_github_client.py :46
token = os.environ.get("GITHUB_TOKEN") or os.environ.get("GITHUB_PERSONAL_ACCESS_TOKEN") - secrets sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/crosslink.py :243
_auth_token = token or os.environ.get("SASSYMCP_CROSSLINK_TOKEN", "") or None - secrets sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/linux.py :52
return os.environ.get("SSH_KEY", "") - secrets sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/setup_wizard.py :354
auth_token_env = bool(os.environ.get("SASSYMCP_AUTH_TOKEN")) - secrets sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/server.py :140
env_token = os.environ.get("SASSYMCP_AUTH_TOKEN") - secrets sassyconsultingllc-SassyMCP-4bb5fe8/tools/lemonsqueezy_setup.py :45
key = os.environ.get("LEMONSQUEEZY_API_KEY", "").strip() - secrets sassyconsultingllc-SassyMCP-4bb5fe8/tools/mercury_audit_sassymcp.py :19
KEY = os.environ["INCEPTION_API_KEY"] - secrets sassyconsultingllc-SassyMCP-4bb5fe8/tools/verify_audit_fixes.py :125
os.environ["SSH_KEY"] = r"C:\nonexistent\key.ppk"
database 6
- db sassyconsultingllc-SassyMCP-4bb5fe8/hermes_node.py :25
import sqlite3 - db sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/_db.py :23
import sqlite3 - db sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/coordination.py :26
import sqlite3 - db sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/crosslink.py :25
import sqlite3 - db sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/memory.py :25
import sqlite3 - db sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/state_manager.py :12
import sqlite3
tool registrations 200
- sassy_adb_devices sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/adb.py :66
- sassy_adb_shell sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/adb.py :71
- sassy_adb_packages sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/adb.py :96
- sassy_adb_pull sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/adb.py :108
- sassy_adb_push sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/adb.py :117
- sassy_adb_install sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/adb.py :126
- sassy_adb_logcat sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/adb.py :135
- sassy_adb_screencap sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/adb.py :150
- sassy_adb_app_info sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/adb.py :166
- sassy_adb_wifi_connect sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/adb.py :206
- sassy_launch_app sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/app_launcher.py :443
- sassy_launch_exe sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/app_launcher.py :458
- sassy_focus_window sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/app_launcher.py :503
- sassy_close_window sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/app_launcher.py :515
- sassy_resize_window sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/app_launcher.py :527
- sassy_snap_window sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/app_launcher.py :554
- sassy_audit_log sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/audit.py :261
- sassy_audit_search sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/audit.py :275
- sassy_audit_false_positives sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/audit.py :291
- sassy_audit_clear sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/audit.py :337
- sassy_bt_devices sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/bluetooth.py :27
- sassy_bt_scan sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/bluetooth.py :41
- sassy_bt_android sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/bluetooth.py :55
- sassy_clipboard_get sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/clipboard.py :60
- sassy_clipboard_set sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/clipboard.py :72
- sassy_clipboard_to_android sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/clipboard.py :85
- sassy_clipboard_from_android sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/clipboard.py :118
- sassy_combo_pr_review sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/combos.py :96
- sassy_combo_phone_observe sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/combos.py :174
- sassy_combo_codebase_grep sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/combos.py :233
- sassy_peer_announce sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/coordination.py :494
- sassy_peer_list sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/coordination.py :516
- sassy_peer_delegate sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/coordination.py :529
- sassy_coordination_board sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/coordination.py :550
- sassy_crosslink_start sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/crosslink.py :229
- sassy_crosslink_stop sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/crosslink.py :277
- sassy_crosslink_send sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/crosslink.py :285
- sassy_crosslink_recv sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/crosslink.py :297
- sassy_crosslink_status sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/crosslink.py :303
- sassy_crosslink_register sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/crosslink.py :313
- sassy_crosslink_broadcast sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/crosslink.py :319
- sassy_edit_block sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/editor.py :130
- sassy_edit_multi sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/editor.py :204
- sassy_eventlog sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/eventlog.py :108
- sassy_eventlog_search sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/eventlog.py :126
- sassy_android_logcat sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/eventlog.py :141
- sassy_safe_delete sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/fileops.py :79
- sassy_read_file sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/fileops.py :126
- sassy_read_multiple sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/fileops.py :162
- sassy_write_file sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/fileops.py :187
- sassy_list_dir sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/fileops.py :278
- sassy_search_files sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/fileops.py :325
- sassy_move sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/fileops.py :384
- sassy_copy sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/fileops.py :421
- sassy_file_info sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/fileops.py :462
- sassy_mkdir sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/fileops.py :515
- sassy_gh_get_me sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :124
- sassy_gh_get_teams sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :133
- sassy_gh_get_team_members sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :142
- sassy_gh_search_repos sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :155
- sassy_gh_get_file_contents sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :164
- sassy_gh_create_file sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :183
- sassy_gh_update_file sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :194
- sassy_gh_delete_file sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :209
- sassy_gh_push_files sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :223
- sassy_gh_create_repo sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :236
- sassy_gh_fork_repo sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :247
- sassy_gh_update_repo sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :257
- sassy_gh_get_commit sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :267
- sassy_gh_list_commits sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :276
- sassy_gh_list_branches sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :288
- sassy_gh_create_branch sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :297
- sassy_gh_list_tags sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :313
- sassy_gh_get_tag sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :322
- sassy_gh_list_releases sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :333
- sassy_gh_get_latest_release sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :342
- sassy_gh_get_release_by_tag sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :351
- sassy_gh_list_starred sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :360
- sassy_gh_star_repo sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :370
- sassy_gh_unstar_repo sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :379
- sassy_gh_get_tree sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :388
- sassy_gh_get_issue sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :402
- sassy_gh_list_issues sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :411
- sassy_gh_create_issue sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :422
- sassy_gh_update_issue sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :435
- sassy_gh_add_issue_comment sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :450
- sassy_gh_search_issues sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :459
- sassy_gh_get_pr sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :474
- sassy_gh_list_prs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :483
- sassy_gh_create_pr sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :495
- sassy_gh_update_pr sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :504
- sassy_gh_merge_pr sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :518
- sassy_gh_pr_files sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :530
- sassy_gh_pr_reviews sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :539
- sassy_gh_pr_review_comments sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :548
- sassy_gh_create_pr_review sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :557
- sassy_gh_update_pr_branch sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :569
- sassy_gh_pr_status sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :578
- sassy_gh_search_code sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :593
- sassy_gh_search_users sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :602
- sassy_gh_search_orgs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :613
- sassy_gh_list_code_scanning sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :626
- sassy_gh_get_code_scanning sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :635
- sassy_gh_list_secret_scanning sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :644
- sassy_gh_get_secret_scanning sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :653
- sassy_gh_list_dependabot sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :662
- sassy_gh_get_dependabot sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :671
- sassy_gh_list_notifications sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :684
- sassy_gh_get_notification sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :695
- sassy_gh_mark_notification_read sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :704
- sassy_gh_mark_all_read sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :713
- sassy_gh_notification_sub sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :722
- sassy_gh_repo_notification_sub sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :731
- sassy_gh_list_discussions sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :744
- sassy_gh_get_discussion sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :755
- sassy_gh_list_discussion_categories sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :766
- sassy_gh_list_runs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :781
- sassy_gh_get_run sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :793
- sassy_gh_trigger_workflow sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :802
- sassy_gh_get_job_logs sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :815
- sassy_gh_list_global_advisories sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :828
- sassy_gh_get_advisory sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :840
- sassy_gh_list_repo_advisories sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :849
- sassy_gh_list_gists sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :864
- sassy_gh_get_gist sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :874
- sassy_gh_create_gist sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :883
- sassy_gh_update_gist sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :895
- sassy_gh_list_labels sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :911
- sassy_gh_get_label sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :920
- sassy_gh_create_label sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :929
- sassy_gh_update_label sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :941
- sassy_gh_list_projects sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :958
- sassy_gh_get_project sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :970
- sassy_gh_protect_branch sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :986
- sassy_gh_get_branch_protection sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :1000
- sassy_gh_remove_branch_protection sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_ops.py :1009
- sassy_ghq_push sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_quick.py :43
- sassy_ghq_get sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_quick.py :61
- sassy_ghq_issue sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_quick.py :78
- sassy_ghq_issues sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_quick.py :94
- sassy_ghq_pr sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_quick.py :106
- sassy_ghq_protect sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/github_quick.py :120
- sassy_linux_exec sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/linux.py :270
- sassy_memory_remember sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/memory.py :281
- sassy_memory_recall sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/memory.py :302
- sassy_memory_search sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/memory.py :310
- sassy_memory_forget sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/memory.py :329
- sassy_memory_context sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/memory.py :336
- sassy_memory_log sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/memory.py :349
- sassy_memory_milestones sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/memory.py :361
- sassy_memory_handoff sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/memory.py :367
- sassy_memory_stats sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/memory.py :426
- sassy_context_estimate sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/meta.py :45
- sassy_tool_usage sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/meta.py :89
- sassy_tool_groups sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/meta.py :105
- sassy_self_check sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/meta.py :115
- sassy_tool_catalog sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/meta.py :227
- sassy_tool_group_toggle sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/meta.py :264
- sassy_minify_test sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/meta.py :301
- sassy_hooks_list sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/meta.py :332
- sassy_hooks_activate sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/meta.py :348
- sassy_hooks_deactivate sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/meta.py :377
- sassy_hooks_suggest sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/meta.py :391
- sassy_netstat sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/network_audit.py :147
- sassy_arp_table sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/network_audit.py :161
- sassy_wifi_networks sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/network_audit.py :166
- sassy_port_scan sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/network_audit.py :178
- sassy_dns_lookup sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/network_audit.py :188
- sassy_traceroute sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/network_audit.py :194
- sassy_wifi_profile sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/network_audit.py :204
- sassy_observability_metrics sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/observability.py :76
- sassy_observability_health sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/observability.py :81
- sassy_observability_tool_stats sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/observability.py :86
- sassy_persona_style sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/persona.py :359
- sassy_persona_decisions sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/persona.py :365
- sassy_persona_practices sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/persona.py :371
- sassy_persona_observability sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/persona.py :377
- sassy_persona_context sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/persona.py :383
- sassy_persona_capabilities sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/persona.py :389
- sassy_persona_full sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/persona.py :396
- sassy_phone_ui sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/phone_screen.py :277
- sassy_phone_state sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/phone_screen.py :301
- sassy_phone_glance sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/phone_screen.py :369
- sassy_phone_watch sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/phone_screen.py :415
- sassy_phone_pause sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/phone_screen.py :554
- sassy_phone_resume sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/phone_screen.py :576
- sassy_phone_tap sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/phone_screen.py :611
- sassy_phone_swipe sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/phone_screen.py :634
- sassy_phone_type sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/phone_screen.py :664
- sassy_phone_key sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/phone_screen.py :690
- sassy_phone_open sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/phone_screen.py :702
- sassy_scrcpy_start sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/phone_screen.py :712
- sassy_scrcpy_stop sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/phone_screen.py :733
- sassy_scrcpy_record sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/phone_screen.py :762
- sassy_processes sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/process_manager.py :21
- sassy_kill_process sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/process_manager.py :42
- sassy_android_processes sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/process_manager.py :57
- sassy_system_info sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/process_manager.py :82
- sassy_kill_all_sassymcp sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/process_manager.py :103
- sassy_reg_read sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/modules/registry.py :125
declared dependencies 18
- mcp@>=1.0.0,<2.0.0
- psutil@>=5.9.0
- pyautogui@>=0.9.54
- pillow@>=10.0.0
- uvicorn@>=0.30.0
- cryptography@>=42.0.0
- httpx@>=0.27.0
- pywinauto@>=0.6.8; sys_platform ==
- darwin@*
- pytest@*
- ruff@*
- mypy@*
- watchdog@>=3.0.0
- pytesseract@>=0.3.10
- playwright@>=1.40.0
- pystray@>=0.19.0
- keyboard@>=0.13.5
- pywebview@>=5.0
clipboard 1
- clipboard shell call sassyconsultingllc-SassyMCP-4bb5fe8/sassymcp/_platform.py :227
macos=["pbpaste"],