MCP server intelligence profile

rudycanshoot MCP Server

An MCP server that enables AI assistants to capture and view screenshots, supporting multiple AI tools and platforms

Local Onlyjrb00013
Awaiting current scanNpm · 1.3.1

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

1Distribution channel
13Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install rudycanshoot from npm

Version 1.3.1 declares 2 executable entrypoints.

npm install --save-exact rudycanshoot@1.3.1
npx -y -p rudycanshoot@1.3.1 rudycanshoot
npx -y -p rudycanshoot@1.3.1 screenshot-mcp

Identity

Canonical slugrudycanshoot-d0b19db4DeploymentLocal Only
Canonical packagenpm:rudycanshootRepositoryjrb00013/rudycanshoot
First publishedLatest release
Last security verificationClassification confidence90%
PublicationDraftOfficial distributionNot verified

Distributions

ChannelIdentifierCurrent versionVersionsSource
npmrudycanshoot1.3.111Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
npmrudycanshoot1.3.1CurrentSep 5, 202613 toolsSucceeded · 0 resources · 0 promptsEvidence restricted
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

No public current-version evidence is available yet.

Current protocol inventory

2025-06-18Negotiated protocol
rudycanshootServer-reported name
1Capability groups
Aug 15, 2026Observed

Tools 13

ToolCategoryAnnotationsRisk
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"
    }
  }
}

Resources 0

  • None observed.

Resource templates 0

  • None observed.

Prompts 0

  • None observed.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

rudycanshoot MCP Server questions

How do I install rudycanshoot MCP Server?

Install the selected package version with: npm install --save-exact rudycanshoot@1.3.1

What tools does rudycanshoot MCP Server provide?

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.

Is rudycanshoot MCP Server secure?

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.