Shot — canonical payload contracts
Render a public URL to a PNG/JPEG screenshot (Playwright + system Chromium).
Service id: shot
Docs: https://mcp.glc-rag.hu/guide/shot
Markdown docs: https://mcp.glc-rag.hu/guide/shot.md
MCP resource: docs://shot/payload
POST https://mcp.glc-rag.hu/mcp. Values below are type slots from the live input schema (e.g. <string, required>), not example data. Fill them from the user task.
RPC result wrapper: result.structuredContent is the object in Output schema. result.isError mirrors structuredContent.is_error.
screenshot
Capture a screenshot of a public web page and return image_base64 plus metadata (title, final_url, dimensions).
Required arguments: url
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "screenshot",
"arguments": {
"url": "<string, required>",
"width": "<integer, optional, default 1280, minimum 320, maximum 1920>",
"height": "<integer, optional, default 720, minimum 240, maximum 1080>",
"full_page": "<boolean, optional, default False>",
"format": "<string, optional, enum png|jpeg, default 'png'>",
"quality": "<integer, optional, minimum 1, maximum 100>",
"wait_until": "<string, optional, enum load|domcontentloaded|networkidle|commit, default 'domcontentloaded'>",
"timeout_ms": "<integer, optional, default 30000, minimum 1000, maximum 60000>"
}
}
}
Input schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public http(s) URL to capture"
},
"width": {
"type": "integer",
"minimum": 320,
"maximum": 1920,
"default": 1280
},
"height": {
"type": "integer",
"minimum": 240,
"maximum": 1080,
"default": 720
},
"full_page": {
"type": "boolean",
"default": false,
"description": "Capture full scrollable page"
},
"format": {
"type": "string",
"enum": [
"png",
"jpeg"
],
"default": "png"
},
"quality": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "JPEG quality (ignored for png)"
},
"wait_until": {
"type": "string",
"enum": [
"load",
"domcontentloaded",
"networkidle",
"commit"
],
"default": "domcontentloaded"
},
"timeout_ms": {
"type": "integer",
"minimum": 1000,
"maximum": 60000,
"default": 30000
}
},
"required": [
"url"
],
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"image_url": {
"type": "string"
},
"format": {
"type": "string"
},
"bytes": {
"type": "integer"
}
},
"additionalProperties": true,
"required": [
"image_url"
]
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}
screenshot_status
Screenshot service health and Chromium path.
Required arguments: (none)
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "screenshot_status",
"arguments": {}
}
}
Input schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
}
},
"additionalProperties": true,
"required": [
"ok"
]
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}