Token导航 LogoToken导航TokenDH.com
Syscontrol MCP logo
开发工具stdio官方级别未说明来源级核验

Syscontrol MCP

MCP Server

一个为Mac设计的AI代理,能够回答关于系统的各种问题,并实时扩展自身工具集,覆盖CPU、RAM、GPU、磁盘、网络、进程等92种实时工具。

工具数

92

提示词数

0

GitHub Stars

0

资源数

0
系统监控开发工具PythonClaudeAI代理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ks6573

提供方

ks6573

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run agent.py

详细介绍

系统控制

一个适用于Mac的AI代理,可以回答有关系统的问题,并可以随时使用新工具进行扩展。

92个实时工具,涵盖CPU、RAM、GPU、磁盘、网络、进程、iMessage、电子邮件、剪贴板、浏览器、天气、提醒、Docker、time Machine、Wi-Fi、日历、联系人、Notes、Homebrew、媒体控制、文件管理、Spotlight搜索、电子表格、Word文档、PDF、图像生成、深度网络研究、子代理编排、代码编辑、git集成等。代理会自动选择正确的工具,并行运行它们,并用简单的英语回答。

运行它的三种方法——选择适合您工作流程的方法:

如何最好
应用下载 .app一键式原生macOS体验——无需设置
命令行界面syscontrol (单线安装)终端优先工作流、脚本、SSH会话
克劳德桌面版MCP服务器在Claude Desktop中使用SysControl工具

所有接口共享相同的代理、工具和提供者——它们是可互换的。

______________________________________________________________________

应用程序(推荐)

一个具有流式聊天、Markdown渲染、聊天历史侧边栏和自动保存功能的原生SwiftUI应用程序——无需Python、无需终端、无需安装依赖项。只需在“设置”中下载、打开并配置您的提供商。

下载

选项A——预制DMG (无需Xcode):

下载最新 SysControl.dmg 从 ,拖动到“应用程序”,然后在首次启动时绕过Gatekeeper(该应用程序是临时签名的,未经过公证):

xattr -r -d com.apple.quarantine /Applications/SysControl.app

或者右键单击应用程序→ 打开打开 第一次。

选项B--从源代码安装 (在本地编译,自动绕过Gatekeeper):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/ks6573/SysControl/master/swift/install.sh)"

稍后更新:使用 检查更新 在应用程序(⇧⌘U)中,或运行 syscontrol-update 从终端。

要卸载:请重新运行 --uninstall.

选项C——手动构建:

git clone https://github.com/ks6573/SysControl.git
cd SysControl/swift
./build.sh release
open .build/SysControl.app
要求: macOS 14(索诺玛)或更高版本。选项B和C也需要Xcode命令行工具(xcode-select --install).

特性

  • 流媒体响应 --令牌在到达时随实时Markdown呈现而出现
  • 自动保存 --每个对话都会自动保存,并使用LLM生成的标题
  • 聊天历史侧栏 --浏览和删除过去的聊天记录
  • 设置 --在应用程序中在本地(Ollama)和云提供商之间切换
  • 应用内更新 --从菜单栏(⇧⌘U)或设置中检查新版本;DMG用户一键下载,源安装用户自动更新
  • 无设置 --一切都是通过应用程序本身配置的

首次发射

首次启动时,会自动显示入职表:

  1. 选择 当地(Ollama) --要求 奥拉玛 在本地运行,不需要API密钥
  2. 或选择 -输入API密钥
  3. 点击 完成 然后开始聊天

若要稍后更改提供程序,请打开 设置 (⌘,).

聊天记录保存为Markdown ~/.syscontrol/chat_history/ --自由查看、编辑或删除。

______________________________________________________________________

命令行界面

与应用程序运行相同后端的终端代理。两种安装路径:

选项A——单线安装(推荐):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/ks6573/SysControl/master/install-cli.sh)"

