B
Bra1nZ/screenshot-mcp
no SECURITY.md
View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
- Star count
- 5 ★ · Bra1nZ/screenshot-mcp · read from the GitHub search API · (checked 2026-11-13 20:00:50)
- Source
- read directly from its GitHub page · type: open-source project
- Harvest history
- first seen 2026-10-21 · last seen 2026-11-14 · seen 28× · listed by 1 sources
- Score
- score 103 · 5 ★ · 1 sources · repo
FAQ (answers come from our records)
Who is it for?
We filed it under these tags: 开源项目. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository
Bra1nZ/screenshot-mcp;first catalogued 2026-10-21;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.# screenshot-mcp
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
MCP-сервер, который даёт агенту настоящее окно консоли на рабочем столе
и снимки экрана штатным средством системы.
Ключевая сложность в том, что под Wayland не работают привычные приёмы автоматизации
терминала: xdotool не вводит текст в нативные Wayland-приложения, wmctrl не
существует, а tmux умеет управлять сессией, но не окном на экране. Здесь ввод идёт
прямо в псевдотерминал, поэтому терминал показывает его так же, как ввод с
клавиатуры, — без эмуляции клавиш и без каких-либо следов в интерфейсе.
Возможности:
новое отдельное окно консоли с твоим ~/.bashrc — твой промпт, цвета, алиасы;
ввод команд и чтение вывода с кодом возврата;
интерактивные программы: ввод, Ctrl+C, Ctrl+D, стрелки, история команд;
снимок всего рабочего стола с поднятием окна консоли на передний план;
снимок возвращается агенту прямо в ответе (картинкой), так что он может сам
оценить, что попало в кадр.
## Как это устроено
MCP-сервер (server.py)
│ UNIX-сокет, JSON
core/bridge.py — «насос»: переливает ввод и вывод
│ псевдотерминал (pty)
bash ── запущен прямо в окне терминала, наследует ~/.bashrc
Настоящий bash работает внутри окна терминала и подхватывает пользовательский
.bashrc. Заголовок окна при этом неотличим от обычного ( : bash — Konsole).
Агент пишет байтами прямо в pty. Их обрабатывает tty-драйвер (отражение ввода) и
readline — то есть это буквально тот же путь, что и при наборе с клавиатуры.
Никакой эмуляции клавиш, поэтому в терминале не остаётся следов автоматизации.
Код возврата берётся через хук PROMPTCOMMAND, который пишет маркер в служебный
файл: на экране ничего не появляется.
## Архитектура
Платформенные различия вынесены в бэкенды, ядро от них не зависит:
screenshotmcp/
├── core/ pty-мост, сессия консоли, лаунчер — POSIX, работает везде
├── backends/
│ ├── terminal/ konsole · xterm · gnome-terminal
│ ├── screenshot/ spectacle · x11 · gnome
│ └── focus/ kwin · xdotool · atspi · none
├── config.py определение окружения и пользовательские настройки
└── runtime.py сборка окружения, настроек и бэкендов
Выбор бэкендов автоматический: определяется тип сессии (XDGSESSIONTYPE) и рабочее
окружение (XDGCURRENTDESKTOP). При необходимости его можно задать явно — см.
Настройку.
## Поддерживаемые окружения
| Окружение | Окно терминала | Снимок экрана | Поднятие окна |
| KDE Plasma 6 / Wayland | Konsole | Spectacle | KWin-скриптинг |
| KDE Plasma / X11 | Konsole, xterm | ImageMagick, scrot, maim | xdotool |
| GNOME / Wayland | gnome-terminal | gnome-screenshot | AT-SPI |
| X11 (любой DE) | xterm, gnome-terminal | ImageMagick, scrot, maim | xdotool |
> Что проверено вживую: только вариант KDE Plasma / Wayland — на нём прогнаны
> все тесты. X11- и GNOME-пути написаны по документации используемых утилит
> (scrot, maim, import, xdotool, gnome-screenshot, AT-SPI) и требуют
> проверки на своём железе: терминал и снимок там работают через те же бэкенды
> ядра, но поднятие окна в X11 завязано на xdotool, а в GNOME — на AT-SPI, и
> доступность этих способов зависит от окружения.
## Требования
Python 3.11+ и пакет mcp;
терминал: konsole, xterm или gnome-terminal;
для снимков: spectacle (KDE) либо scrot/maim/import (X11) либо
gnome-screenshot (GNOME);
для поднятия окна: KWin (идёт с Plasma) либо xdotool на X11;
и снимки экрана штатным средством системы.
Ключевая сложность в том, что под Wayland не работают привычные приёмы автоматизации
терминала: xdotool не вводит текст в нативные Wayland-приложения, wmctrl не
существует, а tmux умеет управлять сессией, но не окном на экране. Здесь ввод идёт
прямо в псевдотерминал, поэтому терминал показывает его так же, как ввод с
клавиатуры, — без эмуляции клавиш и без каких-либо следов в интерфейсе.
Возможности:
новое отдельное окно консоли с твоим ~/.bashrc — твой промпт, цвета, алиасы;
ввод команд и чтение вывода с кодом возврата;
интерактивные программы: ввод, Ctrl+C, Ctrl+D, стрелки, история команд;
снимок всего рабочего стола с поднятием окна консоли на передний план;
снимок возвращается агенту прямо в ответе (картинкой), так что он может сам
оценить, что попало в кадр.
## Как это устроено
MCP-сервер (server.py)
│ UNIX-сокет, JSON
core/bridge.py — «насос»: переливает ввод и вывод
│ псевдотерминал (pty)
bash ── запущен прямо в окне терминала, наследует ~/.bashrc
Настоящий bash работает внутри окна терминала и подхватывает пользовательский
.bashrc. Заголовок окна при этом неотличим от обычного ( : bash — Konsole).
Агент пишет байтами прямо в pty. Их обрабатывает tty-драйвер (отражение ввода) и
readline — то есть это буквально тот же путь, что и при наборе с клавиатуры.
Никакой эмуляции клавиш, поэтому в терминале не остаётся следов автоматизации.
Код возврата берётся через хук PROMPTCOMMAND, который пишет маркер в служебный
файл: на экране ничего не появляется.
## Архитектура
Платформенные различия вынесены в бэкенды, ядро от них не зависит:
screenshotmcp/
├── core/ pty-мост, сессия консоли, лаунчер — POSIX, работает везде
├── backends/
│ ├── terminal/ konsole · xterm · gnome-terminal
│ ├── screenshot/ spectacle · x11 · gnome
│ └── focus/ kwin · xdotool · atspi · none
├── config.py определение окружения и пользовательские настройки
└── runtime.py сборка окружения, настроек и бэкендов
Выбор бэкендов автоматический: определяется тип сессии (XDGSESSIONTYPE) и рабочее
окружение (XDGCURRENTDESKTOP). При необходимости его можно задать явно — см.
Настройку.
## Поддерживаемые окружения
| Окружение | Окно терминала | Снимок экрана | Поднятие окна |
| KDE Plasma 6 / Wayland | Konsole | Spectacle | KWin-скриптинг |
| KDE Plasma / X11 | Konsole, xterm | ImageMagick, scrot, maim | xdotool |
| GNOME / Wayland | gnome-terminal | gnome-screenshot | AT-SPI |
| X11 (любой DE) | xterm, gnome-terminal | ImageMagick, scrot, maim | xdotool |
> Что проверено вживую: только вариант KDE Plasma / Wayland — на нём прогнаны
> все тесты. X11- и GNOME-пути написаны по документации используемых утилит
> (scrot, maim, import, xdotool, gnome-screenshot, AT-SPI) и требуют
> проверки на своём железе: терминал и снимок там работают через те же бэкенды
> ядра, но поднятие окна в X11 завязано на xdotool, а в GNOME — на AT-SPI, и
> доступность этих способов зависит от окружения.
## Требования
Python 3.11+ и пакет mcp;
терминал: konsole, xterm или gnome-terminal;
для снимков: spectacle (KDE) либо scrot/maim/import (X11) либо
gnome-screenshot (GNOME);
для поднятия окна: KWin (идёт с Plasma) либо xdotool на X11;
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[](https://anclum.com/en/s/bra1nz-screenshot-mcp/)
- Source
- github · https://github.com/Bra1nZ/screenshot-mcp
- Browse by field
- Open source
- Traction
- 5 ★
- added
- today
- Security policy
- no
SECURITY.mdat the repository root (which does not mean it is unsafe)
More like this
Filed under
Every tag opens the full list for that filter. Counts are the live catalogue figures.