このMCPでできること
Renders web pages in a browser and returns Markdown, HTML, screenshots, metadata, console errors, summaries and Lighthouse audits.
ツール
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'url'], 'properties': {'url': {'type': 'string', 'description': 'The page to fetch. Must be a public http(s) URL.'}, 'sync': {'type': 'boolean', 'description': 'Wait for the result and return it (default false). When false the call returns a token immediately and you collect the result with get_result.'}, 'labels': {'type': 'object', 'description': 'Your own keys to find this request by later, e.g. {"client": "acme"}: they come back with the result, in the webhook and in list_requests, which can filter by them. Up to 16 keys of up to 40 letters, digits, _ - or .; string values up to 256 characters.', 'additionalProperties': {'type': 'string'}}, 'max_age': {'type': 'string', 'description': 'How fresh a stored result must be to be reused, e.g. "2 hours" or "3 days". Default 7 days, maximum 30. A reused result is free. Pass "0" to force a fresh fetch.'}, 'report_to': {'type': 'string', 'description': "Async only: a webhook URL to deliver the result to. Defaults to the project's configured endpoint, if it has one."}, 'project_id': {'type': 'integer', 'description': 'Which project this request belongs to. From list_projects.'}, 'residential': {'type': 'boolean', 'description': 'Fetch the page from a residential (home ISP) exit instead of a datacentre one. Costs a surcharge per page visit — see get_usage. Use it for sites that block datacentre traffic.'}, 'page_options': {'type': 'object', 'properties': {'delay': {'type': 'integer', 'description': 'Milliseconds to wait after the page has settled, 0 to 10000.'}, 'block_ads': {'type': 'boolean', 'description': 'Block the major ad networks and remove their slots from the page.'}, 'remove_selectors': {'type': 'array', 'items': {'type': 'string'}, 'description': 'CSS selectors of elements to remove from the page, up to 50.'}, 'wait_for_selector': {'type': 'string', 'description': 'Wait (up to 10s) for an element matching this CSS selector before reading the page.'}, 'block_cookie_banners': {'type': 'boolean', 'description': 'Remove cookie-consent banners from the page.'}}, 'description': 'What to do to the page before anything is read off it. Applies to the result itself: removed ads and banners are gone from html, markdown and summaries too.'}, 'idempotency_key': {'type': 'string', 'description': 'Makes the call safe to retry: sending it again with the same key within 24 hours returns the first call\'s token and result instead of starting (and charging for) new work, even with max_age "0". Up to 255 printable ASCII characters; a UUID is ideal.'}}}
出力スキーマ
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['entries'], 'properties': {'entries': {'type': 'array', 'items': {'type': 'object', 'properties': {'text': {'type': 'string'}, 'type': {'enum': ['error', 'warning', 'exception'], 'type': 'string'}}}}}}, {'type': 'object', 'required': ['token', 'status'], 'properties': {'token': {'type': 'string'}, 'labels': {'type': 'object'}, 'status': {'type': 'string', 'const': 'accepted'}}}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'url'], 'properties': {'url': {'type': 'string', 'description': 'The page to fetch. Must be a public http(s) URL.'}, 'sync': {'type': 'boolean', 'description': 'Wait for the result and return it (default false). When false the call returns a token immediately and you collect the result with get_result.'}, 'labels': {'type': 'object', 'description': 'Your own keys to find this request by later, e.g. {"client": "acme"}: they come back with the result, in the webhook and in list_requests, which can filter by them. Up to 16 keys of up to 40 letters, digits, _ - or .; string values up to 256 characters.', 'additionalProperties': {'type': 'string'}}, 'max_age': {'type': 'string', 'description': 'How fresh a stored result must be to be reused, e.g. "2 hours" or "3 days". Default 7 days, maximum 30. A reused result is free. Pass "0" to force a fresh fetch.'}, 'report_to': {'type': 'string', 'description': "Async only: a webhook URL to deliver the result to. Defaults to the project's configured endpoint, if it has one."}, 'project_id': {'type': 'integer', 'description': 'Which project this request belongs to. From list_projects.'}, 'residential': {'type': 'boolean', 'description': 'Fetch the page from a residential (home ISP) exit instead of a datacentre one. Costs a surcharge per page visit — see get_usage. Use it for sites that block datacentre traffic.'}, 'page_options': {'type': 'object', 'properties': {'delay': {'type': 'integer', 'description': 'Milliseconds to wait after the page has settled, 0 to 10000.'}, 'block_ads': {'type': 'boolean', 'description': 'Block the major ad networks and remove their slots from the page.'}, 'remove_selectors': {'type': 'array', 'items': {'type': 'string'}, 'description': 'CSS selectors of elements to remove from the page, up to 50.'}, 'wait_for_selector': {'type': 'string', 'description': 'Wait (up to 10s) for an element matching this CSS selector before reading the page.'}, 'block_cookie_banners': {'type': 'boolean', 'description': 'Remove cookie-consent banners from the page.'}}, 'description': 'What to do to the page before anything is read off it. Applies to the result itself: removed ads and banners are gone from html, markdown and summaries too.'}, 'idempotency_key': {'type': 'string', 'description': 'Makes the call safe to retry: sending it again with the same key within 24 hours returns the first call\'s token and result instead of starting (and charging for) new work, even with max_age "0". Up to 255 printable ASCII characters; a UUID is ideal.'}, 'screenshot_options': {'type': 'object', 'properties': {'format': {'enum': ['png', 'jpeg', 'webp'], 'type': 'string', 'description': 'Image format. Default png; webp is usually the smallest.'}, 'styles': {'type': 'string', 'description': 'CSS to inject into the page before capturing.'}, 'quality': {'type': 'integer', 'description': 'jpeg and webp only, 1 to 100. Default 80.'}, 'selector': {'type': 'string', 'description': 'CSS selector of one element to capture instead of the page.'}, 'dark_mode': {'type': 'boolean', 'description': 'Render with prefers-color-scheme: dark.'}, 'full_page': {'type': 'boolean', 'description': 'Capture the whole page top to bottom (default true). false captures the viewport only.'}, 'hide_selectors': {'type': 'array', 'items': {'type': 'string'}, 'description': "CSS selectors of elements to hide before capturing, up to 50. They stay in the page's html; page_options.remove_selectors takes them out of it."}, 'viewport_width': {'type': 'integer', 'description': 'Browser viewport width in CSS pixels, 320 to 1920. Default 1350.'}, 'omit_background': {'type': 'boolean', 'description': 'Transparent background where the page sets none. png and webp only.'}, 'viewport_height': {'type': 'integer', 'description': 'Browser viewport height in CSS pixels, 240 to 1080. Default 797.'}, 'device_scale_factor': {'type': 'integer', 'description': 'Pixel density, 1 to 3: 2 gives a retina image twice the size. Default 1.'}, 'full_page_max_height': {'type': 'integer', 'description': 'The tallest a full-page or element capture may be, in CSS pixels: 100 to 16384, the default.'}}, 'description': 'How to take the screenshot. Every key is optional; leave it out for a full-page PNG.'}}}
出力スキーマ
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['mime_type'], 'properties': {'mime_type': {'type': 'string', 'description': "The image's type. The image itself is the image content block."}, 'result_url': {'type': ['string', 'null'], 'description': 'A link to the image that needs no key.'}}}, {'type': 'object', 'required': ['token', 'status'], 'properties': {'token': {'type': 'string'}, 'labels': {'type': 'object'}, 'status': {'type': 'string', 'const': 'accepted'}}}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'url'], 'properties': {'url': {'type': 'string', 'description': 'The page to fetch. Must be a public http(s) URL.'}, 'sync': {'type': 'boolean', 'description': 'Wait for the result and return it (default false). When false the call returns a token immediately and you collect the result with get_result.'}, 'labels': {'type': 'object', 'description': 'Your own keys to find this request by later, e.g. {"client": "acme"}: they come back with the result, in the webhook and in list_requests, which can filter by them. Up to 16 keys of up to 40 letters, digits, _ - or .; string values up to 256 characters.', 'additionalProperties': {'type': 'string'}}, 'max_age': {'type': 'string', 'description': 'How fresh a stored result must be to be reused, e.g. "2 hours" or "3 days". Default 7 days, maximum 30. A reused result is free. Pass "0" to force a fresh fetch.'}, 'report_to': {'type': 'string', 'description': "Async only: a webhook URL to deliver the result to. Defaults to the project's configured endpoint, if it has one."}, 'project_id': {'type': 'integer', 'description': 'Which project this request belongs to. From list_projects.'}, 'residential': {'type': 'boolean', 'description': 'Fetch the page from a residential (home ISP) exit instead of a datacentre one. Costs a surcharge per page visit — see get_usage. Use it for sites that block datacentre traffic.'}, 'page_options': {'type': 'object', 'properties': {'delay': {'type': 'integer', 'description': 'Milliseconds to wait after the page has settled, 0 to 10000.'}, 'block_ads': {'type': 'boolean', 'description': 'Block the major ad networks and remove their slots from the page.'}, 'remove_selectors': {'type': 'array', 'items': {'type': 'string'}, 'description': 'CSS selectors of elements to remove from the page, up to 50.'}, 'wait_for_selector': {'type': 'string', 'description': 'Wait (up to 10s) for an element matching this CSS selector before reading the page.'}, 'block_cookie_banners': {'type': 'boolean', 'description': 'Remove cookie-consent banners from the page.'}}, 'description': 'What to do to the page before anything is read off it. Applies to the result itself: removed ads and banners are gone from html, markdown and summaries too.'}, 'idempotency_key': {'type': 'string', 'description': 'Makes the call safe to retry: sending it again with the same key within 24 hours returns the first call\'s token and result instead of starting (and charging for) new work, even with max_age "0". Up to 255 printable ASCII characters; a UUID is ideal.'}}}
出力スキーマ
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['keywords'], 'properties': {'keywords': {'type': 'array', 'items': {'type': 'string'}}}}, {'type': 'object', 'required': ['token', 'status'], 'properties': {'token': {'type': 'string'}, 'labels': {'type': 'object'}, 'status': {'type': 'string', 'const': 'accepted'}}}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'url'], 'properties': {'url': {'type': 'string', 'description': 'The page to fetch. Must be a public http(s) URL.'}, 'sync': {'type': 'boolean', 'description': 'Wait for the result and return it (default false). When false the call returns a token immediately and you collect the result with get_result.'}, 'labels': {'type': 'object', 'description': 'Your own keys to find this request by later, e.g. {"client": "acme"}: they come back with the result, in the webhook and in list_requests, which can filter by them. Up to 16 keys of up to 40 letters, digits, _ - or .; string values up to 256 characters.', 'additionalProperties': {'type': 'string'}}, 'max_age': {'type': 'string', 'description': 'How fresh a stored result must be to be reused, e.g. "2 hours" or "3 days". Default 7 days, maximum 30. A reused result is free. Pass "0" to force a fresh fetch.'}, 'report_to': {'type': 'string', 'description': "Async only: a webhook URL to deliver the result to. Defaults to the project's configured endpoint, if it has one."}, 'project_id': {'type': 'integer', 'description': 'Which project this request belongs to. From list_projects.'}, 'residential': {'type': 'boolean', 'description': 'Fetch the page from a residential (home ISP) exit instead of a datacentre one. Costs a surcharge per page visit — see get_usage. Use it for sites that block datacentre traffic.'}, 'page_options': {'type': 'object', 'properties': {'delay': {'type': 'integer', 'description': 'Milliseconds to wait after the page has settled, 0 to 10000.'}, 'block_ads': {'type': 'boolean', 'description': 'Block the major ad networks and remove their slots from the page.'}, 'remove_selectors': {'type': 'array', 'items': {'type': 'string'}, 'description': 'CSS selectors of elements to remove from the page, up to 50.'}, 'wait_for_selector': {'type': 'string', 'description': 'Wait (up to 10s) for an element matching this CSS selector before reading the page.'}, 'block_cookie_banners': {'type': 'boolean', 'description': 'Remove cookie-consent banners from the page.'}}, 'description': 'What to do to the page before anything is read off it. Applies to the result itself: removed ads and banners are gone from html, markdown and summaries too.'}, 'idempotency_key': {'type': 'string', 'description': 'Makes the call safe to retry: sending it again with the same key within 24 hours returns the first call\'s token and result instead of starting (and charging for) new work, even with max_age "0". Up to 255 printable ASCII characters; a UUID is ideal.'}}}
出力スキーマ
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['final_url', 'canonical_url', 'title', 'description', 'site_name', 'type', 'language', 'locale', 'authors', 'published_at', 'modified_at', 'image', 'video', 'favicon_url', 'icons', 'logo_url', 'feeds', 'keywords', 'theme_color', 'generator', 'manifest_url', 'robots', 'open_graph', 'twitter', 'alternates', 'oembed_url', 'structured_data_types'], 'properties': {'type': {'enum': ['article', 'website', 'profile', 'book', 'product', 'video', 'music', 'place', 'event', 'recipe', None], 'type': ['string', 'null'], 'description': 'The kind of page, as the page declares it.'}, 'feeds': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'type', 'title'], 'properties': {'url': {'type': 'string'}, 'type': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'icons': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'rel', 'sizes', 'type'], 'properties': {'rel': {'type': 'string'}, 'url': {'type': 'string'}, 'type': {'type': ['string', 'null']}, 'sizes': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'image': {'type': ['object', 'null'], 'required': ['url', 'width', 'height', 'alt', 'type'], 'properties': {'alt': {'type': ['string', 'null']}, 'url': {'type': 'string'}, 'type': {'type': ['string', 'null']}, 'width': {'type': ['integer', 'null']}, 'height': {'type': ['integer', 'null']}}, 'additionalProperties': False}, 'title': {'type': ['string', 'null'], 'description': "The page's own title, without the site's name around it."}, 'video': {'type': ['object', 'null'], 'required': ['url', 'type', 'width', 'height'], 'properties': {'url': {'type': 'string'}, 'type': {'type': ['string', 'null']}, 'width': {'type': ['integer', 'null']}, 'height': {'type': ['integer', 'null']}}, 'additionalProperties': False}, 'locale': {'type': ['string', 'null'], 'description': 'The most specific language tag the page declares for that language, BCP 47 (en-US).'}, 'robots': {'type': 'object', 'required': ['index', 'follow'], 'properties': {'index': {'type': 'boolean'}, 'follow': {'type': 'boolean'}}, 'additionalProperties': False}, 'authors': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'url', 'profiles'], 'properties': {'url': {'type': ['string', 'null']}, 'name': {'type': 'string'}, 'profiles': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'twitter': {'type': 'object', 'required': ['card', 'site', 'creator', 'title', 'description', 'image'], 'properties': {'card': {'type': ['string', 'null']}, 'site': {'type': ['string', 'null']}, 'image': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'creator': {'type': ['string', 'null']}, 'description': {'type': ['string', 'null']}}, 'description': "The page's twitter: tags as declared.", 'additionalProperties': False}, 'keywords': {'type': 'array', 'items': {'type': 'string'}}, 'language': {'type': ['string', 'null'], 'description': 'ISO 639-1 code of the language the content is written in.'}, 'logo_url': {'type': ['string', 'null']}, 'final_url': {'type': ['string', 'null'], 'description': 'The address the page ended on, after its redirects.'}, 'generator': {'type': ['string', 'null']}, 'site_name': {'type': ['string', 'null']}, 'alternates': {'type': 'array', 'items': {'type': 'object', 'required': ['hreflang', 'url'], 'properties': {'url': {'type': 'string'}, 'hreflang': {'type': 'string'}}, 'additionalProperties': False}}, 'oembed_url': {'type': ['string', 'null']}, 'open_graph': {'type': 'object', 'required': ['title', 'description', 'image', 'url', 'type', 'site_name', 'locale'], 'properties': {'url': {'type': ['string', 'null']}, 'type': {'type': ['string', 'null']}, 'image': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'locale': {'type': ['string', 'null']}, 'site_name': {'type': ['string', 'null']}, 'description': {'type': ['string', 'null']}}, 'description': "The page's og: tags as declared.", 'additionalProperties': False}, 'description': {'type': ['string', 'null']}, 'favicon_url': {'type': ['string', 'null']}, 'modified_at': {'type': ['string', 'null'], 'description': 'ISO 8601, as published_at.'}, 'theme_color': {'type': ['string', 'null']}, 'manifest_url': {'type': ['string', 'null']}, 'published_at': {'type': ['string', 'null'], 'description': 'ISO 8601: a date (2024-05-01) or a moment with its offset.'}, 'canonical_url': {'type': ['string', 'null'], 'description': "The page's canonical URL, absolute."}, 'structured_data_types': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, {'type': 'object', 'required': ['token', 'status'], 'properties': {'token': {'type': 'string'}, 'labels': {'type': 'object'}, 'status': {'type': 'string', 'const': 'accepted'}}}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'url'], 'properties': {'url': {'type': 'string', 'description': 'The page to fetch. Must be a public http(s) URL.'}, 'sync': {'type': 'boolean', 'description': 'Wait for the result and return it (default false). When false the call returns a token immediately and you collect the result with get_result.'}, 'labels': {'type': 'object', 'description': 'Your own keys to find this request by later, e.g. {"client": "acme"}: they come back with the result, in the webhook and in list_requests, which can filter by them. Up to 16 keys of up to 40 letters, digits, _ - or .; string values up to 256 characters.', 'additionalProperties': {'type': 'string'}}, 'max_age': {'type': 'string', 'description': 'How fresh a stored result must be to be reused, e.g. "2 hours" or "3 days". Default 7 days, maximum 30. A reused result is free. Pass "0" to force a fresh fetch.'}, 'report_to': {'type': 'string', 'description': "Async only: a webhook URL to deliver the result to. Defaults to the project's configured endpoint, if it has one."}, 'project_id': {'type': 'integer', 'description': 'Which project this request belongs to. From list_projects.'}, 'residential': {'type': 'boolean', 'description': 'Fetch the page from a residential (home ISP) exit instead of a datacentre one. Costs a surcharge per page visit — see get_usage. Use it for sites that block datacentre traffic.'}, 'page_options': {'type': 'object', 'properties': {'delay': {'type': 'integer', 'description': 'Milliseconds to wait after the page has settled, 0 to 10000.'}, 'block_ads': {'type': 'boolean', 'description': 'Block the major ad networks and remove their slots from the page.'}, 'remove_selectors': {'type': 'array', 'items': {'type': 'string'}, 'description': 'CSS selectors of elements to remove from the page, up to 50.'}, 'wait_for_selector': {'type': 'string', 'description': 'Wait (up to 10s) for an element matching this CSS selector before reading the page.'}, 'block_cookie_banners': {'type': 'boolean', 'description': 'Remove cookie-consent banners from the page.'}}, 'description': 'What to do to the page before anything is read off it. Applies to the result itself: removed ads and banners are gone from html, markdown and summaries too.'}, 'idempotency_key': {'type': 'string', 'description': 'Makes the call safe to retry: sending it again with the same key within 24 hours returns the first call\'s token and result instead of starting (and charging for) new work, even with max_age "0". Up to 255 printable ASCII characters; a UUID is ideal.'}}}
出力スキーマ
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['html'], 'properties': {'html': {'type': 'string', 'description': 'The rendered HTML.'}}}, {'type': 'object', 'required': ['token', 'status'], 'properties': {'token': {'type': 'string'}, 'labels': {'type': 'object'}, 'status': {'type': 'string', 'const': 'accepted'}}}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'url'], 'properties': {'url': {'type': 'string', 'description': 'The page to fetch. Must be a public http(s) URL.'}, 'sync': {'type': 'boolean', 'description': 'Wait for the result and return it (default false). When false the call returns a token immediately and you collect the result with get_result.'}, 'labels': {'type': 'object', 'description': 'Your own keys to find this request by later, e.g. {"client": "acme"}: they come back with the result, in the webhook and in list_requests, which can filter by them. Up to 16 keys of up to 40 letters, digits, _ - or .; string values up to 256 characters.', 'additionalProperties': {'type': 'string'}}, 'max_age': {'type': 'string', 'description': 'How fresh a stored result must be to be reused, e.g. "2 hours" or "3 days". Default 7 days, maximum 30. A reused result is free. Pass "0" to force a fresh fetch.'}, 'report_to': {'type': 'string', 'description': "Async only: a webhook URL to deliver the result to. Defaults to the project's configured endpoint, if it has one."}, 'project_id': {'type': 'integer', 'description': 'Which project this request belongs to. From list_projects.'}, 'residential': {'type': 'boolean', 'description': 'Fetch the page from a residential (home ISP) exit instead of a datacentre one. Costs a surcharge per page visit — see get_usage. Use it for sites that block datacentre traffic.'}, 'page_options': {'type': 'object', 'properties': {'delay': {'type': 'integer', 'description': 'Milliseconds to wait after the page has settled, 0 to 10000.'}, 'block_ads': {'type': 'boolean', 'description': 'Block the major ad networks and remove their slots from the page.'}, 'remove_selectors': {'type': 'array', 'items': {'type': 'string'}, 'description': 'CSS selectors of elements to remove from the page, up to 50.'}, 'wait_for_selector': {'type': 'string', 'description': 'Wait (up to 10s) for an element matching this CSS selector before reading the page.'}, 'block_cookie_banners': {'type': 'boolean', 'description': 'Remove cookie-consent banners from the page.'}}, 'description': 'What to do to the page before anything is read off it. Applies to the result itself: removed ads and banners are gone from html, markdown and summaries too.'}, 'idempotency_key': {'type': 'string', 'description': 'Makes the call safe to retry: sending it again with the same key within 24 hours returns the first call\'s token and result instead of starting (and charging for) new work, even with max_age "0". Up to 255 printable ASCII characters; a UUID is ideal.'}}}
出力スキーマ
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['markdown'], 'properties': {'markdown': {'type': 'string', 'description': "The page's main content as Markdown."}}}, {'type': 'object', 'required': ['token', 'status'], 'properties': {'token': {'type': 'string'}, 'labels': {'type': 'object'}, 'status': {'type': 'string', 'const': 'accepted'}}}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'token'], 'properties': {'token': {'type': 'string', 'description': 'The token the original call returned.'}, 'project_id': {'type': 'integer', 'description': 'From list_projects.'}}}
出力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['token', 'url', 'status'], 'properties': {'url': {'type': 'string'}, 'meta': {'type': 'object', 'description': 'What the HTTP response headers would say: cache, cost, quota, result_url, final_url.'}, 'async': {'type': ['boolean', 'null']}, 'token': {'type': 'string'}, 'labels': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'status': {'type': 'string'}, 'credits': {'type': 'integer'}, 'max_age': {'type': ['integer', 'null']}, 'outcome': {'type': ['object', 'null']}, 'success': {'type': ['boolean', 'null']}, 'final_url': {'type': 'string', 'description': 'Where the page ended up after its redirects.'}, 'operation': {'type': ['string', 'null']}, 'report_to': {'type': ['string', 'null']}, 'created_at': {'type': 'string'}, 'operations': {'type': 'array', 'items': {'type': 'object', 'required': ['token', 'url', 'status'], 'properties': {'url': {'type': 'string'}, 'token': {'type': 'string'}, 'labels': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'status': {'type': 'string'}, 'credits': {'type': 'integer'}, 'success': {'type': ['boolean', 'null']}, 'final_url': {'type': 'string', 'description': 'Where the page ended up after its redirects.'}, 'operation': {'type': ['string', 'null']}, 'created_at': {'type': 'string'}, 'duration_ms': {'type': 'integer'}, 'finished_at': {'type': 'string'}, 'served_from_cache': {'type': ['boolean', 'null']}}}}, 'duration_ms': {'type': 'integer'}, 'finished_at': {'type': 'string'}, 'webhook_error': {'type': ['string', 'null']}, 'webhook_status': {'type': ['string', 'null']}, 'request_options': {'type': ['object', 'null']}, 'served_from_cache': {'type': ['boolean', 'null']}, 'webhook_delivered_at': {'type': ['string', 'null']}}}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'token'], 'properties': {'token': {'type': 'string', 'description': 'The token the original call returned.'}, 'project_id': {'type': 'integer', 'description': 'From list_projects.'}}}
出力スキーマ
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['markdown'], 'properties': {'markdown': {'type': 'string', 'description': "The page's main content as Markdown."}}}, {'type': 'object', 'required': ['html'], 'properties': {'html': {'type': 'string', 'description': 'The rendered HTML.'}}}, {'type': 'object', 'required': ['summary'], 'properties': {'summary': {'type': 'string', 'description': 'A Markdown summary of the page.'}}}, {'type': 'object', 'required': ['keywords'], 'properties': {'keywords': {'type': 'array', 'items': {'type': 'string'}}}}, {'type': 'object', 'required': ['entries'], 'properties': {'entries': {'type': 'array', 'items': {'type': 'object', 'properties': {'text': {'type': 'string'}, 'type': {'enum': ['error', 'warning', 'exception'], 'type': 'string'}}}}}}, {'type': 'object', 'required': ['mime_type'], 'properties': {'mime_type': {'type': 'string', 'description': "The image's type. The image itself is the image content block."}, 'result_url': {'type': ['string', 'null'], 'description': 'A link to the image that needs no key.'}}}, {'type': 'object', 'required': ['final_url', 'canonical_url', 'title', 'description', 'site_name', 'type', 'language', 'locale', 'authors', 'published_at', 'modified_at', 'image', 'video', 'favicon_url', 'icons', 'logo_url', 'feeds', 'keywords', 'theme_color', 'generator', 'manifest_url', 'robots', 'open_graph', 'twitter', 'alternates', 'oembed_url', 'structured_data_types'], 'properties': {'type': {'enum': ['article', 'website', 'profile', 'book', 'product', 'video', 'music', 'place', 'event', 'recipe', None], 'type': ['string', 'null'], 'description': 'The kind of page, as the page declares it.'}, 'feeds': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'type', 'title'], 'properties': {'url': {'type': 'string'}, 'type': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'icons': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'rel', 'sizes', 'type'], 'properties': {'rel': {'type': 'string'}, 'url': {'type': 'string'}, 'type': {'type': ['string', 'null']}, 'sizes': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'image': {'type': ['object', 'null'], 'required': ['url', 'width', 'height', 'alt', 'type'], 'properties': {'alt': {'type': ['string', 'null']}, 'url': {'type': 'string'}, 'type': {'type': ['string', 'null']}, 'width': {'type': ['integer', 'null']}, 'height': {'type': ['integer', 'null']}}, 'additionalProperties': False}, 'title': {'type': ['string', 'null'], 'description': "The page's own title, without the site's name around it."}, 'video': {'type': ['object', 'null'], 'required': ['url', 'type', 'width', 'height'], 'properties': {'url': {'type': 'string'}, 'type': {'type': ['string', 'null']}, 'width': {'type': ['integer', 'null']}, 'height': {'type': ['integer', 'null']}}, 'additionalProperties': False}, 'locale': {'type': ['string', 'null'], 'description': 'The most specific language tag the page declares for that language, BCP 47 (en-US).'}, 'robots': {'type': 'object', 'required': ['index', 'follow'], 'properties': {'index': {'type': 'boolean'}, 'follow': {'type': 'boolean'}}, 'additionalProperties': False}, 'authors': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'url', 'profiles'], 'properties': {'url': {'type': ['string', 'null']}, 'name': {'type': 'string'}, 'profiles': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'twitter': {'type': 'object', 'required': ['card', 'site', 'creator', 'title', 'description', 'image'], 'properties': {'card': {'type': ['string', 'null']}, 'site': {'type': ['string', 'null']}, 'image': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'creator': {'type': ['string', 'null']}, 'description': {'type': ['string', 'null']}}, 'description': "The page's twitter: tags as declared.", 'additionalProperties': False}, 'keywords': {'type': 'array', 'items': {'type': 'string'}}, 'language': {'type': ['string', 'null'], 'description': 'ISO 639-1 code of the language the content is written in.'}, 'logo_url': {'type': ['string', 'null']}, 'final_url': {'type': ['string', 'null'], 'description': 'The address the page ended on, after its redirects.'}, 'generator': {'type': ['string', 'null']}, 'site_name': {'type': ['string', 'null']}, 'alternates': {'type': 'array', 'items': {'type': 'object', 'required': ['hreflang', 'url'], 'properties': {'url': {'type': 'string'}, 'hreflang': {'type': 'string'}}, 'additionalProperties': False}}, 'oembed_url': {'type': ['string', 'null']}, 'open_graph': {'type': 'object', 'required': ['title', 'description', 'image', 'url', 'type', 'site_name', 'locale'], 'properties': {'url': {'type': ['string', 'null']}, 'type': {'type': ['string', 'null']}, 'image': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'locale': {'type': ['string', 'null']}, 'site_name': {'type': ['string', 'null']}, 'description': {'type': ['string', 'null']}}, 'description': "The page's og: tags as declared.", 'additionalProperties': False}, 'description': {'type': ['string', 'null']}, 'favicon_url': {'type': ['string', 'null']}, 'modified_at': {'type': ['string', 'null'], 'description': 'ISO 8601, as published_at.'}, 'theme_color': {'type': ['string', 'null']}, 'manifest_url': {'type': ['string', 'null']}, 'published_at': {'type': ['string', 'null'], 'description': 'ISO 8601: a date (2024-05-01) or a moment with its offset.'}, 'canonical_url': {'type': ['string', 'null'], 'description': "The page's canonical URL, absolute."}, 'structured_data_types': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, {'type': 'object', 'properties': {'url': {'type': 'string'}, 'audits': {'type': 'object'}, 'device': {'type': 'string'}, 'metrics': {'type': 'object'}, 'fetchTime': {'type': 'string'}, 'categories': {'type': 'object'}}}, {'type': 'object', 'properties': {'url': {'type': 'string'}, 'final_url': {'type': ['string', 'null'], 'description': 'The address the page ended on, after its redirects.'}, 'operations': {'type': 'object', 'description': 'One key per operation requested, in the order asked for.', 'additionalProperties': {'type': 'object', 'properties': {'error': {'type': 'string'}, 'cached': {'type': 'boolean'}, 'result': {}, 'success': {'type': 'boolean'}}}}}}, {'type': 'object', 'required': ['token', 'status'], 'properties': {'token': {'type': 'string'}, 'labels': {'type': 'object'}, 'status': {'type': 'string', 'const': 'processing'}}}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': [], 'properties': {}}
出力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['plan', 'credits', 'cost_per_operation'], 'properties': {'plan': {'type': 'string'}, 'credits': {'type': 'object', 'properties': {'used': {'type': 'integer'}, 'limit': {'type': ['integer', 'string'], 'description': 'A number, or "unlimited".'}, 'remaining': {'type': ['integer', 'string'], 'description': 'A number, or "unlimited".'}, 'resets_at': {'type': 'string'}}}, 'plan_name': {'type': 'string'}, 'concurrency_limit': {'type': 'integer'}, 'cost_per_operation': {'type': 'object', 'additionalProperties': {'type': 'integer'}}, 'residential_surcharge_per_page_visit': {'type': 'integer'}}}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': [], 'properties': {}}
出力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['organization', 'projects'], 'properties': {'projects': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'integer'}, 'name': {'type': 'string'}, 'default_webhook_url': {'type': 'string'}, 'requests_last_30_days': {'type': 'integer'}}}}, 'organization': {'type': 'string'}}}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id'], 'properties': {'url': {'type': 'string', 'description': 'Only requests for this exact URL.'}, 'limit': {'type': 'integer', 'description': 'How many to return. Default 25, maximum 100.'}, 'labels': {'type': 'object', 'description': 'Only requests made with all of these labels, each value matched exactly.', 'additionalProperties': {'type': 'string'}}, 'offset': {'type': 'integer', 'description': 'Skip this many, for paging.'}, 'operation': {'enum': ['html', 'screenshot', 'markdown', 'meta', 'summarize', 'keywords', 'lighthouse', 'console', 'scrape'], 'type': 'string', 'description': 'Only requests running this operation.'}, 'project_id': {'type': 'integer', 'description': 'From list_projects.'}}}
出力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'total', 'offset', 'requests'], 'properties': {'total': {'type': 'integer'}, 'offset': {'type': 'integer'}, 'requests': {'type': 'array', 'items': {'type': 'object', 'required': ['token', 'url', 'status'], 'properties': {'url': {'type': 'string'}, 'token': {'type': 'string'}, 'labels': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'status': {'type': 'string'}, 'credits': {'type': 'integer'}, 'success': {'type': ['boolean', 'null']}, 'final_url': {'type': 'string', 'description': 'Where the page ended up after its redirects.'}, 'operation': {'type': ['string', 'null']}, 'created_at': {'type': 'string'}, 'duration_ms': {'type': 'integer'}, 'finished_at': {'type': 'string'}, 'served_from_cache': {'type': ['boolean', 'null']}}}}, 'project_id': {'type': 'integer'}}}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'url'], 'properties': {'url': {'type': 'string', 'description': 'The page to fetch. Must be a public http(s) URL.'}, 'sync': {'type': 'boolean', 'description': 'Wait for the result and return it (default false). When false the call returns a token immediately and you collect the result with get_result.'}, 'device': {'enum': ['mobile', 'desktop'], 'type': 'string', 'description': 'Which profile to audit under. Default mobile.'}, 'labels': {'type': 'object', 'description': 'Your own keys to find this request by later, e.g. {"client": "acme"}: they come back with the result, in the webhook and in list_requests, which can filter by them. Up to 16 keys of up to 40 letters, digits, _ - or .; string values up to 256 characters.', 'additionalProperties': {'type': 'string'}}, 'max_age': {'type': 'string', 'description': 'How fresh a stored result must be to be reused, e.g. "2 hours" or "3 days". Default 7 days, maximum 30. A reused result is free. Pass "0" to force a fresh fetch.'}, 'report_to': {'type': 'string', 'description': "Async only: a webhook URL to deliver the result to. Defaults to the project's configured endpoint, if it has one."}, 'project_id': {'type': 'integer', 'description': 'Which project this request belongs to. From list_projects.'}, 'residential': {'type': 'boolean', 'description': 'Fetch the page from a residential (home ISP) exit instead of a datacentre one. Costs a surcharge per page visit — see get_usage. Use it for sites that block datacentre traffic.'}, 'include_audits': {'type': 'boolean', 'description': 'Include the full per-audit detail, not just scores and metrics. Much larger; default false.'}, 'idempotency_key': {'type': 'string', 'description': 'Makes the call safe to retry: sending it again with the same key within 24 hours returns the first call\'s token and result instead of starting (and charging for) new work, even with max_age "0". Up to 255 printable ASCII characters; a UUID is ideal.'}}}
出力スキーマ
{'type': 'object', 'anyOf': [{'type': 'object', 'properties': {'url': {'type': 'string'}, 'audits': {'type': 'object'}, 'device': {'type': 'string'}, 'metrics': {'type': 'object'}, 'fetchTime': {'type': 'string'}, 'categories': {'type': 'object'}}}, {'type': 'object', 'required': ['token', 'status'], 'properties': {'token': {'type': 'string'}, 'labels': {'type': 'object'}, 'status': {'type': 'string', 'const': 'accepted'}}}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'url', 'operations'], 'properties': {'url': {'type': 'string', 'description': 'The page to fetch. Must be a public http(s) URL.'}, 'sync': {'type': 'boolean', 'description': 'Wait for the result and return it (default false). When false the call returns a token immediately and you collect the result with get_result.'}, 'device': {'enum': ['mobile', 'desktop'], 'type': 'string', 'description': 'Lighthouse only, when it is among the operations. Default mobile.'}, 'labels': {'type': 'object', 'description': 'Your own keys to find this request by later, e.g. {"client": "acme"}: they come back with the result, in the webhook and in list_requests, which can filter by them. Up to 16 keys of up to 40 letters, digits, _ - or .; string values up to 256 characters.', 'additionalProperties': {'type': 'string'}}, 'max_age': {'type': 'string', 'description': 'How fresh a stored result must be to be reused, e.g. "2 hours" or "3 days". Default 7 days, maximum 30. A reused result is free. Pass "0" to force a fresh fetch.'}, 'report_to': {'type': 'string', 'description': "Async only: a webhook URL to deliver the result to. Defaults to the project's configured endpoint, if it has one."}, 'operations': {'type': 'array', 'items': {'enum': ['html', 'screenshot', 'markdown', 'meta', 'summarize', 'keywords', 'lighthouse', 'console'], 'type': 'string'}, 'description': 'Which operations to run off this page.'}, 'project_id': {'type': 'integer', 'description': 'Which project this request belongs to. From list_projects.'}, 'residential': {'type': 'boolean', 'description': 'Fetch the page from a residential (home ISP) exit instead of a datacentre one. Costs a surcharge per page visit — see get_usage. Use it for sites that block datacentre traffic.'}, 'page_options': {'type': 'object', 'properties': {'delay': {'type': 'integer', 'description': 'Milliseconds to wait after the page has settled, 0 to 10000.'}, 'block_ads': {'type': 'boolean', 'description': 'Block the major ad networks and remove their slots from the page.'}, 'remove_selectors': {'type': 'array', 'items': {'type': 'string'}, 'description': 'CSS selectors of elements to remove from the page, up to 50.'}, 'wait_for_selector': {'type': 'string', 'description': 'Wait (up to 10s) for an element matching this CSS selector before reading the page.'}, 'block_cookie_banners': {'type': 'boolean', 'description': 'Remove cookie-consent banners from the page.'}}, 'description': 'What to do to the page before anything is read off it. Applies to the result itself: removed ads and banners are gone from html, markdown and summaries too.'}, 'include_audits': {'type': 'boolean', 'description': 'Lighthouse only: include the full per-audit detail. Default false.'}, 'idempotency_key': {'type': 'string', 'description': 'Makes the call safe to retry: sending it again with the same key within 24 hours returns the first call\'s token and result instead of starting (and charging for) new work, even with max_age "0". Up to 255 printable ASCII characters; a UUID is ideal.'}, 'screenshot_options': {'type': 'object', 'properties': {'format': {'enum': ['png', 'jpeg', 'webp'], 'type': 'string', 'description': 'Image format. Default png; webp is usually the smallest.'}, 'styles': {'type': 'string', 'description': 'CSS to inject into the page before capturing.'}, 'quality': {'type': 'integer', 'description': 'jpeg and webp only, 1 to 100. Default 80.'}, 'selector': {'type': 'string', 'description': 'CSS selector of one element to capture instead of the page.'}, 'dark_mode': {'type': 'boolean', 'description': 'Render with prefers-color-scheme: dark.'}, 'full_page': {'type': 'boolean', 'description': 'Capture the whole page top to bottom (default true). false captures the viewport only.'}, 'hide_selectors': {'type': 'array', 'items': {'type': 'string'}, 'description': "CSS selectors of elements to hide before capturing, up to 50. They stay in the page's html; page_options.remove_selectors takes them out of it."}, 'viewport_width': {'type': 'integer', 'description': 'Browser viewport width in CSS pixels, 320 to 1920. Default 1350.'}, 'omit_background': {'type': 'boolean', 'description': 'Transparent background where the page sets none. png and webp only.'}, 'viewport_height': {'type': 'integer', 'description': 'Browser viewport height in CSS pixels, 240 to 1080. Default 797.'}, 'device_scale_factor': {'type': 'integer', 'description': 'Pixel density, 1 to 3: 2 gives a retina image twice the size. Default 1.'}, 'full_page_max_height': {'type': 'integer', 'description': 'The tallest a full-page or element capture may be, in CSS pixels: 100 to 16384, the default.'}}, 'description': 'Screenshot only, when it is among the operations: how to take it, exactly as capture_screenshot takes it.'}}}
出力スキーマ
{'type': 'object', 'anyOf': [{'type': 'object', 'properties': {'url': {'type': 'string'}, 'final_url': {'type': ['string', 'null'], 'description': 'The address the page ended on, after its redirects.'}, 'operations': {'type': 'object', 'description': 'One key per operation requested, in the order asked for.', 'additionalProperties': {'type': 'object', 'properties': {'error': {'type': 'string'}, 'cached': {'type': 'boolean'}, 'result': {}, 'success': {'type': 'boolean'}}}}}}, {'type': 'object', 'required': ['token', 'status'], 'properties': {'token': {'type': 'string'}, 'labels': {'type': 'object'}, 'status': {'type': 'string', 'const': 'accepted'}}}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'url'], 'properties': {'url': {'type': 'string', 'description': 'The page to fetch. Must be a public http(s) URL.'}, 'sync': {'type': 'boolean', 'description': 'Wait for the result and return it (default false). When false the call returns a token immediately and you collect the result with get_result.'}, 'labels': {'type': 'object', 'description': 'Your own keys to find this request by later, e.g. {"client": "acme"}: they come back with the result, in the webhook and in list_requests, which can filter by them. Up to 16 keys of up to 40 letters, digits, _ - or .; string values up to 256 characters.', 'additionalProperties': {'type': 'string'}}, 'max_age': {'type': 'string', 'description': 'How fresh a stored result must be to be reused, e.g. "2 hours" or "3 days". Default 7 days, maximum 30. A reused result is free. Pass "0" to force a fresh fetch.'}, 'report_to': {'type': 'string', 'description': "Async only: a webhook URL to deliver the result to. Defaults to the project's configured endpoint, if it has one."}, 'project_id': {'type': 'integer', 'description': 'Which project this request belongs to. From list_projects.'}, 'residential': {'type': 'boolean', 'description': 'Fetch the page from a residential (home ISP) exit instead of a datacentre one. Costs a surcharge per page visit — see get_usage. Use it for sites that block datacentre traffic.'}, 'page_options': {'type': 'object', 'properties': {'delay': {'type': 'integer', 'description': 'Milliseconds to wait after the page has settled, 0 to 10000.'}, 'block_ads': {'type': 'boolean', 'description': 'Block the major ad networks and remove their slots from the page.'}, 'remove_selectors': {'type': 'array', 'items': {'type': 'string'}, 'description': 'CSS selectors of elements to remove from the page, up to 50.'}, 'wait_for_selector': {'type': 'string', 'description': 'Wait (up to 10s) for an element matching this CSS selector before reading the page.'}, 'block_cookie_banners': {'type': 'boolean', 'description': 'Remove cookie-consent banners from the page.'}}, 'description': 'What to do to the page before anything is read off it. Applies to the result itself: removed ads and banners are gone from html, markdown and summaries too.'}, 'idempotency_key': {'type': 'string', 'description': 'Makes the call safe to retry: sending it again with the same key within 24 hours returns the first call\'s token and result instead of starting (and charging for) new work, even with max_age "0". Up to 255 printable ASCII characters; a UUID is ideal.'}}}
出力スキーマ
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['summary'], 'properties': {'summary': {'type': 'string', 'description': 'A Markdown summary of the page.'}}}, {'type': 'object', 'required': ['token', 'status'], 'properties': {'token': {'type': 'string'}, 'labels': {'type': 'object'}, 'status': {'type': 'string', 'const': 'accepted'}}}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
最近のツール変更
類似のMCPサーバー
apis-io
Provides catalog search, comparison, scoring, enrichment, lists, and dataset exports for APIs, providers, specifications, workflo…
Tools for Agents
Provides web research and extraction workflows, crawling, browser automation, PDF and book OCR, text processing, embeddings, and …
canton-ccpedia
Searches and explains Canton Network and Daml documentation, governance proposals, forums, code examples, APIs, releases, and eco…
webbersites-x402-data-api
Provides pay-per-call utilities for web scraping, SEO and accessibility audits, document extraction, DNS and email checks, crypto…
api-evangelist
Provides API governance analysis, OpenAPI overlays and version diffs, security-sensitive field classification, code samples, matu…
arch-tools-mcp
Provides general-purpose agent APIs for browser automation, web and PDF extraction, data conversion, email operations, fact check…
Agent Margin Router
Provides pay-per-call tools for blockchain balances, contracts, prices, gas, domains, web extraction, package intelligence, news,…
1cent Web Intelligence for AI Agents
Performs SSRF-safe public web inspection, URL extraction, metadata and content analysis, accessibility checks, feed and sitemap d…