安装 uv 如果丢失,则运行 uv tool install 针对GitHub仓库,暴露 syscontrolsyscontrol-server 在你的 PATH 在一个孤立的静脉里。不需要克隆。

稍后更新:运行 syscontrol --update (或 /update REPL内部);独立 syscontrol-cli-update 脚本仍在安装中。

要卸载:请重新运行 -- --uninstall.

选项B——来自克隆(用于开发):

git clone https://github.com/ks6573/SysControl.git
cd SysControl
curl -LsSf https://astral.sh/uv/install.sh | sh   # if uv not installed
uv sync
uv run agent.py

需求

  • macOS或Linux
  • python 3.11+ (如果您的系统Python较旧,uv将获取一个)
  • 奥拉玛 对于本地模式, 用于云模式的Ollama Cloud API密钥

CLI标志

syscontrol                                          # interactive
syscontrol --provider local --model qwen3:30b      # local, skip prompt
syscontrol --provider cloud --api-key sk-...       # cloud, skip prompt (key is remembered)
syscontrol --provider cloud --no-save-key          # cloud, prompt every time
syscontrol --continue                              # resume the most recent session
syscontrol --resume                                # pick a previous session from a list
syscontrol --coding --approval normal              # coding agent, ask before edits/shell
syscontrol --coding --approval plan                # read-only planning mode
syscontrol --coding --approval auto                # auto-accept coding edits/shell
克隆(选项B)用户可以替换 uv run agent.py 为了 syscontrol 在下面的任何命令中。

第一次输入Ollama Cloud API密钥时(通过 --api-key 或提示),保存到 ~/.syscontrol/cli_credentials.json (0600)这样你就不会再被问到了。使用 --no-save-key 选择退出,或 /logout 从REPL忘记它。

编码模式

CLI可以作为具有窄代码工具集的编码代理运行:文件搜索/读取/编辑, git status/diff和shell命令。审批方式:

模式行为
plan只读。代理可以检查并生成实施计划,但编辑和shell命令被阻止。
normal读取是自动的;文件写入和shell命令在终端中请求批准。
auto“Just do it”模式。自动接受会话的编码编辑和shell命令。

Shift+Tab 在系统监控模式和编码模式之间切换。在编码模式内部, 使用 /approval plan, /approval normal,或 /approval auto 改变政策。老人 standardnuke 名字仍然可以作为别名。

Slash命令和键盘快捷键

交互式CLI感觉就像Codex/Claude Code:type / 弹出完成菜单, @ 从cwd内联文件, ! 要运行一次性shell命令,底部工具栏将始终显示活动模型、提供者、审批模式和消息计数。

命令描述
/help显示所有命令和键盘快捷键
/clear清除屏幕
/reset清晰的对话历史记录(保持系统提示)
/tools [filter]列出可用工具,可选择按子字符串筛选
/model显示活动模型和提供程序
`/mode [system\coding] [plan\normal\auto]`切换系统/编码模式或进入编码子模式
/test [command]在编码模式下运行检测到的测试命令或提供的命令
/lint [command]在编码模式下运行检测到的lint/typecheck命令或提供的命令
/memory 将带时间戳的注释附加到 SysControl_Memory.md
/show [tool_name]转储最近一次工具调用的完整输出
/sessions列出最近保存的CLI会话
/init生成一个 CLAUDE.md 对于当前项目
/compact [undo]总结对话; undo 恢复以前的历史记录
`/approval plan\normal\auto`切换编码模式审批政策
/update [force]检查并安装最新的SysControl版本
/logout忘记保存的Ollama Cloud API密钥
/exit退出会话
关键行动
Enter提交单行缓冲区;缓冲区为多行后插入换行符
Ctrl+D提交任何非空缓冲区;在空缓冲区退出
Ctrl+C取消飞行中的LLM/工具流(在1秒内再次按下以干净退出)
/ 历史导航
Ctrl+R反向历史搜索
Tab完成当前斜线命令, @file,或争论
Shift+Tab切换系统/编码模式
Ctrl+L清除屏幕
Esc, Enter始终插入换行符(在多行模式下让Enter添加换行符的替代方法)

