github Python analyzed 4bb5fe8

sassyconsultingllc/SassyMCP

github

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.

maintainer
sassyconsultingllc
license
NOASSERTION
first seen
2026-06-18
last seen
2026-07-30
releases · 30d
5
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged dynamic code execution ×3 in sassyconsultingllc/SassyMCP
  2. HIGH code analysis flagged dynamic code execution ×3 in sassyconsultingllc/SassyMCP
  3. HIGH code analysis flagged dynamic code execution ×3 in sassyconsultingllc/SassyMCP
  4. HIGH code analysis flagged dynamic code execution ×3 in sassyconsultingllc/SassyMCP
  5. HIGH code analysis flagged dynamic code execution ×4 in sassyconsultingllc/SassyMCP
  6. HIGH code analysis flagged dynamic code execution ×4 in sassyconsultingllc/SassyMCP
capabilities 268 tools
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
skills & danger signals github-tarball
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

code evidence vv1.14.2 · github-tarball
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"],