幻灯片MCP服务器
与Slide API集成的MCP服务器实现 围绕MSP技术人员实际向Claude Desktop提出的问题- “我的所有幻灯片盒都正常吗?”,“昨晚ACME的备份运行了吗?”, “在Bob的笔记本电脑上找到Q4-budget.xlsx并还原周二的版本”。
先问什么
如果您刚刚安装了扩展,请尝试以下提示之一。克劳德 将达到 slide-mcp-server 自动-你不必拼写 退出“使用幻灯片MCP”。
- “我所有的幻灯片盒都健康吗?”
- “昨晚ACME的备份运行了吗?”
- “在Bob的笔记本电脑上找到Q4-budget.xlsx。”
- “我有哪些未解决的警报?先排序最差的。”
- “启动DC-01的恢复VM。”
- “过去24小时发生了什么变化?”
- “我不知道从哪里开始——你能做什么?”
你永远不需要知道 a_xxxxxxxxxxxx / d_xxxxxxxxxxxx ID。说 “Bob的笔记本电脑”或“文件服务器”-服务器模糊匹配 主机名和显示名称,并要求您在超过 一个实体匹配。
如有疑问: /slide.welcome (Claude Desktop中的斜线命令)或 问问“你能做什么?”。
v5.0.0的新增功能
- 新手首次大修。LLM现在到达slide mcp服务器
每当用户提到幻灯片、BCDR、备份、恢复、快照时, 恢复虚拟机、文件恢复、灾难恢复、审计日志,或 未解决的警报-用户无需详细说明。
slide_help-新的始终可用的工具getting_started,
examples, glossary, troubleshoot, what_can_you_do 操作。
/slide.welcome斜线命令提示符+slide://welcome,
slide://help/glossary, slide://help/troubleshoot 资源。
- 服务器端模糊名称解析每一个需要
agent_id / device_id / client_id 也接受 name_hint.通行证 主机名、显示名称或子字符串;服务器解析它。 不明确的匹配返回一个结构化的候选列表。
- 启动令牌验证 具有清晰的多行修复功能
无效令牌或防火墙问题的指导。
slide-mcp-server --doctor自诊断子命令
(令牌、网络、样本读取)。思想开明,CI友好。
next_steps数组附加到每个响应中,并带有策划
跟进工具调用建议。抑制与 hints=off.
- 更友好的错误:401/403/404携带新手友好的补救措施
提示和未知操作得到你的意思是建议。
完整的迁移表和每个文件的详细信息 更改日志.md.
v4.0.0的新增功能
- 标题新功能:
slide_files.在每个文件中搜索文件名
为代理创建快照,列出路径的快照版本,然后创建 还原、浏览或将文件推回受保护的系统-全部 通过一个面向任务的工具。包裹之前未曝光的幻灯片 API v1.27.0版 FileSearch + PathVersion 端点。
slide_audit合规性/“过去24小时发生了什么变化?”-
包裹之前未曝光的内容 /v1/audit* 终点家族。
- 面向任务的工具表面新
slide_overview(库存+
健康+每个客户端/每个设备摘要), slide_recovery (开机 VM+导出映像+DR网络), slide_clients, slide_admin.
- 5 MCP提示 在Claude Desktop的斜线命令UI中:
/slide.daily-status, /slide.triage-alerts, /slide.restore-file, /slide.boot-recovery-vm, /slide.dr-runbook.
- 9 MCP资源 (从1开始)包括URI模板
slide://client/{id}, slide://device/{id}, slide://agent/{id}, 加上静态 slide://overview/health, slide://alerts/unresolved, slide://audit/recent,以及实时缓存 slide://docs/openapi.
- 代币意识反应。每个list op默认为
format=summary (单行条目)而不是v3的完整JSON转储; 选择加入 compact 或 detailed 当你需要更多时,加 fields=a,b,c 投影。
- 工具注释 (
readOnlyHint/destructiveHint/idempotentHint)
因此,Claude Desktop在安全阅读时跳过确认提示。
- 可靠性:HTTP客户端现在获得荣誉
Retry-After在429秒时,
重试瞬态5xx一次,表面结构化 APIErrors with 根据状态提示。
- 权限层已崩溃 从四到三(
read-only/safe/
full).传统名称(reporting/restores/full-safe)都是 默默地皱起眉头。
- 退役约3K LoC 自重工具(
slide_docs,
slide_presentation, slide_reports, slide_meta)LLM 可以从原始数据+新提示中组合。
完整的迁移表和每个文件的详细信息 更改日志.md.
🚀 Go二进制实现⚡
- 单个二进制:无依赖关系,只需下载并运行
- 快速启动:~50ms启动时间
- 内存使用率低:10-20MB内存占用
- 跨平台:Linux、macOS(苹果硅+英特尔)、Windows
- 面向任务的曲面:围绕真实MSP工作流程设计的11个元工具
- MCP资源+提示:预烘焙上下文和斜线命令工作流
(slide://overview, /slide.daily-status等等)
______________________________________________________________________
⚡ 安装
为你的主人选择一条路。每一步都是一步。
🟢 克劳德桌面-拖放(推荐)
- 下载 slide-mcp-server.mcpb.
- 将其拖到Claude Desktop的 设置->扩展 屏幕。
- 提示时粘贴您的Slide API令牌(在生成一个
console.slide.tech 在...之下 我的设置->API代币).
就是这样。Claude Desktop拥有令牌存储,选择正确的二进制文件 对于您的操作系统,并启动服务器。该包裹已签字并公证, 因此,Gatekeeper在macOS上不会造成阻碍。
🟦 克劳德代码
claude mcp add slide --env SLIDE_API_KEY=tk_... -- /path/to/slide-mcp-server或者,从这个仓库的克隆中:
make build
SLIDE_API_KEY=tk_... make install-claude-code包装器是幂等的-重新运行它会覆盖之前的内容 slide 注册干净。
🟪 游标/其他MCP主机
将二进制文件放到某个位置 $PATH 并将其添加到 ~/.cursor/mcp.json (或您的房东的同等职位):
{
"mcpServers": {
"slide": {
"command": "slide-mcp-server",
"env": { "SLIDE_API_KEY": "${SLIDE_API_KEY}" }
}
}
}Claude Code、Cursor和大多数其他现代主机支持 ${VAR} 扩展,因此字面标记永远不必存在于配置文件中。
🛠️ 从源代码/在新的开发箱上
git clone https://github.com/austinmcchord/slideMCP.git && cd slideMCP
make setup-dev # idempotently installs go, jq, gh via Homebrew
make build # produces build/slide-mcp-server
make pack-dxt # produces build/slide-mcp-server.mcpb (unsigned, dev)🔏 代码签名设置(仅限发布版本)
make pack-dxt-signed (以及发布脚本)需要有效的Apple 开发人员ID应用程序证书加上notarytool密钥链配置文件。 第一次设置助手处理整个舞蹈-生成CSR, 在浏览器中打开Apple Developer门户,导入结果 证书,存储notarytool凭据,并写入 scripts/release-env.sh (gitignored)因此后续构建只是工作:
./scripts/setup-signing.sh # interactive, idempotent, ~5 minutes
make doctor-signing # read-only check; run before each release设置完成后,在每个新shell上:
source scripts/release-env.sh # exports DEVELOPER_ID, KEYCHAIN_PROFILE, etc.
make pack-dxt-signed # signed + notarized .mcpb in build/
make verify-dxt # confirms Gatekeeper accepts the inner binary安装脚本为 未在git中跟踪 (由现有 **/setup-signing.sh 规则),从不在外部写入明文秘密 当地 scripts/release-env.sh (也是gitignored)和您的macOS 钥匙扣。
阅读 docs/SIGNING.md 在触碰任何东西之前 签署管道。 它记录了10多个macOS特有的怪癖 已经调试了困难的方式(DER vs PEM,PKCS#1 vs PKCS#8,为什么.p12 导入在现代macOS上失败,原因 add-trusted-cert -r trustAsRoot 断链验证,为什么 spctl --type execute 总是拒绝生食 Mach-O即使经过公证,还有更多)。正在处理此回购的LLMs: 看见 AGENTS.md.
______________________________________________________________________
有关更多设置细节(CLI标志、环境变量、手动JSON片段), 请参阅下面的安装部分。
🎯 建筑
面向任务的元工具:围绕 MSP技术人员实际上问Claude Desktop的问题,而不是原始的API 端点曲面。每个人都接受一个 operation 用于选择的参数 行动;条件性的 allOf/if/then 每个操作的模式验证 调用离开Claude之前所需的参数。
加 MCP提示 (Claude Desktop中的斜线命令工作流)和 URI模板化资源 (LLM可以提供廉价的预制上下文 无需工具调用)。
示例使用模式
{
"name": "slide_files",
"arguments": {
"operation": "search",
"agent_id": "a_0123456789ab",
"search_term": "Q4-budget"
}
}可用元工具(v5.0.0)
💡 帮助和入职
slide_help--发现/入职/故障排除/调试
- 操作: getting_started, examples, glossary, troubleshoot, list_prompts, list_resources, what_can_you_do, debug - 始终可用,从未被工具模式阻止,从未禁用。 - 当用户含糊其辞时,LLM应该调用的第一件事。 - debug 返回完整的诊断转储(配置、DNS、TLS、实时 API探测,最近的日志)-每当工具出现故障时调用它。
🧭 概述和库存
slide_overview--顶级库存+健康状况
- 操作: inventory, health, for_client, for_device - 一个屏幕回答“我们有什么?”和“一切还好吗?” - 只读;在任何谈话开始时都可以安全地打电话。
🔎 文件(标题v4功能)
slide_files--搜索文件名+还原+回推
- 操作: search, versions, list_restores, get_restore, create_restore, delete_restore, browse, list_pushes, create_push, update_push, get_push_status - search 在代理的每个快照中查找文件名 (幻灯片API v1.27.0 FileSearch); versions 列出以下快照 包含路径。整个“找到Q4-budget.xlsx并恢复周二的 “复制”流程就存在于这个工具中。
🛟 恢复
slide_recovery--引导虚拟机、导出映像、管理灾难恢复网络
- VM操作: list_vms, get_vm, boot_vm, update_vm, delete_vm, get_rdp_bookmark - 图像导出: list_images, get_image, export_image (VHD/VHDX/VMDK/QCOW2/RAW), delete_image, browse_image - DR网络: list_networks, get_network, create_network, update_network, delete_network 加上IPSec/端口转发/ WireGuard对等CRUD - “我需要实际恢复一些东西”工具包。
📜 审计(合规性/“发生了什么变化?”)
slide_audit--帐户审核日志
- 操作: list, get, actions, resources, recent - recent 默认为24小时窗口,用于“刚刚更改了什么?”
🗂️ 快照、备份、警报、代理、设备
slide_snapshots—list,list_deleted,get,
get_service_verification, recent_for_agent (一个电话“最近N天 X的还原点)。
slide_backups—list,get,start,加上v4
status_for_client / status_for_device / recent_for_agent 运维 在一次通话中回答“昨晚X的备份运行了吗?”。
slide_alerts—list,get,update,加上v4triage那
按严重性提示对未解决的警报进行排序。
slide_agents--完整的v1.27.0表面(服务、时间表、,
保留、恢复默认值、卷、警报配置)。
slide_devices—list,get,update,poweroff,reboot
加上设备网络+每个设备的VLAN CRUD。
👥 客户&管理员
slide_clients--客户端CRUD(list,get,create,
update, delete).
slide_admin--用户+账号+用户头像
(list_users, get_user, get_user_avatar, list_accounts, get_account, update_account).
🔁 向后兼容垫片
list_all_clients_devices_and_agents仍然有效;它转发到
slide_overview operation=inventory.
MCP提示(斜线命令工作流)
Claude Desktop在其斜线命令UI中显示这些内容:
/slide.welcome--首次用户的一条消息介绍/slide.daily-status [client?] [hours?]--每日运营摘要/slide.triage-alerts--优先未解决的警报审查/slide.restore-file [filename?] [agent?]--引导文件恢复/slide.boot-recovery-vm [agent?]--引导VM恢复/slide.dr-runbook [device?]--从生成的DR runbook
设备的真实代理和快照
MCP资源(廉价预烤上下文)
克劳德可以在不烧工具调用的情况下阅读这些内容:
slide://welcome-一页入门+示例问题(无API调用)slide://help/glossary-滑块专用术语(无API调用)slide://help/troubleshoot--常见的设置/身份验证/网络问题slide://overview/inventory--客户→ 设备→ 代理树slide://overview/health--每台设备和代理摘要一行slide://alerts/unresolved--打开警报,优先级slide://audit/recent--审计日志的最后24小时slide://docs/openapi--实时幻灯片OpenAPI规范(缓存1小时)slide://client/{client_id}--单一客户详细信息slide://device/{device_id}--单个设备详细信息slide://agent/{agent_id}--单一代理详细信息slide://agent/{agent_id}/snapshots/recent--最近的快照
遗产 slide://context/clients-devices-agents URI继续工作 作为别名 slide://overview/inventory.
令牌意识响应形状
每个list/get操作都接受这些横切参数:
format—summary(列表的默认值;单行条目),
compact (满载,无压痕),或 detailed (满 payload,缩进——相当于v3行为)。
fields--逗号分隔的JSON投影,例如。
fields=id,hostname,last_seen 放下其他一切。
hints--设置为off为了抑制next_steps数组v5附加
对于大多数回应。默认设置为打开;提示简短而廉价。
- 所有列表回复包括
pagination.next_offset和count.
name_hint:没有要记忆的ID
每一个需要 agent_id, device_id,或 client_id 也 接受 name_hint.传递主机名、显示名称、客户端名称或任何 子字符串(name_hint=bob, name_hint=ACME, name_hint=DC-01)以及 服务器端模糊解析。
- 0个匹配项 → 答案是
{"name_hint_error":"no_match",...}
带有呼叫建议的有效载荷 slide_overview operation=inventory.
- 1场比赛 → 已解析的实体出现在响应中
_resolved 因此,助手可以向用户确认它是哪一个 拾取后,操作将正常进行。
- 2+场比赛 → 答案是
{"name_hint_error":"ambiguous","candidates":[...]} 有效载荷为up 10名候选人。助手应要求用户选择一个, 然后用显式命令重新调用 *_id.
主要特点
🔐 基础设施管理
- 设备控制:远程电源操作、主机名管理、客户端分配
- 代理部署:自动配对,显示名称管理
- 网络隔离:具有VPN访问的客户端特定网络
- 高级网络:IPSec隧道、端口转发、WireGuard对等端
💽 数据保护和恢复
- 自动备份:基于代理的备份启动和监控
- 时间点恢复:使用位置过滤浏览快照
- 灵活恢复:文件级和全磁盘映像导出
- 多种格式:VHD、VHDX(动态/固定)、原始磁盘映像
- 开机修改:可选的无密码管理员帐户创建
☁️ 虚拟化
- VM创建:从任何快照创建虚拟机
- 资源控制:可配置的CPU/RAM分配
- 网络集成:将虚拟机连接到隔离网络
- 控制台访问:基于浏览器的VNC,用于直接VM交互
- RDP书签:生成可下载的.rdp文件,便于Windows远程桌面访问
📊 监控与组织
- 警报管理:集中警报监控和解决
- 客户组织:按客户分组资源,以便更好地管理
- 用户管理:帐户访问和权限
- 综合过滤:对所有资源进行高级分页和排序
📋 专业数据演示
- 智能卡:用于代理、客户端、设备和快照的个人卡和基于表的卡
- 报告模板:运行手册程序、每日摘要和月度分析报告
- 多种格式:针对不同用例的HTML、Markdown和HAML输出
- 仪表板就绪:预格式化卡非常适合状态显示和监控
- 文档支持:操作程序和故障排除的专业模板
所有元工具都支持分页(limit, offset),对选项进行排序 适用,以及跨领域 format / fields 描述的参数 上面。
📦 详细安装参考
“⚡ 本README顶部附近的“安装”部分涵盖了 推荐的路径。本节记录了底层配置,以便 您可以手动滚动设置不寻常的主机或CI。
获取API密钥
- 登录到您的 幻灯片帐户
- 导航到 我的设置->API代币
- 生成您的API令牌。将其视为密码-它授予完全权限
访问您的幻灯片帐户。
预构建下载
标题发布资产是 .mcpb (克劳德桌面扩展):
- slide-mcp-server.mcpb (每个平台一个文件):
https://github.com/austinmcchord/slideMCP/releases/latest/download/slide-mcp-server.mcpb
独立二进制文件(用于 claude mcp add /光标/CI):
- macOS (通用苹果硅+英特尔):
slide-mcp-server-vX.Y.Z-darwin-universal.tar.gz - Linux x64:
slide-mcp-server-vX.Y.Z-linux-amd64.tar.gz - Linux ARM64:
slide-mcp-server-vX.Y.Z-linux-arm64.tar.gz - Windows x64:
slide-mcp-server-vX.Y.Z-windows-x64.zip
所有macOS工件都使用开发人员ID签名并经过公证。
从源代码构建
git clone https://github.com/austinmcchord/slideMCP.git
cd slideMCP
make build # build/slide-mcp-server (current platform)
make pack-dxt # build/slide-mcp-server.mcpb (universal bundle, unsigned)手动克劳德桌面配置
如果你不能使用 .mcpb (老克劳德桌面,锁定公司 机器等),编辑 claude_desktop_config.json 直接:
{
"mcpServers": {
"slide": {
"command": "/path/to/slide-mcp-server",
"env": { "SLIDE_API_KEY": "YOUR_API_KEY_HERE" }
}
}
}使用非默认工具模式和禁用工具:
{
"mcpServers": {
"slide": {
"command": "/path/to/slide-mcp-server",
"env": {
"SLIDE_API_KEY": "YOUR_API_KEY_HERE",
"SLIDE_TOOLS": "read-only",
"SLIDE_DISABLED_TOOLS": "slide_recovery"
}
}
}
}或者将所有内容作为CLI参数传递:
{
"mcpServers": {
"slide": {
"command": "/path/to/slide-mcp-server",
"args": [
"--api-key", "YOUR_API_KEY_HERE",
"--tools", "full-safe",
"--disabled-tools", "slide_agents,slide_backups"
]
}
}
}测试您的安装
使用官方的MCP检查器以交互方式驱动服务器:
export SLIDE_API_KEY=tk_...
npx @modelcontextprotocol/inspector ./slide-mcp-server或者运行捆绑烟雾测试(包括初始化、工具/列表、资源/列表、 v1.27.0验证路径和实时工具调用示例):
SLIDE_API_KEY=tk_... ./smoke_test.sh🔧 CLI参数和配置
Slide MCP Server支持多个命令行参数以实现灵活配置:
命令行参数
# Basic usage with API key
./slide-mcp-server --api-key YOUR_API_KEY
# All available flags
./slide-mcp-server [OPTIONS]| 标志 | 描述 | 环境变量 | 默认值 |
|---|---|---|---|
--api-key | 滑动API密钥进行身份验证 | SLIDE_API_KEY | 必填项 |
--base-url | 幻灯片API终结点的基本URL | SLIDE_BASE_URL | https://api.slide.tech |
--tools | 权限模式(read-only / safe / full;旧别名 reporting/restores/full-safe 仍在工作) | SLIDE_TOOLS | safe |
--disabled-tools | 以逗号分隔的禁用工具列表(slide_help 无法禁用) | SLIDE_DISABLED_TOOLS | 没有 |
--doctor | 运行自诊断检查(令牌、网络、样本读取)并退出 | - | - |
--debug | 将完整的诊断捆绑包(版本、运行时、配置、env、DNS、TLS、实时API探测、最近的日志)转储为JSON并退出。可以安全地粘贴到支撑线中;API令牌被屏蔽。在未配置API密钥的情况下工作。 | - | - |
--skip-startup-validation | 跳过启动探测 /v1/account (脱机启动时有用) | - | - |
--tool | 运行单个工具,然后退出(单次模式) | - | - |
--args | JSON参数 --tool | - | - |
--version | 显示版本信息并退出 | - | - |
优先:CLI标志优先于环境变量。
例子
# Using CLI flags (default 'safe' mode)
./slide-mcp-server --api-key sk_test_123 --base-url https://custom.api.endpoint
# Read-only mode (only list/get/search/browse)
./slide-mcp-server --api-key sk_test_123 --tools read-only
# Using environment variables
export SLIDE_API_KEY="sk_test_123"
export SLIDE_TOOLS="read-only"
./slide-mcp-server
# Mixed usage (CLI overrides environment)
export SLIDE_TOOLS="full"
./slide-mcp-server --api-key sk_test_123 --tools read-only
# Disable specific tools
./slide-mcp-server --api-key sk_test_123 --disabled-tools "slide_recovery,slide_files"
# One-shot tool invocation (handy for scripts / smoke tests)
./slide-mcp-server --api-key sk_test_123 --tool slide_overview --args '{"operation":"health"}'
# Show version
./slide-mcp-server --version
# Output: slide-mcp-server version 4.0.0🚫 禁用特定工具
除了权限模式外,您还可以使用 --disabled-tools 旗帜或 SLIDE_DISABLED_TOOLS 环境变量。这提供了对可用工具的细粒度控制。
使用示例
# Disable specific tools via CLI flag
./slide-mcp-server --api-key YOUR_KEY --disabled-tools "slide_agents,slide_backups"
# Disable tools via environment variable
export SLIDE_DISABLED_TOOLS="slide_devices,slide_users"
./slide-mcp-server --api-key YOUR_KEY
# Combined with permission modes
./slide-mcp-server --api-key YOUR_KEY --tools reporting --disabled-tools "slide_snapshots"
# Whitespace is handled gracefully
./slide-mcp-server --api-key YOUR_KEY --disabled-tools " slide_agents , slide_backups , slide_devices "可用工具名称(v4.0.0)
slide_overview--库存+健康状况+每个客户端/每个设备的摘要slide_files--文件搜索+恢复+推送slide_recovery--虚拟机+映像导出+灾难恢复网络slide_audit--帐户审核日志slide_clients--客户端CRUDslide_admin--用户+帐户slide_agents,slide_devices,slide_snapshots,slide_backups,slide_alerts--低级CRUD,带有面向v4任务的添加list_all_clients_devices_and_agents--向后兼容别名slide_overview operation=inventory
主要特点
- 优先:CLI标志优先于环境变量
- 空白处理:工具名称周围的多余空格会自动修剪
- 错误消息:尝试使用禁用工具时清除错误消息
- 组合过滤:与分层访问控制的权限模式一起工作
- 透明度:记录服务器启动时禁用的工具
用例
# Read-only server (only list/get/search/browse operations)
./slide-mcp-server --tools read-only --disabled-tools "slide_admin"
# Allow restores but hide the recovery tool entirely
./slide-mcp-server --tools safe --disabled-tools "slide_recovery"
# Monitoring-only setup
./slide-mcp-server --tools read-only --disabled-tools "slide_recovery,slide_files"当调用禁用的工具时,服务器返回:
{
"error": {
"code": -32601,
"message": "Tool 'slide_agents' is disabled"
}
}🔒 权限模式
v4.0.0将权限系统从四层缩减为三层。 传统模式名称(reporting, restores, full-safe)默默地 别名,以便保留现有的CLI标志/Claude Desktop用户配置 工作。
权限级别
read-only --纯读取访问
用例:监控仪表板、随叫随到的健全性检查、任何东西 这绝不会意外地改变状态。
- ✅ 允许:每个列表/获取/搜索/浏览操作,每个资源
阅读,每一个提示
- ❌ 已屏蔽:每次创建/更新/删除/启动/恢复等。
- 旧别名:
reporting
./slide-mcp-server --api-key YOUR_KEY --tools read-onlysafe --违约;除了破坏性行动
用例:一般MSP/IT管理工作流程,包括恢复, 代理设置、备份启动、警报解决。
- ✅ 允许:只读+创建/更新用于恢复、代理、,
设备、网络、警报、设置、备份启动
- ❌ 已屏蔽:删除(
delete,delete_vm,delete_image,
delete_network, delete_restore, delete_vlan, ...)和设备 功率控制(poweroff, reboot)
- 旧别名:
restores,full-safe
./slide-mcp-server --api-key YOUR_KEY --tools safe
# (this is the default; the flag is optional)full --完全访问
用例:需要删除代理的高级管理员,删除 例如创建快照或远程重启设备。
- ✅ 允许:每个操作,包括不可逆的操作
- ⚠️ 包括代理删除、快照删除、设备断电/重启
./slide-mcp-server --api-key YOUR_KEY --tools full权限矩阵
| 操作类别 | read-only | safe | full |
|---|---|---|---|
| 列表/获取/搜索/浏览 | ✅ | ✅ | ✅ |
| 文件搜索+恢复+推送 | ❌ | ✅ | ✅ |
| 启动恢复虚拟机/导出映像 | ❌ | ✅ | ✅ |
| DR网络创建/更新 | ❌ | ✅ | ✅ |
| 代理/设备设置更新 | ❌ | ✅ | ✅ |
| 警报解决 | ❌ | ✅ | ✅ |
| 备份启动 | ❌ | ✅ | ✅ |
| 删除 (代理、快照、虚拟机、网络、端口转发等) | ❌ | ❌ | ✅ |
| 设备断电/重启 | ❌ | ❌ | ✅ |
安全建议
- 生产监控:
read-only - 日常MSP管理员:
safe(默认) - 清理/停用工作流程:
full
使用VS代码
对于VS代码集成,请将以下JSON块添加到您的用户设置(JSON)文件中。您可以按 Ctrl + Shift + P 和打字 Preferences: Open User Settings (JSON).
您可以选择将其添加到名为的文件中 .vscode/mcp.json 在您的工作空间中。这将允许您与他人共享配置。
请注意mcp中不需要密钥.vscode/mcp.json文件。
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "slide_api_key",
"description": "Slide API Key",
"password": true
}
],
"servers": {
"slide": {
"command": "/path/to/slide-mcp-server",
"env": {
"SLIDE_API_KEY": "${input:slide_api_key}"
}
}
}
}
}使用自定义配置和禁用工具:
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "slide_api_key",
"description": "Slide API Key",
"password": true
}
],
"servers": {
"slide": {
"command": "/path/to/slide-mcp-server",
"env": {
"SLIDE_API_KEY": "${input:slide_api_key}",
"SLIDE_TOOLS": "read-only",
"SLIDE_DISABLED_TOOLS": "slide_admin"
}
}
}
}
}💡 使用示例
健康摘要
{
"name": "slide_overview",
"arguments": {"operation": "health"}
}“昨晚ACME的备份运行了吗?”
{
"name": "slide_backups",
"arguments": {
"operation": "status_for_client",
"client_id": "c_0123456789ab",
"hours": 24
}
}在代理的每个快照中查找文件
{
"name": "slide_files",
"arguments": {
"operation": "search",
"agent_id": "a_0123456789ab",
"search_term": "Q4-budget"
}
}查找包含特定路径的每个快照
{
"name": "slide_files",
"arguments": {
"operation": "versions",
"agent_id": "a_0123456789ab",
"path": "C:\\Users\\bob\\Documents\\Q4-budget.xlsx"
}
}启动恢复虚拟机
{
"name": "slide_recovery",
"arguments": {
"operation": "boot_vm",
"snapshot_id": "s_0123456789ab",
"device_id": "d_0123456789ab",
"cpu_count": 4,
"memory_in_mb": 8192,
"network_type": "network-id",
"network_source": "n_0123456789ab"
}
}为正在运行的VM生成RDP书签
{
"name": "slide_recovery",
"arguments": {
"operation": "get_rdp_bookmark",
"virt_id": "v_0123456789ab"
}
}审计日志:过去24小时发生了什么变化?
{
"name": "slide_audit",
"arguments": {"operation": "recent", "hours": 24}
}分类打开警报(先排序最差)
{
"name": "slide_alerts",
"arguments": {"operation": "triage"}
}启动备份
{
"name": "slide_backups",
"arguments": {"operation": "start", "agent_id": "a_0123456789ab"}
}将快照导出为VHDX映像
{
"name": "slide_recovery",
"arguments": {
"operation": "export_image",
"snapshot_id": "s_0123456789ab",
"device_id": "d_0123456789ab",
"image_type": "vhdx"
}
}构建
# Build for current platform
make build
# Build for all platforms
make build-all
# Create release packages
make release
# View available commands
make help发布流程
统一发布脚本(推荐)
这 release-all-in-one.sh 脚本自动化了整个发布工作流程:
# Auto-increment patch version and create release
./scripts/release-all-in-one.sh
# Release specific version
./scripts/release-all-in-one.sh v2.5.0
# Test release process without making changes
./scripts/release-all-in-one.sh --dry-run v2.5.0
# Build locally without pushing to GitHub
./scripts/release-all-in-one.sh --no-push
# Re-release existing version (overwrite tag and GitHub release)
./scripts/release-all-in-one.sh --force v2.5.0它的作用:
- 检查先决条件(Go、GitHub CLI、jq)
- 验证git状态(主分支上的干净工作目录)
- 更新Makefile和config.go中的版本号
- 运行测试(可选
--skip-tests) - 提交版本更改
- 为所有平台构建二进制文件
- 对macOS二进制文件进行签名和公证(如果提供了凭据)
- 创建发布包(Unix为.tar.gz,Windows为.zip)
- 生成SHA256校验和
- 从git历史记录创建发行说明
- 标签发布
- 推送到GitHub
- 创建包含所有资产的GitHub版本
环境变量(发布时需要):
APPLE_ID:用于macOS公证的Apple IDAPP_SPECIFIC_PASSWORD:用于公证的应用程序特定密码
⚠️ 重要:macOS二进制文件必须经过签名和公证才能在用户系统上运行。该脚本强制执行此要求,如果不提供凭据,则将失败。仅用于本地测试,请使用 --no-push --skip-macos-signing.
设置凭据(一次性设置):
# Option 1: Use credentials file (Recommended - saves credentials locally)
# File is already created at scripts/release-env.sh and gitignored for security
source scripts/release-env.sh
# Option 2: Set manually each time
export APPLE_ID='your-apple-id@example.com'
export APP_SPECIFIC_PASSWORD='xxxx-xxxx-xxxx-xxxx'获取Apple凭据:
- Apple ID:您的Apple开发者帐户电子邮件
- 应用程序特定密码:
- 首选 appleid.apple.com - 登录并导航到“安全”部分 - 点击应用程序特定密码下的“生成密码” - 复制生成的密码(格式:xxxx-xxxx-xxxx)
- 开发者ID证书:从Apple开发者帐户安装
- 代码签名所需 - 必须是“开发者ID应用程序”证书
安全说明:The scripts/release-env.sh 文件是gitignored的,永远不会提交到存储库。
选项:
--dry-run:模拟而不进行更改--skip-tests:跳过运行测试--no-push:在没有GitHub操作的情况下在本地构建--skip-macos-signing:跳过签名(仅限测试,必须与--无推送一起使用)--force或-f:强制覆盖现有版本(删除标签和GitHub版本)--help:显示详细帮助
手动发布(传统版)
对于手动控制,使用现有 automated-release.sh 脚本(请参见 scripts/RELEASE_README.md).
架构优势
对于LLMs
- 降低复杂性:14个元工具vs 52+个独立工具
- 逻辑分组:共同组织的相关行动
- 一致的接口:所有元工具都遵循相同的操作模式
- 更好的上下文:更少的工具切换,更专注的对话
对于开发者
- 可维护性:每个元工具都在自己的文件中
- 可扩展:易于向现有类别添加新操作
- 向后兼容:保留所有原始功能
- 模式验证:每次操作的条件参数验证
许可证
此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。