类型 @ 弹出当前目录范围内的文件选择器(使用 git ls-files 如果可用;回落到递归行走)。所选路径在缓冲区中保持字面意义,并在提交时作为围栏代码块内联(每个文件的上限为64KB)。

类型 ! 直接运行shell命令——output内联打印,绕过LLM。需要 allow_shell=true~/.syscontrol/config.json.

历史坚持到 ~/.syscontrol/cli_history.对话自动保存到 ~/.syscontrol/cli_sessions/;继续使用最新 syscontrol --continue 或从列表中选择 syscontrol --resume.

本地模式(Ollama)

ollama pull qwen3:30b   # recommended
ollama serve
syscontrol --provider local

支持工具调用的模型:

型号备注
qwen3:30b默认值。最佳工具使用和推理
qwen3:8b更快、更低的内存——包括思维模式
qwen2.5:7b轻质替代品
llama3.1:8b久经考验的回退
没有本机工具调用的模型(例如。 gemma3)将出错。

云模式(Ollama Cloud)

syscontrol --provider cloud
# Enter your key when prompted — not echoed or stored in shell history

获取钥匙 ollama.com/settings/keys默认云模型: gpt-oss:120b.

结束会话

自然地说再见(bye, exit, quit, done, farewell, cya, goodnight,…)或按 复制。代理将在退出之前提供保存您的会话。

会话记忆

退出时,系统会提示您保存有关会话的简短说明。注释附于 SysControl_Memory.md 带有时间戳。下次启动时,如果文件存在,其内容将被注入系统提示符中,以便代理具有之前会话的上下文。该文件是纯文本的,只能追加,可以自由编辑或删除条目。

代理还可以通过以下方式在会话中保存和调用内存 read_memoryappend_memory_note 工具——无需等待退出。

隐私: SysControl仅存储您明确保存的内容。Ollama默认在本地处理查询。

______________________________________________________________________

权限和安全

敏感工具是 默认情况下禁用。启用它们 ~/.syscontrol/config.json:

{
  "allow_shell":           true,
  "allow_messaging":       true,
  "allow_message_history": true,
  "allow_screenshot":      true,
  "allow_file_read":       true,
  "allow_file_write":      true,
  "allow_calendar":        true,
  "allow_contacts":        true,
  "allow_accessibility":   true,
  "allow_tool_creation":   true,
  "allow_deep_research":   true,
  "allow_email":           true,
  "allow_notes":           true,
  "allow_brew":            true,
  "allow_agents":          true
}

每个禁用的工具都会返回一个错误,并带有启用它所需的确切标志。

______________________________________________________________________

Claude桌面设置

1.将MCP服务器添加到您的配置中

平台配置路径
macOS~/Library/Application Support/Claude/claude_desktop_config.json
窗户%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "system-monitor": {
      "command": "/path/to/uv",
      "args": ["run", "/absolute/path/to/SysControl/mcp/server.py"],
      "env": {}
    }
  }
}

使用 which uv 获取紫外线路径。

2.设置系统提示 --创建Claude桌面项目并粘贴以下内容 mcp/prompt.json 进入“项目说明”字段。

3.重新启动克劳德桌面system-monitor 将出现在MCP服务器列表中。

______________________________________________________________________

自我延伸

当你要求一些没有工具覆盖的东西时,代理会主动构建它:

You: What song is playing in Spotify right now?

Agent: I don't have a tool for that. Want me to create one? (yes/no)

You: yes

Agent: ✓ Tool `get_spotify_track` installed. Restart and ask again.

代理编写Python函数,验证语法,扫描危险模式(eval, exec等),并将其附加到 mcp/server.py。要求:

{ "allow_tool_creation": true }

