Framejet Screenshot

Clean PNG/JPEG screenshots via REST or MCP, with goal-driven multi-step navigation.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
100%
命名质量
80%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~547token 数(工具定义)
~4.7 KB典型响应大小
对注意力的影响极小(占 128k 上下文窗口的 0.43%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "screenshot": {
      "url": "https://framejet.dev/mcp"
    }
  }
}

远程端点

https://framejet.dev/mcpstreamable-http

它能做什么

工具清单

工具(1)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟡screenshot(url, full_page, width, height, format, ...)

Render any public URL to a PNG or JPEG image. Cookie/consent banners and chat widgets are removed by default so the result is clean enough to reason about. Returns the image inline. For a page that is several clicks past the URL, pass `goal` in plain words and Framejet walks the flow before capturing — you do not need CSS selectors, and you could not write them anyway, because the controls for step 2 do not exist until step 1 has happened. Any text to be typed must be supplied in `values`; nothing is ever invented. If the goal cannot be reached the call fails and no quota is spent, so a returned image always means the goal was reached. When you do know the page, `actions` is cheaper, faster and deterministic.

输入模式

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The http(s) page to capture"
    },
    "full_page": {
      "description": "Capture the whole scroll height (default false)",
      "type": "boolean"
    },
    "width": {
      "description": "Viewport width, default 1280",
      "type": "integer",
      "minimum": 320,
      "maximum": 3840
    },
    "height": {
      "description": "Viewport height, default 800",
      "type": "integer",
      "minimum": 200,
      "maximum": 4320
    },
    "format": {
      "description": "Image format, default png",
      "type": "string",
      "enum": [
        "png",
        "jpeg"
      ]
    },
    "clean": {
      "description": "Strip cookie banners / chat widgets, default true",
      "type": "boolean"
    },
    "delay": {
      "description": "Extra wait in ms after load",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000
    },
    "goal": {
      "description": "Plain-words description of the page state to reach before capturing, ending with when to stop. Example: 'Search for the Colosseum article, open it, then open its View history page. Stop when the revision list is visible.' Needs `values` for anything that must be typed.",
      "type": "string",
      "maxLength": 300
    },
    "values": {
      "description": "Exact strings a `goal` step may type into a field. Framejet picks among these and never invents text; if none fits, the capture fails.",
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 200
      }
    },
    "actions": {
      "description": "Deterministic alternative to `goal` when you already know the page: ';'-separated steps, each verb:arg — click:<css>, type:<css>=<text>, waitfor:<css>, wait:<ms>, scroll:<px>. Prefer this over `goal` whenever you can write the selectors.",
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本1 个工具
需要认证未记录版本—