
MarkuprPlus
io.github.hashfunction由 GitHub 账号 hashfunction 发布v3.1.2更新于 Oct 27, 2026
Records your screen and voice, returns one annotated screenshot and finding per mark.
概览
桌面截屏 MCP 服务器,让 AI 助手抓取屏幕截图、录制屏幕与语音,并获得结构化的视觉反馈报告。
- 可以做什么
- 抓取当前屏幕,附带光标、活动应用与窗口及焦点信息,或描述屏幕上显示的内容
- 按指定时长录制屏幕与麦克风,或以开始/停止方式交互录制,并返回结构化报告
- 将已有视频文件或单张截图分析为带抽取帧的 Markdown
- 根据生成的报告创建 GitHub 或 Linear 议题
- 适用场景
- 适合希望编码助手直接看到界面缺陷或布局问题、而不依赖文字描述的场景,也适合把口述的屏幕录制整理成逐条问题与标注截图。
- 运行要求
- 通过 npx 以本地 stdio 进程运行(npm 包 markuprplus,入口 markuprplus-mcp)。仅限桌面端:Windows 或 macOS。分析功能需要 Node.js 20.9+ 及 PATH 中的 ffmpeg。需要屏幕录制与麦克风权限。AI 报告可选使用已登录的提供方或 Anthropic API 密钥;本地规则无需任何凭据。
安装
在 SourceWeft 中
- 打开 控制台中的 MarkuprPlus,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
MarkuprPlus
You see it. You say it. Your AI fixes it.
A Windows and macOS desktop app, CLI, and MCP server for visual feedback.
Record and annotate from your desktop, process recordings from the terminal, or give your AI agent screen capture tools.
Download for Windows or macOS · Use the CLI · Connect an MCP client · GitHub Action
[Watch the 33-second MarkuprPlus product tour]
▶ Watch the 33-second product tour
Pick a window. Talk through what's wrong. Circle it while it happens.
Every circle becomes its own issue, with its own screenshot, ready to paste into your coding agent.
[CI] [Nightly] [Deploy] [Action] [Coverage]
[Version 3.2.0] [Desktop app for Windows and macOS] [MarkuprPlus CLI] [MCP server for AI agents] [Local Whisper transcription] [License]
Quick Start · The Loop · Output · Screenshots · Providers · MCP · CLI
[An app under review, unmarked] [The same screen with a red freehand ellipse around the problem]
Hold Ctrl on Windows or Cmd on macOS, circle the problem, keep talking. That stroke becomes MX-001.
The Problem
Your coding agent can't see your screen. So you stop working and start transcribing: describe the layout bug in prose, take a screenshot, crop it, drag it into the right place, explain which part matters. You speak at 150 words per minute and type at 60, and the context leaks out on the way.
The Solution
MarkuprPlus is a Windows and macOS desktop app, with a CLI, MCP server, and GitHub Action for automated workflows. The desktop app lives in the Windows system tray or macOS menu bar. It records the exact window you point at, listens while you narrate, and lets you draw on the live screen without blocking your clicks. When you stop, it transcribes on-device, aligns your words to each mark, and writes a report your agent can act on — one finding per circle, each with its own annotated frame.
The Loop
1. Press the capture shortcut and pick your target
Use Ctrl+Shift+F on Windows or Cmd+Shift+F on macOS.
The picker opens above every window. Whatever is under your cursor lights up — click it and the recorder locks onto that window alone, and stays locked through moves, resizes, and app switches. Region and full-display modes are one click away when a finding needs a wider frame.
If the window's identity or native geometry ever becomes ambiguous mid-session, capture stops rather than widening to whatever is behind it. You never ship a frame you didn't mean to share.
The capture controls live in one portrait popover, accessible from the Windows system tray or macOS menu bar.
2. Talk while you work
Keep clicking through your app as usual. MarkuprPlus records the window and your microphone together, then transcribes with Whisper on-device after you stop.
The picker, the drawing canvas, and the recording HUD are all excluded from screen capture at the OS level — nothing MarkuprPlus draws ends up in your video. Only your app does, plus the strokes you meant to leave.
3. Hold Ctrl (Windows) or Cmd (macOS) and draw
[A red hand-drawn ellipse around the tab bar of the app under review]
Hold the modifier key and drag to paint straight onto the live screen — freehand, circle, or highlight, in a colour you choose. Let go of the key and your next normal click both reaches the app underneath and saves that mark, clearing the canvas for the next one.
Three circles means three issues, not one screenshot with three scribbles on it. Each finding carries its own PNG, timestamp, tool, and colour.
4. Press the capture shortcut again to stop
Use Ctrl+Shift+F on Windows or Cmd+Shift+F on macOS.
Whisper runs, your narration is aligned to each mark, and the report is written to disk. The markdown path lands on your clipboard the moment it's ready — paste it straight into Claude Code, Codex, Cursor, or anything else that reads a file.
Everything for the session goes in one folder: the report, the screenshots, the session video, the narration audio, and the metadata.
Quick Start
Windows and macOS desktop app (recommended)
Download from markuprplus.com or the releases page. Choose the Windows installer (.exe) or the macOS disk image (.dmg) for Apple Silicon or Intel.
macOS install note: Direct downloads from GitHub Releases are signed, notarized, and stapled. If Gatekeeper rejects an artifact, use MarkuprPlus support so the release can be investigated.
- Press
Cmd+Shift+F(macOS) orCtrl+Shift+F(Windows) and click the window you want. - Narrate what you see. Hold
Cmd/Ctrland drag to mark the live screen. - Release the key, then click normally — that saves the mark and clears the canvas. Repeat for every finding.
- Press the hotkey again to stop. The report path is on your clipboard.
MCP server (for AI coding agents)
CLI (for recordings you already have)
Compatibility: the public package and commands are
markuprplusandmarkuprplus-mcp. Existing.markuprxproject files, storage paths, and app identifiers remain unchanged so upgrades keep their settings and sessions.
Optional companion for Mac App Store CLI integrations
The sandboxed Mac App Store app can use AI command-line tools already installed and signed in on your Mac through the optional MarkuprPlus CLI Bridge. Local Rules, Ollama, LM Studio, and Anthropic API do not require this companion.
Install and pair it from a Terminal:
The public npm package contains the same versioned CLI and MCP entry points used by the source release.
The service listens only on 127.0.0.1:49647, requires its random pairing token for every provider request, and accepts a fixed structured-report protocol rather than shell text. The App Store app does not run shell commands or launch external tools; the separately installed companion invokes only the provider selected in Settings.
Lifecycle and recovery commands:
Rotating the token requires pairing again. Uninstall removes the exact LaunchAgent and bridge configuration owned by MarkuprPlus; it does not uninstall your AI CLIs.
What Lands in Your Folder
One session, one directory:
A real, unedited finding from that session:
Each finding carries more than pixels:
Marked issues are numbered MX-001…; items that come from narration alone are FB-001….
Every Surface
Local Transcription
On desktop startup, MarkuprPlus downloads the multilingual Whisper tiny model (~75 MB) in the background if no local model is installed. Existing models are reused. Download progress and retryable errors appear under Settings > Advanced > Local Transcription. Interrupted downloads resume on the next startup; offline or failed downloads do not block opening the app. Once downloaded, local transcription works without an internet connection.
Interface Language
The desktop interface defaults to English, including when upgrading from an installation that previously displayed Traditional Chinese automatically. Choose Settings > General > Language > Interface language to opt into Traditional Chinese or switch back to English. The preference is saved and applies immediately across open windows without restarting or interrupting a recording. Resetting General settings restores English.
Interface language is separate from transcription language. Feedback text, recordings, and generated reports are not translated by this setting.
To add another interface language, register its identifier and display name in
src/shared/uiLanguage.ts and its translation catalog in
src/renderer/i18n/catalogs.ts. English labels are the source and fallback for
missing translations; mark user-content regions with translate="no".
Report Providers
Pick the model that turns a capture into a structured report. MarkuprPlus checks each one before you record and shows you what it actually found.
In the Mac App Store app, CLI providers use the optional local companion described above. Direct desktop builds invoke the same adapters inside the app. Both paths preserve Local Rules as the failure-safe report.
Failure is safe by design. If the provider you picked errors out, the deterministic Local rules report is written anyway, and the popover names the provider and the reason. Your recording, audio, and marks were already on disk before analysis started. An explicit CLI choice never silently becomes an Anthropic call.
Codex CLI, GitHub Copilot CLI, and OpenCode can receive captured screenshots. Transcript-only CLI adapters reject screenshot-only sessions instead of inventing visual findings.
To use GitHub Copilot CLI, install or update copilot, run copilot login
in Terminal, then select GitHub Copilot CLI in Report Settings and refresh
providers. Leave the model blank to use your Copilot default, or enter a Copilot
model ID. Discovery verifies the installed version; authentication is verified
when a report runs. The optional CLI Bridge provides the same integration for
the Mac App Store app.
Copilot receives the transcript over stdin and screenshots as attachments. Each report uses a temporary Copilot configuration that reuses only your login identity (credentials remain in the OS credential store) and default model, not your plugins, hooks, MCP servers, or saved permissions. All model tools and custom instructions are disabled. Temporary context is removed after success or failure. Environment-token authentication is also supported; plaintext credential fallbacks are not copied into the temporary configuration.
processing-trace.json records exactly what happened:
Why MarkuprPlus
Evidence, not footage. A screen recording leaves your agent a video it can't watch and you a file you have to narrate twice. This gives you separate findings, one annotated frame each, the words you said at that timestamp, and the window and cursor context.
Local-first. Whisper runs on your device and Local rules needs no credentials. Cloud transcription and cloud models only run when you explicitly pick them. No account, no telemetry, no analytics.
It doesn't film itself. The picker, the drawing canvas, and the recording HUD are content-protected at the OS level. Your marks reach the report; the app's own chrome never reaches the video.
Fits your workflow. Windows and macOS desktop apps for daily capture, a CLI for scripts and CI, an MCP server for agents, and a GitHub Action for pull requests.
Open source. MIT licensed. Read it, fork it, ship it.
MCP Server
Give your agent eyes and ears. It can capture screenshots, record your screen with voice, and receive structured reports mid-conversation.
Connect GitHub Copilot CLI, the Claude Mac app, or Codex with the setup command:
Run the command for each client you use, then restart that client. Claude setup covers both Chat and Code. Codex shares its configuration with its CLI. Add --dry-run to preview; existing settings and other servers are preserved, and changed files are backed up. An existing conflicting markuprplus entry requires --force. See client setup and capabilities for details.
For manual setup, Claude Code (~/.claude.json or project .mcp.json), Cursor, and Windsurf take the same shape:
Tools
Full MCP documentation: README-MCP.md.
CLI
Output templates: markdown (default) · json · github-issue · linear · jira
The desktop app also exports html and pdf.
Requirements: Node.js 20.9+ and ffmpeg on your PATH (brew install ffmpeg / apt install ffmpeg / choco install ffmpeg).
[MarkuprPlus desktop-to-report workflow demo]
Integrations
GitHub Action
Analyze recordings in CI and post structured feedback on the pull request that needs it:
See markuprx-action/README.md for every input.
Issue trackers
Push each finding straight into GitHub Issues or Linear — screenshot, narration, timestamp, and capture context already formatted — from the app, the CLI, or your agent over MCP.
Keyboard Shortcuts
Recording, screenshot, and pause are global and rebindable in Settings → Hotkeys. Full reference: docs/KEYBOARD_SHORTCUTS.md.
How It Works
The pipeline degrades gracefully at every step. No ffmpeg? Transcript-only output. No Whisper model? Timer-based screenshots. No provider? Local rules. A failure anywhere still leaves you a report and the raw session on disk.
For architecture details, see CLAUDE.md.
Development
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Run tests:
npm test && npm run lint && npm run typecheck - Open a Pull Request
See CONTRIBUTING.md for full guidelines.
License
MIT — see LICENSE.
来源:README.md,提交 dd622f9
工具
0版本历史
1- v3.1.2最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分