______________________________________________________________________

工具(共92个)

监控

工具它做什么
get_cpu_usageCPU负载(总负载+每个内核)、时钟频率、内联条形图
get_ram_usageRAM和交换——已使用、可用、百分比、内联堆叠图表
get_gpu_usageGPU负载、VRAM、每个设备的温度(NVIDI/pynvml)、内联图表
get_disk_usage每个分区空间和累积I/O计数器
get_network_usage累计发送/接收字节数和每个接口状态
get_realtime_io实时磁盘读/写和网络下载/上传速度(MB/s)
get_top_processes按CPU或内存排列的前N个进程
get_full_snapshot单次调用:CPU+RAM+GPU+磁盘+网络+顶级进程
get_system_alerts分类扫描返回优先级严重/警告警报

系统和硬件

工具它做什么
get_device_specs静态配置文件:CPU型号、内核数量、RAM、GPU VRAM、磁盘、操作系统
get_battery_status百分比、充电状态、剩余时间
get_temperature_sensorsCPU/主板传感器(Linux/Windows)
get_system_uptime启动时间、正常运行时间、1/5/15分钟平均负载
get_hardware_profile现场压力+规格+OC能力+升级可行性+瓶颈分析

进程管理

工具它做什么
get_process_detailsPID的深度检查:路径、cmdline、用户、RSS/VMS、线程、打开的文件
search_process按名称查找进程(不区分大小写的部分匹配)
kill_processSIGTERM(默认)或SIGKILL PID。拒绝关键系统进程。

网络和连接

工具它做什么
get_network_connections所有具有状态和拥有进程的活动TCP/UDP连接
network_latency_checkPings网关、Cloudflare、Google DNS并行运行并诊断缓慢
get_wifi_networks具有SSID、频道、安全性、信号强度的附近网络

存储

工具它做什么
find_large_files路径下最大的N个文件。跳跃 .git, node_modules, .venv
eject_disk通过挂载点卸载并弹出外部磁盘

信息与通信

工具它做什么
send_imessage通过Messages.app发送iMessage或SMS。仅限macOS。
get_imessage_history阅读来自的最新消息 ~/Library/Messages/chat.db仅限.MOSX。
read_emails从Mail.app读取最近的电子邮件(按文件夹)。需要 allow_email仅限.MOSX。
send_email通过Mail.app发送电子邮件。需要 allow_email仅限.MOSX。
search_emails在所有帐户和邮箱中搜索电子邮件。需要 allow_email仅限.MOSX。

浏览器和Web

工具它做什么
web_searchDuckDuckGo搜索——标题、URL、代码片段。没有API密钥。
web_fetch以纯文本形式获取URL。无需浏览器。
grant_browser_access解锁浏览器控件(在用户同意后调用一次)
browser_open_url在默认浏览器中打开URL
browser_navigate通过AppleScript(macOS)导航活动选项卡
browser_get_page返回当前选项卡的URL、标题和文本(macOS)

剪贴板和屏幕

工具它做什么
get_clipboard返回当前剪贴板文本
set_clipboard将文本写入剪贴板
take_screenshot全屏PNG内联返回。(可选)保存到文件。仅限macOS。
generate_image从提示生成内联视觉图像伪影。需要一个OpenAI镜像API密钥。

应用程序控制和系统

工具它做什么
open_app按名称打开应用程序(open -a).仅限macOS。
quit_app优雅地退出(AppleScript)或强制终止应用程序。仅限macOS。
get_volume输出、输入和警报音量;静音状态
set_volume设置系统输出量(0–100)
get_now_playing当前正在Music.app或Spotify中播放曲目(标题、艺术家、专辑、位置)。仅限macOS。
media_control播放、暂停、跳过或停止Music.app/Spotify。自动检测活动玩家。仅限macOS。
get_frontmost_app返回所关注的应用程序的名称
toggle_do_not_disturb启用/禁用聚焦/DnD
run_shortcut通过以下方式运行命名快捷方式 shortcuts runmacOS 12+。

