SassyMCP
一个MCP服务器来替换它们。
257个工具| 31个模块|替换75+MCP服务器| 34MB独立exe
与Claude Desktop、Grok Desktop、Cursor、Windsurf和任何MCP客户端兼容。
官方GitHub MCP服务器 关键SHA处理错误. SassyMCP的GitHub模块使用正确的blob SHA查找、正确的路径编码、通过Git Data API的原子多文件提交、具有指数退避的重试逻辑和速率限制感知。这是一个真正有效的替代品。
为什么选择SassyMCP?
MCP生态系统是分散的。需要文件操作?安装文件系统服务器。需要终端?桌面指挥官。github?另一台服务器。安卓?另一个。截图?另一个。您最终会得到6-10个单独的MCP服务器,每个服务器都使用上下文窗口,每个服务器有自己的配置、错误和更新周期。
主要差异化因素:
- 智能工具加载 --仅加载您使用的工具组。默认情况下,将上下文窗口开销从约25K令牌减少到约5K令牌。
- 动态视觉 --实时屏幕监控,支持桌面和安卓系统的变化检测。不再截图和祈祷。
- Android交互 --通过UI可访问性树进行全面的手机控制:点击、滑动、键入,并自动检测敏感上下文(身份验证/支付屏幕自动阻止)。
- 暂停/恢复 --用户接管手机进行手动步骤(登录、2FA、帐户选择),人工智能观察和学习,然后自主恢复。
- 使用跟踪 --使用指数衰减对工具调用进行ML lite评分。您最常用的工具会先加载。
- 上下文估计 --内置工具,用于测量20万个上下文窗口工具定义的消耗量。
- 响应最小化 -GitHub API响应中去掉了URL元数据膨胀(小40-70%)。
- 安全删除 --删除命令(
rm,del,Remove-Item等)在所有炮弹上被拦截。目标被移动到_DELETE_/将暂存文件夹放在同一目录中供人类审查——防止人工智能幻觉。 - 自我修改 --热重新加载模块而不重新启动,git支持语法错误回滚。
- 引导式设置 --向导遍历角色、GitHub令牌、SSH凭据和可选工具发现。
它取代了什么
| 域名 | SassyMCP模块 | 替换 | 首选方案 |
|---|---|---|---|
| 文件操作 | FileOps,编辑器 | 11个文件系统/编辑器MCP服务器 | 文件系统 (人类学官员) |
| 外壳/终端 | 外壳,会话 | 5个外壳MCP服务器 | 桌面指挥官 (5.9k颗星) |
| 桌面自动化 | UIAutomation,Vision | 9台桌面MCP服务器 | Windows MCP (5千颗星) |
| GitHub/Git | GitHub快速,GitHub完整 | 5个GitHub/Git MCP服务器 | (28.6万颗星) |
| 安卓/手机 | ADB,PhoneScreen | 9台移动MCP服务器 | 移动mcp (4.4k颗星) |
| 网络扫描 | 网络审计 | 8 nmap/安全MCP服务器 | mcp安全 (601颗星) |
| 安全审计 | 安全审计 | 8台安全MCP服务器 | mcp安全中心 (509颗星) |
| SSH/远程Linux | Linux | 7台SSH MCP服务器 | ssh-mcp (365颗星) |
| 内存/状态 | 内存,状态管理器 | 7个内存MCP服务器 | mcp存储器服务 (1.6k颗星) |
| OCR/屏幕阅读 | 视觉 | 7个OCR/视觉MCP服务器 | PaddleOCR MCP |
| Web检查 | WebInspector,实用程序 | 7个Web/获取MCP服务器 | 获取 (人类学官员) |
| Windows系统 | 注册表、ProcessManager、剪贴板、事件日志、蓝牙 | 13个Windows MCP服务器 | Windows MCP (5千颗星) |
| 热重新加载 | SelfMod | 3重新加载MCP服务器 | mcp装弹机 |
加上没有MCP服务器等效功能: 具有敏感上下文检测(登录/支付屏幕上的自动阻止)、操作挂钩(14个专家剧本)、安全删除拦截、Windows自动运行取证、Android+Windows剪贴板同步、使用加权智能加载的手机暂停/恢复。
模块
| 模块 | 工具 | 组 | 描述 |
|---|---|---|---|
| 元 | 5 | meta | 上下文估计、工具使用分析、组管理 |
| FileOps | 10 | core | 读、写、搜索、移动、复制、编辑、mkdir、文件信息、安全删除 |
| 外壳 | 1 | core | PowerShell、CMD、WSL执行,语法规范化和删除拦截 |
| UI自动化 | 6 | core | 桌面状态、点击、键入、热键、截图、屏幕信息 |
| 编辑 | 2 | 核心 | 手术查找/替换,多编辑 |
| 审计 | 3 | core | 审计日志读取、搜索、清除 |
| 会话 | 6 | core | 持久终端会话(启动、读取、发送、停止) |
| GitHub快速 | 6 | github \_quick | 每日驱动程序:推送文件、获取文件、问题、PR、保护 |
| 角色 | 6 | persona | 专家模式指令、决策框架、工程标准 |
| 效用 | 11 | 实用程序 | 环境变量、吐司、zip/tar/unpch/untar、HTTP请求、文件差异 |
| SelfMod 的 | 7 | selfmod | 自我编辑、热重新加载、重启、回滚、状态 |
| 设置 | 6 | 设置 | 设置向导、GitHub令牌指南、SSH设置、工具检查器 |
| 可观测性 | 3 | 基础设施 | 运行状况、指标、工具统计数据 |
| 状态经理 | 3 | 基础设施 | 跨会话的持久键值状态 |
| 运行时配置 | 3 | 基础设施 | 运行时配置,最近的工具调用 |
| GitHub完整版 | 80 | github_full | 完整的github API:repos,issues,PR,actions,security,gists |
| 安卓调试桥 | 10 | 安卓 | 安卓shell、软件包、文件传输、logcat、screencap |
| 电话屏幕 | 14 | android | UI树阅读器,手机浏览/观看,点击/滑动/键入/按键,暂停/恢复,scrcpy |
| 网络审计 | 7 | 系统 | netstat、ARP、WiFi扫描、端口扫描、DNS、跟踪路由 |
| 进程管理器 | 5 | 系统 | Windows+Android进程列表/终止,系统信息 |
| 安全审计 | 7 | 系统 | 哈希、权限、证书、APK、防火墙、Defender |
| 注册表 | 4 | 系统 | 读、写、导出、自动运行取证 |
| 蓝牙 | 3 | 系统 | Windows+Android BT枚举 |
| 事件日志 | 3 | 系统 | Windows事件日志+Android日志 |
| 剪贴板 | 4 | 系统 | Windows+Android剪贴板同步 |
| 视觉 | 8 | v020 | 屏幕截图、OCR、动态浏览/观看/差异 |
| AppLauncher | 6 | v020 | 启动应用程序,聚焦/关闭/调整大小/捕捉窗口 |
| WebInspector | 5 | v020 | 安全标头、URL截图、技术堆栈检测 |
| 交联 | 7 | v020 | 通过HTTP API+SQLite进行跨会话消息传递 |
| Linux | 1 | linux | 通过plink远程执行SSH |
动态视觉
桌面(视觉模块)
传统的MCP截图是盲目的——你捕捉一帧,希望它是正确的。SassyMCP的动态愿景改变了这一点:
| 工具 | 目的 |
|---|---|
sassy_screen_glance | 3-6KB的快速灰度捕获。反复呼叫以“观看”屏幕。 |
sassy_screen_watch | 监控N秒,返回 只有内容发生变化的帧 (像素差异阈值)。 |
sassy_screen_diff | 在比较之前/之后——取帧,等待,取另一帧,返回两者+一个差异图像突出显示更改。 |
这三种都使用灰度+重JPEG压缩,以将上下文成本降至最低。扫一眼约为2KB,而全彩拍摄约为14KB。
安卓系统(手机屏幕模块)
手机不仅仅是一个摄像头目标——SassyMCP读取其UI可访问性树:
| 工具 | 目的 |
|---|---|
sassy_phone_ui | 阅读 每个可见的UI元素 --文本、描述、坐标、可点击/聚焦/选中状态。结构化数据,而非像素。 |
sassy_phone_state | 前台应用程序、屏幕开/关、电池、WiFi、通知计数。 |
sassy_phone_glance | 直接管道低分辨率灰度手机截图(~4-8KB)。 |
sassy_phone_watch | 监控UI树在持续时间内的变化。仅当元素发生变化时才返回快照。 |
电话互动
通过ADB进行全触摸输入——AI可以操作手机:
| 工具 | 目的 |
|---|---|
sassy_phone_tap | 点击屏幕坐标 |
sassy_phone_swipe | 在两点之间滑动 |
sassy_phone_type | 在焦点字段中键入文本 |
sassy_phone_key | 发送关键事件(主页、后退、回车、音量等) |
sassy_phone_open | 按程序包名称启动应用程序 |
敏感上下文检测
所有交互工具(点击、滑动、键入)在执行之前都会自动扫描UI树。如果他们检测到 登录屏幕、付款表单、帐户选择器、2FA提示或权限对话框,工具 拒绝执行 并返回它所看到的内容。然后,AI会向您描述屏幕并询问要做什么。通过 confirmed=True 在用户明确批准后。
安全删除(删除拦截)
人工智能代理可以产生破坏性命令的幻觉。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 (重写模式) | 将现有文件快照到 _DELETE_/ 覆盖之前 |
sassy_edit_block / sassy_edit_multi | 拒绝受保护的路径,将现有内容快照到 _DELETE_/.pre-edit. 申请前 |
sassy_copy | 拒绝现有目标(无静默覆盖),拒绝受保护的src/dst |
sassy_move | 拒绝静默目标覆盖,拒绝受保护的src/dst |
sassy_selfmod_edit / sassy_selfmod_write | 语法错误,将重命名写入 .bad. (永远不要取消链接) |
sassy_selfmod_rollback | 需要 confirm='YES' --丢弃未提交的更改 |
sassy_audit_clear | 旋转审核日志而不是删除它;需要 confirm='YES' |
拦截的命令关键字: rm, rmdir, unlink (Unix/WSL), del, erase, rd (CMD), Remove-Item, ri, rni (PowerShell别名), sdelete / sdelete64 (系统内部)。
也被抓住了(除了裸关键字):
- 外壳包装--
powershell -c "del foo",cmd /c del foo,bash -c "rm foo",wsl -- rm foo(有效载荷被递归扫描) - Base64有效载荷--
powershell -EncodedCommand解码(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..txt 首先 | |
ls -la | 正常执行——不是删除命令 |
名称冲突 _DELETE_/ 使用计数器后缀自动处理(file.txt, file_1.txt, file_2.txt).在Windows上,带有反斜杠的路径(C:\Users\foo\bar)解析器正确地保存了这些数据——否 shlex 马格林。
暂停/恢复
对于用户需要接管的复杂流程:
| 工具 | 目的 |
|---|---|
sassy_phone_pause | 阻止所有交互工具。观察工具(ui、扫视、手表)仍然有效 |
sassy_phone_resume | 解除阻止交互。AI从它停止的地方继续前进,在暂停期间观察到的一切都会通知它。 |
工作流程:
- 人工智能自主操作手机完成日常任务
- AI点击登录屏幕→ 敏感上下文自动阻止→ AI告诉用户
- 用户说“等一下”→ AI呼叫
sassy_phone_pause - 用户手动登录。AI手表通过
sassy_phone_ui/sassy_phone_glance - 用户说“完成”→ AI呼叫
sassy_phone_resume - AI继续,现在知道用户登录了特定帐户
引导式设置
首次发射时(否 ~/.sassymcp/persona.md),向导工具明显可用,人工智能通过注册挂钩获得入职手册。流程是对话式的——人工智能问,你回答,它调用工具。
登机程序(推荐顺序)
每一步都是独立的,可以跳过。只需告诉AI“设置SassyMCP”或“让我们开始吧”,它就会这样做:
| # | 步骤 | 工具 | 发生了什么 |
|---|---|---|---|
| 0 | 许可证 | sassy_setup_license action="status" 然后 action="activate" key=... | 报告当前级别。如果您有Pro/Forensics密钥,请激活它并解锁门控工具组。 |
| 1 | 角色 | sassy_setup_wizard | 询问下面的问卷,生成 ~/.sassymcp/persona.md,热重新加载角色模块。 |
| 2 | GitHub | sassy_setup_github action="check" → action="open_browser" → action="save_token" token=... | 验证现有 GITHUB_TOKEN,或打开 ,引导您完成范围选择,然后保存并重新验证。 |
| 3 | SSH/Linux | sassy_setup_ssh action="check" → action="save" host=... user=... password=... → action="test" | 定位 plink,将creds存储在进程env中,运行 echo 往返验证。 |
| 4 | 可选工具 | sassy_setup_check_tools | 扫描 nmap, tesseract, adb, scrcpy, plinkChrome;报告会安装缺失内容的URL。 |
| ✓ | 状态检查 | sassy_setup_status | 显示已配置的内容、仍缺少的内容以及action_required提示。随时运行这个。 |
| ⚙️ | 身份验证令牌 | sassy_setup_generate_token client_id="claude-desktop" | 为HTTP/隧道模式生成一个32字节的URL安全令牌,并写入 ~/.sassymcp/tokens.json. |
跳过任何步骤 action="skip" (在支持的情况下)-config会记录跳过,这样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" | 空的 | |||||||
languages | 逗号分隔——例如。 "Python, Rust, TypeScript, Go" | 空的 | |||||||
frameworks | 逗号分隔——例如。 "React, FastAPI, Cloudflare Workers" | 空的 | |||||||
systems | 新线分离 hostname — OS — role 条目 | 空 | |||||||
projects | 新线分离 name — status — description 条目 | 空 | |||||||
communication_style | terse (仅代码) | balanced (简要说明) | verbose (详细理由) | terse | |||||
security_posture | standard (OWASP) | hardened (+CSP/HTS/速率限制) | paranoid (+气隙、证书锁定、零信任) | standard | |||||
mcp_clients | 哪些AI工具可以连接——例如。 "Claude Desktop, Cursor, Grok Desktop" | 空的 | |||||||
notes | 自由形式文本——人工智能应该知道的关于你如何工作的任何其他内容 | 空 |
输出转到 ~/.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"任何接近这些的东西都会将剧本拉到人工智能的背景下。如果你想手动驾驶,只需致电 sassy_setup_status 先看看你在哪里,然后沿着上面的桌子走。
智能加载
默认情况下,SassyMCP只加载常用的工具组。这将使工具定义保持在上下文窗口的5%以下。
# Default: loads core, github_quick, persona, meta, utility, selfmod, setup, infrastructure
uv run sassymcp
# Load everything (257 tools, ~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、编辑器、审核、会话 | 是 |
meta | meta | 是 |
infrastructure | 可观测性、状态管理器、运行时配置 | 是 |
github_quick | github _ quick(6个精益工具) | 是 |
persona | 人物 | 是 |
utility | 实用程序 | 是 |
selfmod | selfmod | 是 |
setup | setup_wizard | 是 |
github_full | github _ ops(80个工具) | 否 |
android | adb,手机屏幕 | 否 |
system | 网络审计、进程管理、安全审计、注册表、蓝牙、事件日志、剪贴板 | 否 |
v020 | 视觉、app_launcher、web_inspector、交叉链接 | 否 |
linux | linux | 否 |
安装
选择与你已经工作的方式相匹配的入口点。这四个入口点在 ~/.sassymcp/ --您的角色、内存、许可证和审核日志对每个连接的MCP客户端都是可见的。
通过DXT(克劳德桌面)点击一下
下载 sassymcp.dxt 从 最新版本,双击--Claude Desktop安装它。首次启动时,sassymcp会自动检测您计算机上的所有其他MCP客户端(Cursor、VS Code Copilot、Windsurf、Continue、Cline、Zed、Grok Desktop),并修补每个客户端的配置,这样它们都可以在不编辑任何JSON的情况下看到sassymcp。
VS代码扩展
安装 SassyMCP 来自VS Code市场。扩展名位于 sassymcp.exe (路径或 sassymcp.exePath 设置),运行相同的auto-config CLI,并添加一个状态栏项,显示您的许可证级别和大脑健康状况。五个命令包括安装向导、重新安装配置、打开审核日志、打开 _DELETE_ 文件夹,显示大脑状态。
手动自动配置CLI
如果你有 sassymcp.exe 已经(从便携式zip或pip安装)并希望在每个MCP客户端注册它,而无需对每个客户端进行JSON编辑:
sassymcp-install它可以检测Claude Desktop、VS Code Copilot、Cursor、Windsurf、Continue、Cline、Zed和Grok Desktop,并自动修补每个配置。重新运行是不可能的。先看看 sassymcp-install --dry-run.用 sassymcp-install --uninstallCLI在第一次编辑之前对任何现有配置进行带时间戳的备份。
可移植捆绑包(手动配置--旧路径)
无需安装程序,但您将自己编辑每个客户端的JSON,除非您也运行 sassymcp-install 之后。
- 下载
sassymcp-v1.3.1-portable.zip从 最新版本 (约123 MB--包括sassymcp.exe,adb,nmap,plink,scrcpy,tesseract,cloudflared,以及start-*.bat发射器)。 - 随时随地提取--
D:\Tools\SassyMCP,一个U盘,你的主文件夹,随便什么。 - 跑
start-local.bat(克劳德桌面),start-lan.bat(局域网HTTP),或start-tunnel.bat(Cloudflare隧道)。
卸载:删除文件夹。要升级:在旧文件夹上解压缩新的zip,或者将其解压缩到新文件夹并删除旧文件夹。
独立可执行文件(不捆绑工具)
如果你不需要捆绑 nmap / adb / cloudflared (或者你已经在PATH上了),只需抓取 sassymcp.exe (约35 MB) 最新版本.把它放在任何地方,然后将MCP客户端指向它。
一行PowerShell(许可证门控)
对于授权用户,通过门控镜像拉取独立exe:
$key = "SASSY-XXXX-XXXX-XXXX" # from https://sassyconsultingllc.com/pricing.html
$dst = "$env:LOCALAPPDATA\SassyMCP"
New-Item -Force -ItemType Directory $dst | Out-Null
Invoke-WebRequest "https://sassyconsultingllc.com/download/sassymcp/windows/sassymcp.exe?key=$key" -OutFile "$dst\sassymcp.exe"
Write-Host "Installed: $dst\sassymcp.exe"许可证限制下载
获取许可证→。结账后,您将收到 SASSY-... 密钥;将其粘贴到下载URL中:
https://sassyconsultingllc.com/download/sassymcp/windows/sassymcp.exe?key=SASSY-...--独立exe,约35 MBhttps://sassyconsultingllc.com/download/sassymcp/windows/sassymcp-v1.3.1-portable.zip?key=SASSY-...--完整的便携式捆绑包,约123 MB
也不需要Python。
来源
git clone https://github.com/sassyconsultingllc/SassyMCP.git
cd SassyMCP
uv sync
# Optional dependencies:
uv pip install pytesseract playwright
playwright install chromiumCloudflare隧道(60秒内远程访问)
想从远程MCP客户端(Claude Web,另一台机器)驱动SassyMCP吗?便携式捆绑运输配有交钥匙隧道发射器。
winget install Cloudflare.cloudflared # one-time
cd D:\Tools\SassyMCP # wherever you extracted
.\start-tunnel.bat # auto-generates auth token, prompts for tunnel namestart-tunnel.bat 将:
- 验证
cloudflared开着PATH(并链接到winget install Cloudflare.cloudflared如果缺失)。 - 自动生成32字节的URL安全
SASSYMCP_AUTH_TOKEN(或通过stdin接受您的请求)并打印一次,以便复制到您的客户端。 - 提示输入隧道名称(默认
sassymcp)并开始cloudflared tunnel run. - 启动HTTP网桥
127.0.0.1:21001因此,这条隧道有一些值得探索的地方。
然后客户端发送 Authorization: Bearer 反对 https://.trycloudflare.com/mcp (或者您自己的自定义主机名,如果您已配置DNS)。
MCP客户端配置
SassyMCP使用标准MCP。任何连接起来的东西都有效-- 无需客户端修改。便携式捆绑包已准备好在以下目录下编辑模板 deploy/*_config.template.json。为您的客户选择行,复制模板,替换 REPLACE_WITH_PATH 通过绝对路径 sassymcp.exe,并将其保存在客户端期望的位置。
| 客户端 | 传输 | 配置文件位置 | 模板 |
|---|---|---|---|
| 克劳德桌面版 | 站立 | %APPDATA%\Claude\claude_desktop_config.json (赢)/ ~/Library/Application Support/Claude/claude_desktop_config.json (mac) | claude_desktop_config.template.json |
| 光标 | 站立 | ~/.cursor/mcp.json (全球)或 ` | |
| /.cursor/mcp.json` (每个项目) | cursor_mcp_config.template.json | ||
| 帆板运动 | 站立 | ~/.codeium/windsurf/mcp_config.json | windsurf_mcp_config.template.json |
| Cline(VS代码) | stdio | VS代码设置→ cline.mcpServers (同样 mcpServers 形状) | 使用 claude_desktop_config.template.json |
| Continue.dev | 站立 | ~/.continue/config.json (合并于 experimental.modelContextProtocolServers) | continue_mcp_config.template.json |
| Grok桌面 | HTTP | Grok桌面MCP设置 | grok_desktop_config.template.json |
| 任何其他MCP客户端 | stdio或HTTP | 客户端的MCP配置 | 使用最接近的模板;这 mcpServers 形状是常规的 |
标准 mcpServers 形状(克劳德桌面、光标、风帆、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桌面/自定义HTTP客户端
以HTTP模式运行服务器(sassymcp.exe --http,默认值 127.0.0.1:21001)并将您的客户指向 http://127.0.0.1:21001/mcp/.Set SASSYMCP_AUTH_TOKEN 如果绑定是非环回的。
{
"mcpServers": {
"sassymcp": {
"url": "http://127.0.0.1:21001/mcp/"
}
}
}克劳德的味道是什么(仅限化妆品)
一些文档字符串和遗产 .claude/skills/sassymcp-update.md slash命令专门针对Claude Code。其他客户忽略它们并使用 sassy_update_* 工具直接。没有工具、传输或身份验证路径需要Claude——服务器不知道另一端是哪个LLM。
运输方式
| 模式 | 命令 | 用例 |
|---|---|---|
| 停止 | sassymcp.exe | 克劳德桌面,光标(直管) |
| HTTP | sassymcp.exe --http | Grok桌面,Windsurf(本地主机:21001) |
| HTTP局域网 | sassymcp.exe --http --host 0.0.0.0 | 多设备(需要身份验证令牌) |
| HTTPS | sassymcp.exe --http --ssl | 加密(自动生成自签名证书) |
上海证券交易所 sassymcp.exe --http --sse | 传统运输 |
运行多个实例(双会话)
同一台机器上的两个SassyMCP进程——例如 本地stdio Claude Desktop和a的实例 远程HTTPS Claude Web的Cloudflare隧道背后的实例——如果它们共享,可能会破坏彼此的状态 ~/.sassymcp/。修复方法是每个实例一个环境变量。
每个实例要解决的冲突
| 资源 | 默认值 | 如何为每个实例分配自己的资源 |
|---|---|---|
| HTTP端口 | 21001 | --port 21002 (仅限HTTP模式实例) |
| 交叉链接HTTP端口 | 9377 | sassy_crosslink_register port=9378 |
| 身份验证令牌 | env SASSYMCP_AUTH_TOKEN | 在启动器的环境中按进程设置 |
| 每个用户状态目录 | ~/.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\\\\.sassymcp-local"
}
}
}
}实例B——通过Cloudflare隧道进行远程HTTPS (start-tunnel.bat +设置env的包装器):
set SASSYMCP_HOME=C:\Users\\.sassymcp-remote
set SASSYMCP_AUTH_TOKEN=
set PORT=21002
"%~dp0sassymcp.exe" --http --host 127.0.0.1 --port %PORT%然后 cloudflared tunnel run 向前 https:///mcp 到 127.0.0.1:21002.
SASSYMCP_HOME不同时隔离什么
每个实例都有自己的:
persona.md--每个会话的不同配置文件config.json--不同的运行时配置(允许的dirs、阻止的命令等)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进入对方的家
实例之间仍共享哪些内容
- repo源代码树(始终受到保护,不会被删除/覆盖
_security) %LOCALAPPDATA%\SassyMCP\updates\--更新程序下载阶段(无害;按其下的版本标记)- 便携式拉链中捆绑的工具(
adb,nmap,cloudflared等)——两个实例都是只读的
将其放入操作系统中(这样两者都可以在启动时启动)
遗产 personal/autostart-bridge.bat + personal/register-autostart.ps1 模板是gitignored的——复制它,调整路径和 SASSYMCP_HOME 对于每个实例,然后 Register-ScheduledTask 每次一次。
环境变量
| 变量 | 目的 |
|---|---|
SASSYMCP_LOAD_ALL=1 | 加载全部257个工具 |
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).在一台计算机上运行多个实例时需要。 |
SASSYMCP_REPO=/path/to/repo | 在中覆盖自动检测到的repo根目录 tools/mercury_audit_sassymcp.py (仅限开发工具) |
GITHUB_TOKEN=xxx | GitHub API访问 |
SSH_HOST=xxx | 远程Linux主机名/IP |
SSH_USER=xxx | 远程Linux用户名 |
SSH_PASS=xxx | 远程Linux密码 |
外部工具
全部捆绑在 beta zip包。仅当使用独立exe时才单独安装。
| 工具 | 使用人 | 捆绑 | 安装(如果需要) |
|---|---|---|---|
| ADB | 全部 sassy_adb_* + sassy_phone_* 工具 | 是 | Android平台工具 |
| nmap | sassy_port_scan | 是的 | nmap.org |
| 普林克 | sassy_linux_exec | 是的 | PuTTY |
| scrcpy | sassy_scrcpy_* 工具 | 是 | scrcpy发布 |
| Tesseract | sassy_screen_ocr, sassy_find_text_on_screen | 是的 | 镶嵌ocr |
| Chrome | sassy_url_screenshot | 没有 | google.com/chrome |
跑 sassy_setup_check_tools 以验证是否检测到所有工具。
需求
- Windows 10/11
- Python 3.11+(仅当从源代码运行时;exe是自包含的)
许可证
麻省理工学院许可证-Sassy Consulting LLC
