Install rudycanshoot from npm
Version 1.3.1 declares 2 executable entrypoints.
npm install --save-exact rudycanshoot@1.3.1npx -y -p rudycanshoot@1.3.1 rudycanshootnpx -y -p rudycanshoot@1.3.1 screenshot-mcpAn MCP server that enables AI assistants to capture and view screenshots, supporting multiple AI tools and platforms
Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.
Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.
Version 1.3.1 declares 2 executable entrypoints.
npm install --save-exact rudycanshoot@1.3.1npx -y -p rudycanshoot@1.3.1 rudycanshootnpx -y -p rudycanshoot@1.3.1 screenshot-mcp| Canonical slug | rudycanshoot-d0b19db4 | Deployment | Local Only |
|---|---|---|---|
| Canonical package | npm:rudycanshoot | Repository | jrb00013/rudycanshoot |
| First published | — | Latest release | — |
| Last security verification | — | Classification confidence | 90% |
| Publication | Draft | Official distribution | Not verified |
| Channel | Identifier | Current version | Versions | Source |
|---|---|---|---|---|
| npm | rudycanshoot | 1.3.1 | 11 | Repository |
| Package | Version | Published / observed | Inventory | Security scan |
|---|---|---|---|---|
| npmrudycanshoot | 1.3.1Current | Sep 5, 2026 | 13 toolsSucceeded · 0 resources · 0 prompts | Evidence restricted |
Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.
No public current-version evidence is available yet.
| Tool | Category | Annotations | Risk |
|---|---|---|---|
annotate_screenshotAdd a text label to an existing screenshot. Returns the annotated image path.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Input image path"
},
"text": {
"type": "string",
"description": "Text to add"
},
"outputPath": {
"description": "Where to write annotated image (default: replaces input)",
"type": "string"
},
"position": {
"default": "bottom",
"type": "string",
"enum": [
"top",
"bottom",
"center"
]
},
"color": {
"default": "#00ff88",
"description": "Text color as hex, e.g. #ff0000",
"type": "string"
},
"fontSize": {
"default": 18,
"type": "integer",
"minimum": 8,
"maximum": 72
}
},
"required": [
"path",
"text"
]
} | — | — | |
capture_commandRun a shell command and render its output as a styled terminal screenshot PNG. Works without a display — uses Python/Pillow to render text on a dark terminal background. Returns the file path.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"command": {
"type": "string",
"description": "Shell command to run (passed to sh -c)"
},
"title": {
"description": "Title bar label (default: the command itself)",
"type": "string"
},
"outputDir": {
"description": "Directory to save into",
"type": "string"
},
"filename": {
"description": "Output filename (default: terminal-<timestamp>.png)",
"type": "string"
},
"timeout": {
"default": 30,
"description": "Command timeout in seconds",
"type": "integer",
"minimum": 1,
"maximum": 120
},
"fontSize": {
"default": 13,
"description": "Font size for rendering",
"type": "integer",
"minimum": 8,
"maximum": 24
}
},
"required": [
"command"
]
} | — | — | |
capture_urlHeadlessly render a web page (no visible browser) and screenshot it. Supports auth via cookies, a custom viewport, full-page capture, and waiting for dynamic content (e.g. maps) to settle. Returns the saved file path.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The page URL to capture"
},
"width": {
"default": 1600,
"description": "Viewport width in px",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"height": {
"default": 1000,
"description": "Viewport height in px",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"fullPage": {
"default": false,
"description": "Capture the full scrollable page",
"type": "boolean"
},
"waitMs": {
"default": 4000,
"description": "Settle delay after load (ms) for dynamic content",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"waitSelector": {
"description": "Also wait until this CSS selector exists",
"type": "string"
},
"cookies": {
"description": "Auth cookies as {name: value} (sent as a Cookie header)",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"headers": {
"description": "Extra HTTP headers as {name: value}",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"filename": {
"description": "Output filename",
"type": "string"
},
"outputDir": {
"description": "Directory to save into",
"type": "string"
}
},
"required": [
"url"
]
} | — | — | |
cleanup_videosDelete temporary screen recordings (default) or all recordings.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"all": {
"default": false,
"description": "If true, delete all videos not just tmp/",
"type": "boolean"
},
"olderThanMinutes": {
"default": 0,
"description": "Only delete files older than this many minutes (0 = all matching)",
"type": "number",
"minimum": 0
}
}
} | — | — | |
compare_screenshotsGet pixel-level similarity metrics between two screenshots.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"before": {
"type": "string",
"description": "Path to first image"
},
"after": {
"type": "string",
"description": "Path to second image"
}
},
"required": [
"before",
"after"
]
} | — | — | |
diff_screenshotsCompare two screenshots and render a difference image.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"before": {
"type": "string",
"description": "Path to 'before' image"
},
"after": {
"type": "string",
"description": "Path to 'after' image"
},
"outputPath": {
"type": "string",
"description": "Where to save the diff image"
},
"mode": {
"default": "highlight",
"type": "string",
"enum": [
"highlight",
"heatmap",
"side-by-side"
]
}
},
"required": [
"before",
"after",
"outputPath"
]
} | — | — | |
list_screenshotsList recent screenshots captured by this tool.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"limit": {
"default": 20,
"description": "Max number of results",
"type": "integer",
"minimum": 1,
"maximum": 100
}
}
} | — | — | |
list_videosList recent screen recordings (including temporary ones).Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 100
}
}
} | — | — | |
read_screenshotRead a previously captured screenshot as base64 so the AI can view it.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Absolute path to the screenshot file"
}
},
"required": [
"path"
]
} | — | — | |
read_videoExtract frames from a saved video/GIF and return them as images so the AI can watch and understand the recording.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Absolute path to the video or GIF"
},
"maxFrames": {
"default": 12,
"description": "Max evenly spaced frames to return",
"type": "integer",
"minimum": 1,
"maximum": 30
}
},
"required": [
"path"
]
} | — | — | |
record_terminalRecord a TERMINAL SESSION: run a shell command and capture its terminal output over time as a GIF. Unlike record_video (which screen-captures the whole desktop, including private windows), this records ONLY the terminal — no desktop, no private info — and works headless (WSL, SSH, CI). Ideal for demoing CLI programs.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"command": {
"type": "string",
"description": "Shell command to run and record (e.g. './demo.sh')"
},
"output": {
"description": "Output .gif path (default: ~/.rudycanshoot/videos/tmp/)",
"type": "string"
},
"fontSize": {
"default": 15,
"description": "Font size",
"type": "integer",
"minimum": 8,
"maximum": 40
},
"sampleMs": {
"default": 400,
"description": "Snapshot cadence (ms)",
"type": "integer",
"minimum": 100,
"maximum": 2000
},
"idleCapMs": {
"default": 1500,
"description": "Cap long unchanged stretches (e.g. a model load) to this many ms so the GIF stays short",
"type": "integer",
"minimum": 200,
"maximum": 10000
},
"rows": {
"default": 32,
"description": "Visible terminal rows (tail window)",
"type": "integer",
"minimum": 4,
"maximum": 80
},
"cols": {
"default": 110,
"description": "Visible terminal columns",
"type": "integer",
"minimum": 20,
"maximum": 240
},
"keep": {
"default": false,
"description": "Store in videos/ instead of videos/tmp/",
"type": "boolean"
},
"returnFrames": {
"default": true,
"description": "Return sampled frames as images for AI review",
"type": "boolean"
},
"maxFrames": {
"default": 10,
"description": "Max frames returned when returnFrames=true",
"type": "integer",
"minimum": 1,
"maximum": 30
}
},
"required": [
"command"
]
} | — | — | |
record_videoRecord a temporary screen video for visual monitoring. By default returns evenly spaced frames as images so the AI can watch/understand what happened, plus the saved video path.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"durationSec": {
"default": 5,
"description": "How long to record (seconds)",
"type": "number",
"minimum": 0.5,
"maximum": 120
},
"fps": {
"default": 4,
"description": "Capture frame rate (frame-sampling backend)",
"type": "integer",
"minimum": 1,
"maximum": 30
},
"area": {
"description": "Optional region as 'x,y,width,height'",
"type": "string"
},
"temporary": {
"default": true,
"description": "Store under ~/.rudycanshoot/videos/tmp/ for easy cleanup",
"type": "boolean"
},
"returnFrames": {
"default": true,
"description": "Include extracted frames as images the AI can view",
"type": "boolean"
},
"maxFrames": {
"default": 12,
"description": "Max frames returned to the AI when returnFrames=true",
"type": "integer",
"minimum": 1,
"maximum": 30
},
"filename": {
"description": "Output filename",
"type": "string"
},
"outputDir": {
"description": "Override output directory",
"type": "string"
}
}
} | — | — | |
take_screenshotCapture a screenshot of the screen, active window, or a region. Returns the file path of the saved image.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"mode": {
"default": "fullscreen",
"description": "What to capture",
"type": "string",
"enum": [
"fullscreen",
"window",
"area"
]
},
"area": {
"description": "Region as 'x,y,width,height' — only used when mode=area",
"type": "string"
},
"filename": {
"description": "Output filename (default: screenshot-<timestamp>.png)",
"type": "string"
},
"outputDir": {
"description": "Directory to save into (default: ~/.rudycanshoot/captures/)",
"type": "string"
}
}
} | — | — |
| Endpoint | Transport | Authentication | Health | Observed |
|---|---|---|---|---|
| No verified remote endpoint is linked. | ||||
Install the selected package version with: npm install --save-exact rudycanshoot@1.3.1
rudycanshoot MCP Server exposed 13 tools during independent protocol observation, including annotate_screenshot, capture_command, capture_url, cleanup_videos, compare_screenshots, diff_screenshots, list_screenshots, list_videos, and others.
The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.
Curated product and capability guides containing this catalog record.