文件I/O和外壳

工具它做什么
read_file读取文本文件(最多16000个字符)
write_file将文本写入任何路径,根据需要创建目录
list_directory列出目录内容,包括名称、类型、大小和修改时间
move_file移动或重命名文件或目录
copy_file将文件复制到新位置
delete_file删除文件或目录(macOS上默认为垃圾箱,可恢复)
create_directory创建一个目录和任何缺失的父目录
search_files使用macOS Spotlight(mdfind)在系统范围内搜索文件。瞬间。仅限macOS。
read_spreadsheet从以下位置读取单元格 .xlsx.csv --支持工作表选择和单元格范围
edit_spreadsheet写入单元格(A1表示法)或将行附加到 .xlsx / .csv。创建新文件。
read_document阅读以下段落 .docx, .txt,或 .md 字数统计
edit_document查找/替换文本、覆盖段落或附加到 .docx 文件
read_pdf从PDF文件中逐页提取文本(最多200页)
run_shell_command执行bash命令并返回stdout/stderr。 默认情况下禁用。

日历、联系人和日志

工具它做什么
get_calendar_eventsCalendar.app未来N天的活动。仅限macOS。
get_contact按姓名、电话和电子邮件搜索Contacts.app。仅限macOS。
list_notes列出notes.app中的注释,包括标题、文件夹和时间戳。需要 allow_notes.
read_note按标题阅读笔记的全文(部分匹配)。需要 allow_notes.
create_note在Notes.app中创建新笔记。需要 allow_notes.
get_startup_items自动启动项目(macOS LaunchAgents、Windows注册表、Linux .desktop)
tail_system_logs带有可选关键字过滤器的系统日志的最后N行

公用事业

工具它做什么
set_reminder安排macOS通知。接受 "in 2 hours", "tomorrow at 9am"等等。
list_reminders所有带有ID和火灾时间的待处理提醒
cancel_reminder按ID取消提醒
get_weather当前天气+服装建议。自动从IP检测位置。
check_app_updatesHomebrew、Mac App Store和系统软件更新。仅限macOS。
brew_list列出所有已安装的自制配方奶粉和木桶。需要 allow_brew.
brew_install安装自制配方奶粉或木桶。需要 allow_brew.
brew_upgrade升级一个或所有Homebrew软件包。需要 allow_brew.
brew_uninstall卸载Homebrew配方奶粉或木桶。需要 allow_brew.
get_docker_status正在运行具有实时CPU百分比、内存、映像、状态和端口的容器
get_time_machine_status上次备份时间、阶段和进度(如果正在运行)、目标。仅限macOS。
track_package通过跟踪号跟踪UPS、USPS、FedEx或DHL的货物

记忆

工具它做什么
read_memory读取持久内存文件——跨会话保存的事实和笔记
append_memory_note在内存文件中添加一个简明的注释,以备将来调用

研究

工具它做什么
deep_research多步骤网络研究代理:计划子问题,搜索多个来源,提取和交叉验证声明,返回引用支持的答案。需要1-3分钟。

代码编辑和导航

