このMCPでできること
Compares websites before and after migration for missing pages, content changes, screenshots, and visual regressions.
ツール
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['jobId'], 'properties': {'jobId': {'type': 'string', 'pattern': '^web-[a-z0-9-]+$', 'description': 'The jobId returned when the job was created, e.g. web-1a2b3c.'}, 'jobToken': {'type': 'string', 'maxLength': 200, 'minLength': 20, 'description': 'The jobToken returned when the job was created. Optional when the request carries the prepaid key that paid the job (Authorization: Bearer dck_…).'}}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'status': {'type': 'string', 'const': 'cancelling'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'Page to capture (full URL).'}, 'auth': {'type': 'object', 'required': ['username', 'password'], 'properties': {'password': {'type': 'string', 'maxLength': 512, 'description': 'Password for HTTP basic auth.'}, 'username': {'type': 'string', 'maxLength': 512, 'description': 'Username for HTTP basic auth.'}}, 'description': 'HTTP basic auth for the page.'}, 'viewportWidth': {'type': 'integer', 'maximum': 2560, 'minimum': 320, 'description': 'Capture width in px.'}}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'url': {'type': 'string'}, 'code': {'type': 'string'}, 'bytes': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'error': {'type': 'string'}, 'jobId': {'type': 'string'}, 'links': {'type': 'object', 'required': ['file'], 'properties': {'file': {'type': 'string'}}, 'additionalProperties': False}, 'payment': {'type': 'object', 'required': ['amount', 'currency', 'rail', 'balance'], 'properties': {'rail': {'type': 'string', 'const': 'prepaid'}, 'amount': {'type': 'string'}, 'balance': {'type': 'string'}, 'currency': {'type': 'string', 'const': 'USD'}}, 'additionalProperties': False}, 'filename': {'type': 'string'}, 'jobToken': {'type': 'string'}, 'dimensions': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sourceUrl'], 'properties': {'maxPages': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Stop after this many pages.'}, 'sourceUrl': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'Site A (full URL).'}, 'targetUrl': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'Site B; pages are mapped onto it when given.'}, 'sitemapUrl': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'Sitemap to read instead of the fallbacks.'}}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'pages': {'type': 'array', 'items': {'type': 'object', 'required': ['sourceUrl', 'path'], 'properties': {'path': {'type': 'string'}, 'sourceUrl': {'type': 'string'}, 'targetUrl': {'type': 'string'}}, 'additionalProperties': False}}, 'payment': {'type': 'object', 'required': ['amount', 'currency', 'rail', 'balance'], 'properties': {'rail': {'type': 'string', 'const': 'prepaid'}, 'amount': {'type': 'string'}, 'balance': {'type': 'string'}, 'currency': {'type': 'string', 'const': 'USD'}}, 'additionalProperties': False}, 'strategy': {'type': 'string'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'keyId': {'type': 'string'}, 'recent': {'type': 'array', 'items': {'type': 'object', 'required': ['at', 'type', 'amount'], 'properties': {'at': {'type': 'string'}, 'kind': {'type': 'string'}, 'type': {'type': 'string'}, 'jobId': {'type': 'string'}, 'amount': {'type': 'string'}}, 'additionalProperties': False}}, 'balance': {'type': 'string'}, 'currency': {'type': 'string', 'const': 'USD'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['jobId'], 'properties': {'jobId': {'type': 'string', 'pattern': '^web-[a-z0-9-]+$', 'description': 'The jobId returned when the job was created, e.g. web-1a2b3c.'}, 'jobToken': {'type': 'string', 'maxLength': 200, 'minLength': 20, 'description': 'The jobToken returned when the job was created. Optional when the request carries the prepaid key that paid the job (Authorization: Bearer dck_…).'}}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string'}, 'status': {'type': 'string'}, 'summary': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'progress': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['jobId'], 'properties': {'jobId': {'type': 'string', 'pattern': '^web-[a-z0-9-]+$', 'description': 'The jobId returned when the job was created, e.g. web-1a2b3c.'}, 'limit': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page results to return (default 1000, at most 5000).'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Index of the first page result to return (default 0).'}, 'jobToken': {'type': 'string', 'maxLength': 200, 'minLength': 20, 'description': 'The jobToken returned when the job was created. Optional when the request carries the prepaid key that paid the job (Authorization: Bearer dck_…).'}, 'failedOnly': {'type': 'boolean', 'description': 'Only pages whose status is fail: results, total, nextOffset and text then cover the failed pages alone, while summary still covers every page.'}, 'includeText': {'type': 'boolean', 'description': 'Also return the plain-text report over the slice as structuredContent.text; the text block carries it either way.'}}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'code': {'type': 'string'}, 'text': {'type': 'string'}, 'error': {'type': ['string', 'null']}, 'jobId': {'type': 'string'}, 'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'status': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'summary': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'cancelled': {'type': 'boolean'}, 'nextOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['jobId', 'filename'], 'properties': {'jobId': {'type': 'string', 'pattern': '^web-[a-z0-9-]+$', 'description': 'The jobId returned when the job was created, e.g. web-1a2b3c.'}, 'filename': {'type': 'string', 'pattern': '^[a-zA-Z0-9_-]+\\.png$', 'description': 'A screenshot filename from the report.'}, 'jobToken': {'type': 'string', 'maxLength': 200, 'minLength': 20, 'description': 'The jobToken returned when the job was created. Optional when the request carries the prepaid key that paid the job (Authorization: Bearer dck_…).'}}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'url': {'type': 'string'}, 'code': {'type': 'string'}, 'bytes': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'error': {'type': 'string'}, 'jobId': {'type': 'string'}, 'links': {'type': 'object', 'required': ['file'], 'properties': {'file': {'type': 'string'}}, 'additionalProperties': False}, 'payment': {'type': 'object', 'required': ['amount', 'currency', 'rail', 'balance'], 'properties': {'rail': {'type': 'string', 'const': 'prepaid'}, 'amount': {'type': 'string'}, 'balance': {'type': 'string'}, 'currency': {'type': 'string', 'const': 'USD'}}, 'additionalProperties': False}, 'filename': {'type': 'string'}, 'jobToken': {'type': 'string'}, 'dimensions': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string'}, 'links': {'type': 'object', 'required': ['file'], 'properties': {'file': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': 'string'}, 'filename': {'type': 'string'}, 'jobToken': {'type': 'string'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'urls': {'type': 'array', 'items': {'type': 'object', 'required': ['source', 'target'], 'properties': {'source': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'Page URL on Site A.'}, 'target': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': "The same page's URL on Site B."}}}, 'minItems': 1, 'description': 'Explicit page pairs to compare; skips discovery and is priced per pair. One pair is a single-page comparison and needs no sourceUrl.'}, 'dryRun': {'type': 'boolean', 'description': 'Quote only: runs every check and the pricing, then answers the page count and exact amount. Nothing is charged, the free sample is not used and no job starts; the same body without dryRun is priced from the retained result.'}, 'maxPages': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Optional ceiling on the pages compared and charged for. The job is priced on the pages it compares: the urls list, or the pages discovery finds, at most this many. There is no page limit.'}, 'sourceUrl': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'Site A, the reference site (full URL). Required unless urls is given.'}, 'targetUrl': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'Site B, the migrated site. Omit to capture screenshots of Site A only.'}, 'threshold': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Visual diff tolerance as a fraction from 0 (exact) to 1: 0.05 means 5%. The web app takes a percentage; the API does not.'}, 'sitemapUrl': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'Sitemap to discover pages from.'}, 'sourceAuth': {'type': 'object', 'required': ['username', 'password'], 'properties': {'password': {'type': 'string', 'maxLength': 512, 'description': 'Password for HTTP basic auth.'}, 'username': {'type': 'string', 'maxLength': 512, 'description': 'Username for HTTP basic auth.'}}, 'description': 'HTTP basic auth for Site A.'}, 'targetAuth': {'type': 'object', 'required': ['username', 'password'], 'properties': {'password': {'type': 'string', 'maxLength': 512, 'description': 'Password for HTTP basic auth.'}, 'username': {'type': 'string', 'maxLength': 512, 'description': 'Username for HTTP basic auth.'}}, 'description': 'HTTP basic auth for Site B.'}, 'callbackUrl': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'Optional https URL that receives one JSON POST when the job ends (jobId, status, summary, links; never the jobToken), a nudge to read the job. Public hosts only, no redirects followed, retried twice; delivery never affects the job.'}, 'maxPriceUsd': {'type': 'number', 'description': 'Optional spend cap in USD. A job priced above it is refused before any challenge, so an auto-paying client is never asked for more.', 'exclusiveMinimum': 0}, 'viewportWidth': {'type': 'integer', 'maximum': 2560, 'minimum': 320, 'description': 'Capture width in px.'}}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string'}, 'amount': {'type': 'string'}, 'dryRun': {'type': 'boolean', 'const': True}, 'sample': {'type': 'boolean'}, 'status': {'type': 'string', 'const': 'running'}, 'payment': {'type': 'object', 'required': ['amount', 'currency', 'rail', 'balance'], 'properties': {'rail': {'type': 'string', 'const': 'prepaid'}, 'amount': {'type': 'string'}, 'balance': {'type': 'string'}, 'currency': {'type': 'string', 'const': 'USD'}}, 'additionalProperties': False}, 'currency': {'type': 'string', 'const': 'USD'}, 'jobToken': {'type': 'string'}, 'pagesPriced': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'pagesCharged': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['jobId'], 'properties': {'jobId': {'type': 'string', 'pattern': '^web-[a-z0-9-]+$', 'description': 'The jobId returned when the job was created, e.g. web-1a2b3c.'}, 'jobToken': {'type': 'string', 'maxLength': 200, 'minLength': 20, 'description': 'The jobToken returned when the job was created. Optional when the request carries the prepaid key that paid the job (Authorization: Bearer dck_…).'}, 'timeoutSeconds': {'type': 'integer', 'maximum': 300, 'minimum': 1, 'description': 'Seconds to wait for a terminal status before answering with the current one (default 60, at most 300).'}}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'code': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string'}, 'status': {'type': 'string'}, 'summary': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'progress': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}
最近のツール変更
類似のMCPサーバー
TinyFn
Offers deterministic utility functions for mathematics, conversions, validation, hashing, encoding, arrays, dates, colors, and pa…
hyperion
Acts as a paid MCP tool marketplace and utility gateway with server discovery, HTTP and JavaScript tools, research, data conversi…
Andreax
Offers pay-per-call AI services for inference, agent and workflow design, OCR and transcription, code generation and review, clas…
Vee3
Manages Clerk authentication infrastructure, including users, organizations, domains, sessions, tokens, OAuth, SSO, machines, per…
Courier
Provides notification delivery infrastructure for users, tenants, lists, templates, preferences, journeys, automations, brands, a…
GripForge
Generates, rigs, animates, analyzes, and packages game characters, weapons, armor, effects, environments, and engine-ready assets.
IA-QA — 130+ QA & Dev Tools for AI Agents
Provides deterministic QA, evaluation, testing, code analysis, prompt and RAG checks, model comparison, and web security diagnost…
apis-io
Provides catalog search, comparison, scoring, enrichment, lists, and dataset exports for APIs, providers, specifications, workflo…