工具它做什么
read_file_lines读取包含行号、偏移量和限制的文件——适合大文件。需要 allow_file_read.
edit_file有针对性的查找和替换编辑。精确字符串匹配,如果不明确,则失败。需要 allow_file_write.
glob_files按glob模式查找文件(例如。 **/*.py).跳过.git、node_modules、.vev。
grep_files使用可选上下文行跨文件搜索正则表达式内容。跳过二进制文件。
git_status显示分支、暂存/未暂存/未跟踪的文件以及最近的提交。
git_diff显示未暂存或暂存更改的git diff。

子代理编排

工具它做什么
list_agents列出可用的子代理及其名称和描述
run_agent将一个重点任务委托给一个命名的子代理(资源管理器、分析师、研究员、作家),该子代理在一个具有受限工具的隔离子流程中运行。需要 allow_agents.

自我延伸

工具它做什么
create_tool编写、验证并安装新的MCP工具 server.py。需要 allow_tool_creation.
list_user_tools列出通过安装的所有工具 create_tool

______________________________________________________________________

加班支持

从硬件和平台自动检测到:

平台CPU OCGPU OC
苹果硅(M系列)✗ 不支持✗ 不支持
英特尔Mac✗ 不支持(无BIOS)✗ 不支持(macOS)
英特尔K/KF/KS--Windows/Linux✅ 英特尔XTU或BIOS✅ MSI加力燃烧室
AMD Ryzen——Windows/Linux✅ Ryzen大师/PBO✅ MSI加力燃烧室

______________________________________________________________________

项目结构

SysControl/
├── agent.py                 # CLI entry-point shim
├── install-cli.sh           # One-line CLI installer (curl one-liner)
├── agent/
│   ├── cli.py               # Interactive terminal REPL
│   ├── core.py              # Shared agent logic: MCP client, streaming loop, helpers
│   ├── bridge.py            # JSON-over-stdio bridge for the Swift app
│   ├── agents.py            # Sub-agent specs: AgentSpec, AgentRegistry, built-in agents
│   ├── runner.py            # Sub-agent runner: isolated context, filtered tools
│   └── paths.py             # Path resolution (repo root, user data dir, memory file)
├── mcp/
│   ├── server.py            # MCP tool server (92 tools + self-extension)
│   └── prompt.json          # System prompt for the agent
├── deep_research/           # Deep research agent (iterative web research with citation verification)
├── swift/
│   ├── Package.swift         # SwiftPM package definition
│   ├── build.sh              # Builds the .app bundle and DMG
│   ├── install.sh            # One-line source installer
│   └── SysControl/           # SwiftUI source (App, Models, Views, Services, Storage)
├── scripts/
│   └── make_icon.py          # Generates the .icns app icon from source PNGs
├── pyproject.toml            # Python project config, dependencies, linting
├── VERSION                   # Current release version (single source of truth)
└── tests/                    # Pytest suite for agent core + MCP helpers

建筑

┌──────────────────────┐
│    SwiftUI App       │   Native macOS frontend
│  (swift/SysControl/) │   Onboarding, chat, settings, history
└────────┬─────────────┘
         │  JSON-over-stdio (bridge.py)
┌────────▼─────────────┐
│    Agent Core        │   Streaming agentic loop, LLM client
│  (agent/core.py)     │   Provider selection, tool dispatch
└────────┬─────────────┘
         │  JSON-RPC (stdio)
┌────────▼─────────────┐
│    MCP Server        │   92 tools, self-extension, permission checks
│  (mcp/server.py)     │   Concurrent tool execution via client pool
└──────────────────────┘

Swift前端通过以下方式与Python后端通信 agent/bridge.py,它通过stdio协议讲一个简单的JSON。这座桥重复使用了同样的东西 MCPClientPool CLI使用的流式循环,因此所有工具和功能都在每个接口上共享。

______________________________________________________________________

入口点

通过安装后 俏皮话 (或 pip install -e . 来自克隆):

脚本描述
syscontrol交互式CLI代理
syscontrol --update检查并安装最新版本
syscontrol --version打印已安装的版本并退出
syscontrol-serverMCP服务器(stdio)
syscontrol-cli-update独立更新程序脚本(与 syscontrol --update)

从克隆中不安装,使用 uv run:

命令描述
uv run agent.py交互式CLI代理
uv run -m mcp.serverMCP服务器(stdio)——用于克劳德桌面集成

______________________________________________________________________

许可证

该项目根据MIT许可证获得许可。看 许可证.

目录标签

目录标签

系统监控开发工具PythonClaudeAI代理本地部署Mac工具自动化开发效率

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

92

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP