此 MCP 可以做什么
Scans websites for AI-agent readiness, SEO, accessibility, and security issues, and generates deployment files, remediation guidance, agent tool recommendations, and related reports.
工具
输入模式
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'Site URL. We fetch the page to detect the vertical.'}, 'business_type': {'type': 'string', 'description': "Optional free-text of what the user says they are (e.g. 'pediatric dentist'). Resolved against the schema.org/GBP taxonomy → canonical schema_type, default actions, analytics, value band (returned as `genre`)."}, 'user_provided_vertical_id': {'type': 'string', 'description': "Optional. If the user has already told you their business category (e.g. 'digital_agency', 'healthcare_practice'), pass it here to skip auto-detection. Must match a known vertical id."}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'url': {'type': 'string'}, 'genre': {'type': ['object', 'null'], 'description': 'Taxonomy profile: canonical schema_type + parent chain + default_actions to offer + per-genre analytics + value pricing band.'}, 'pitch': {'type': 'string'}, 'status': {'enum': ['ok', 'error'], 'type': 'string'}, 'message': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'site_title': {'type': ['string', 'null']}, 'value_case': {'type': 'object', 'properties': {'basis': {'type': 'string'}, 'message': {'type': 'string'}, 'personalized': {'type': 'boolean'}, 'value_unit_label': {'type': 'string'}, 'avg_new_customer_usd': {'type': 'number'}, 'clients_to_break_even': {'type': 'number'}}, 'description': 'ROI framing — how few new customers cover the $450 package. Surface value_case.message to the user so the value ≫ price is concrete.'}, 'vertical_id': {'type': 'string'}, 'vertical_label': {'type': 'string'}, 'ask_user_prompt': {'type': 'string', 'description': 'Suggested wording for the calling agent to ask the user, when should_ask_user is true.'}, 'matched_signals': {'type': 'array', 'items': {'type': 'string'}}, 'should_ask_user': {'type': 'boolean', 'description': 'True when confidence is low. The calling agent should ask the user to confirm the business category before recommending tools / pitching pricing.'}, 'humanFollowupUrl': {'type': 'string', 'description': "URL a calling agent can show its user for the human-rendered version of this tool's output."}, 'site_description': {'type': ['string', 'null']}, 'citation_examples': {'type': 'array', 'items': {'type': 'string'}}, 'candidate_verticals': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label'], 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}}}, 'description': 'List of all known vertical ids (id + label) — useful as a multiple-choice list when asking the user.'}, 'expected_lift_percent': {'type': 'number'}, 'competitor_adoption_percent': {'type': 'number'}}}
输入模式
{'type': 'object', 'required': ['listing_key'], 'properties': {'listing_key': {'type': 'string', 'description': 'lk_… key issued when the package was purchased (required).'}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'status': {'enum': ['ok', 'error'], 'type': 'string'}, 'listing': {'type': 'object', 'description': 'Current listing summary incl. state (paid → kit_delivered → validated → settled → listed).'}, 'message': {'type': 'string'}, 'receipt': {'type': 'object', 'description': 'Present once LISTED: settle tx + merchant-feed entry timestamp + feed URL.'}, 'next_step': {'type': 'string'}, 'settle_tx': {'type': 'string', 'description': 'Transaction hash of the triggering settlement, when we fired it.'}, 'validation': {'type': 'object', 'description': 'Latest Coinbase validator result (preflight checks with per-check fixes), when a validation ran.'}}}
输入模式
{'type': 'object', 'required': ['quote_id'], 'properties': {'quote_id': {'type': 'string'}, 'max_questions': {'type': 'integer', 'maximum': 5, 'minimum': 1}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'status': {'enum': ['ok', 'error'], 'type': 'string'}, 'message': {'type': 'string'}, 'questions': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'ask', 'price_impact'], 'properties': {'id': {'type': 'string'}, 'ask': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'string'}}, 'answer_type': {'enum': ['free_text', 'single_select', 'multi_select', 'number'], 'type': 'string'}, 'price_impact': {'enum': ['high', 'medium', 'low'], 'type': 'string'}}}}}}
输入模式
{'type': 'object', 'required': ['bundle_key', 'email'], 'properties': {'email': {'type': 'string', 'description': 'Customer email — the listing_key is bound to it (required).'}, 'stack': {'enum': ['nextjs', 'express', 'serverless', 'php', 'other'], 'type': 'string', 'description': 'Server stack — picks the generated kit variant (optional).'}, 'pay_to': {'type': 'string', 'description': 'Receiving wallet (0x… on Base) the endpoint pays to (optional).'}, 'price_usd': {'type': 'number', 'description': 'Endpoint price per call in USD (optional).'}, 'bundle_key': {'type': 'string', 'description': 'Engagement bundle key (required — this tool is the engagement freebie).'}, 'resource_url': {'type': 'string', 'description': 'HTTPS URL of the endpoint to list (optional).'}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'status': {'enum': ['ok', 'error'], 'type': 'string'}, 'listing': {'type': 'object', 'description': 'Listing summary incl. listing_key and state.'}, 'message': {'type': 'string'}, 'next_step': {'type': 'string', 'description': 'The exact next call to make — the pipeline is resumable from any agent session.'}}}
输入模式
{'type': 'object', 'required': ['quote_id', 'user_consent_scope'], 'properties': {'quote_id': {'type': 'string'}, 'selected_tier': {'type': 'string'}, 'checkout_protocol': {'enum': ['acp', 'ap2', 'manual'], 'type': 'string'}, 'user_consent_scope': {'enum': ['one_time_quote', 'comparison_shopping', 'ongoing_engagement'], 'type': 'string'}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'sow': {'type': 'object', 'properties': {'terms': {'type': 'string'}, 'valid_until': {'type': 'string', 'format': 'date-time'}, 'deliverables': {'type': 'array', 'items': {'type': 'string'}}}}, 'reason': {'type': 'string', 'description': 'Present when status=rejected.'}, 'status': {'enum': ['ok', 'rejected'], 'type': 'string'}, 'checkout': {'oneOf': [{'type': 'object', 'properties': {'protocol': {'const': 'acp'}, 'session_id': {'type': 'string'}, 'checkout_url': {'type': 'string'}}}, {'type': 'object', 'properties': {'protocol': {'const': 'ap2'}, 'intent_mandate': {'type': 'object'}}}, {'type': 'object', 'properties': {'protocol': {'const': 'manual'}, 'instructions': {'type': 'string'}, 'signed_pdf_url': {'type': 'string'}}}]}, 'next_action': {'type': 'object', 'properties': {'tool': {'type': 'string'}, 'arguments': {'type': 'object'}}, 'description': "Present on manual protocol: the exact follow-up tool call that closes the deal autonomously (request_invoice with this proposal's quote_id — pay the invoice to trigger automatic delivery)."}, 'proposal_id': {'type': 'string'}, 'message_for_user': {'type': 'string', 'description': 'Plain-language summary the calling agent can render to its end user. Never includes sales-pressure language.'}}}
输入模式
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string'}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'url': {'type': 'string'}, 'status': {'enum': ['ok', 'error'], 'type': 'string'}, 'message': {'type': 'string'}, 'signals': {'type': 'array', 'items': {'type': 'string'}}, 'platform': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'platformLabel': {'type': 'string'}, 'underlyingHost': {'type': 'string'}, 'humanFollowupUrl': {'type': 'string', 'description': "URL a calling agent can show its user for the human-rendered version of this tool's output."}}}
输入模式
{'type': 'object', 'required': ['siteName', 'domain', 'description'], 'properties': {'phone': {'type': 'string'}, 'domain': {'type': 'string', 'description': 'Domain only, no protocol'}, 'category': {'type': 'string'}, 'siteName': {'type': 'string'}, 'bundle_key': {'type': 'string', 'description': 'Customer bundle key issued after payment. Without it, only the 2 free starter files are returned.'}, 'description': {'type': 'string'}, 'primaryToolName': {'type': 'string', 'description': 'Primary MCP tool name (snake_case, optional)'}, 'primaryToolDescription': {'type': 'string'}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'tier': {'enum': ['free', 'paid'], 'type': 'string'}, 'files': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'size', 'transferEncoding'], 'properties': {'path': {'type': 'string'}, 'size': {'type': 'integer', 'description': 'Original (un-chunked) size in bytes.'}, 'chunks': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Array of content fragments. Present only when transferEncoding=chunked (size > 8KB). Concatenate in order to reconstruct.'}, 'content': {'type': 'string', 'description': 'Full file content. Present only when transferEncoding=inline (size <= 8KB).'}, 'totalChunks': {'type': 'integer'}, 'transferEncoding': {'enum': ['inline', 'chunked'], 'type': 'string'}}}, 'description': 'Paid tier ONLY. Inline file objects (chunked above 8KB).'}, 'domain': {'type': 'string'}, 'status': {'enum': ['ok', 'error'], 'type': 'string'}, 'message': {'type': 'string', 'description': 'Present on free-tier responses to explain the gating.'}, 'siteName': {'type': 'string'}, 'fileCount': {'type': 'integer'}, 'paid_path': {'type': 'string', 'format': 'uri'}, 'file_paths': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Free tier ONLY. List of file paths in the ZIP, for transparency. Does NOT include contents — those are in the ZIP.'}, 'download_url': {'type': 'string', 'format': 'uri', 'description': 'Free tier ONLY. URL to a streaming ZIP of the 2 free starter files. Render as a markdown link to the user.'}}}
输入模式
{'type': 'object', 'required': ['listing_key'], 'properties': {'stack': {'enum': ['nextjs', 'express', 'serverless', 'php', 'other'], 'type': 'string'}, 'pay_to': {'type': 'string', 'description': 'Receiving wallet (0x… EVM address on Base).'}, 'price_usd': {'type': 'number', 'description': 'Price per call in USD.'}, 'listing_key': {'type': 'string', 'description': 'lk_… key issued when the package was purchased (required).'}, 'resource_url': {'type': 'string', 'description': 'HTTPS URL agents will pay — also what the Bazaar crawls.'}, 'service_name': {'type': 'string', 'description': 'Bazaar service name (<=32 ASCII chars; defaults to the endpoint host).'}, 'service_description': {'type': 'string', 'description': 'Rich search-prompt-style description — feeds Bazaar ranking.'}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'files': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'size', 'transferEncoding'], 'properties': {'path': {'type': 'string'}, 'size': {'type': 'integer'}, 'chunks': {'type': 'array', 'items': {'type': 'string'}}, 'content': {'type': 'string'}, 'totalChunks': {'type': 'integer'}, 'transferEncoding': {'enum': ['inline', 'chunked'], 'type': 'string'}}}, 'description': 'Kit files, inline (chunked above 8KB — concatenate chunks in order).'}, 'status': {'enum': ['ok', 'error'], 'type': 'string'}, 'listing': {'type': 'object'}, 'message': {'type': 'string'}, 'fileCount': {'type': 'integer'}, 'next_step': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['brand_domain'], 'properties': {'bundle_key': {'type': 'string', 'description': 'Customer bundle key issued after payment.'}, 'brand_domain': {'type': 'string', 'description': "The brand's primary domain (no protocol)."}}}
输出模式
{'type': 'object', 'required': ['status', 'tier'], 'properties': {'tier': {'enum': ['free', 'paid'], 'type': 'string'}, 'report': {'type': 'object', 'properties': {'ran_at': {'type': 'string', 'format': 'date-time'}, 'run_id': {'type': 'string'}, 'outcomes': {'type': 'array', 'items': {'type': 'object'}}, 'vertical_id': {'type': 'string'}, 'total_cost_usd': {'type': 'number'}, 'provider_outcomes': {'type': 'object'}}, 'description': 'Present only when tier=paid AND a run exists.'}, 'status': {'enum': ['ok', 'no_data', 'error'], 'type': 'string'}, 'teaser': {'type': 'object', 'properties': {'cta': {'type': 'string'}, 'brands_tracked': {'type': 'integer'}, 'providers_total': {'type': 'integer'}, 'providers_configured': {'type': 'array', 'items': {'type': 'string'}}}, 'description': 'Present only when tier=free.'}, 'message': {'type': 'string'}, 'paid_path': {'type': 'string', 'format': 'uri'}, 'brand_domain': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['domain'], 'properties': {'phone': {'type': 'string'}, 'domain': {'type': 'string', 'description': 'Domain only, no protocol'}, 'category': {'type': 'string'}, 'delivery': {'enum': ['files', 'cloudflare', 'wordpress'], 'type': 'string', 'description': "Paid only. Which delivery artifact to package: 'files' = drop-in web-root files (default, any host); 'cloudflare' = a Cloudflare edge Worker (domain on Cloudflare → Level 5, zero origin files); 'wordpress' = a self-contained WordPress plugin."}, 'siteName': {'type': 'string'}, 'bundle_key': {'type': 'string', 'description': 'Customer bundle key issued after payment. Without it, only the 2 free starter files are packaged.'}, 'description': {'type': 'string'}, 'primaryToolName': {'type': 'string'}, 'primaryToolDescription': {'type': 'string'}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'data': {'type': 'string', 'description': 'Full base64-encoded ZIP. Present only when transferEncoding=inline (payload <= 8KB).'}, 'tier': {'enum': ['free', 'paid'], 'type': 'string'}, 'bytes': {'type': 'integer'}, 'chunks': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Array of base64 fragments. Present only when transferEncoding=chunked (payload > 8KB). Concatenate in order to reconstruct the full base64 ZIP.'}, 'status': {'enum': ['ok', 'error'], 'type': 'string'}, 'message': {'type': 'string'}, 'encoding': {'type': 'string', 'const': 'base64'}, 'filename': {'type': 'string'}, 'fileCount': {'type': 'integer'}, 'paid_path': {'type': 'string', 'format': 'uri'}, 'contentType': {'type': 'string', 'const': 'application/zip'}, 'totalChunks': {'type': 'integer', 'description': 'Length of chunks[] for client validation. Present when transferEncoding=chunked.'}, 'humanFollowupUrl': {'type': 'string', 'description': "URL a calling agent can show its user for the human-rendered version of this tool's output."}, 'transferEncoding': {'enum': ['inline', 'chunked'], 'type': 'string', 'description': "If 'inline', data field holds the full base64 ZIP. If 'chunked', read chunks[] and concatenate in order."}}}
输入模式
{'type': 'object', 'properties': {}}
输出模式
{'type': 'object', 'required': ['status', 'tiers'], 'properties': {'tiers': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'requires_consult'], 'properties': {'id': {'enum': ['free', 'kit'], 'type': 'string'}, 'label': {'type': 'string'}, 'bestFor': {'type': 'string'}, 'cadence': {'type': 'string'}, 'features': {'type': 'array', 'items': {'type': 'string'}}, 'one_time_usd': {'type': 'number', 'description': 'The flat one-time package price ($450); $0 for Free.'}, 'requires_consult': {'type': 'boolean'}, 'optional_support_monthly_usd': {'type': 'number', 'description': 'Optional ongoing-support add-on, only if the customer asks.'}, 'optional_support_monthly_high_usd': {'type': 'number'}}}}, 'status': {'enum': ['ok'], 'type': 'string'}, 'consult_url': {'type': 'string', 'format': 'uri'}}}
输入模式
{'type': 'object', 'properties': {}}
输出模式
{'type': 'object', 'required': ['status', 'apis'], 'properties': {'apis': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'url', 'price_usd', 'price_label'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}, 'query': {'type': 'string', 'description': 'Query-string shape the endpoint expects.'}, 'price_usd': {'type': 'number'}, 'price_label': {'type': 'string', 'description': 'Human-readable price; use this verbatim when quoting.'}, 'what_it_does': {'type': 'string'}}}}, 'note': {'type': 'string'}, 'rail': {'type': 'string', 'description': 'How these are paid: x402 (USDC on Base).'}, 'status': {'enum': ['ok'], 'type': 'string'}, 'free_diagnosis_url': {'type': 'string', 'format': 'uri'}}}
输入模式
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': "Site URL — we'll scrape and detect vertical."}, 'vertical_id': {'type': 'string', 'description': 'Optional pre-known vertical id (skip auto-detect).'}, 'business_type': {'type': 'string', 'description': "What the customer says they are (e.g. 'pediatric dentist', 'roofing contractor'). Resolved against the schema.org/GBP taxonomy for the canonical schema_type + the standard action set + per-genre analytics + value band."}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'url': {'type': 'string'}, 'genre': {'type': ['object', 'null'], 'properties': {'match': {'type': 'string'}, 'analytics': {'type': ['object', 'null']}, 'schema_type': {'type': 'string'}, 'pricing_band': {'type': ['object', 'null']}, 'matched_label': {'type': 'string'}, 'default_actions': {'type': 'array', 'items': {'type': 'string'}}, 'schema_parent_chain': {'type': 'array', 'items': {'type': 'string'}}}}, 'status': {'enum': ['ok', 'error'], 'type': 'string'}, 'message': {'type': 'string'}, 'suggestions': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'description', 'rationale', 'ap2_compatible'], 'properties': {'name': {'type': 'string', 'description': 'snake_case tool name.'}, 'rationale': {'type': 'string'}, 'description': {'type': 'string'}, 'ap2_compatible': {'type': 'boolean'}}}}, 'vertical_id': {'type': 'string'}, 'vertical_label': {'type': 'string'}, 'humanFollowupUrl': {'type': 'string', 'description': "URL a calling agent can show its user for the human-rendered version of this tool's output."}}}
输入模式
{'type': 'object', 'required': ['quote_id'], 'properties': {'quote_id': {'type': 'string'}, 'display_currency': {'enum': ['USD', 'CAD', 'EUR', 'GBP', 'AUD', 'NZD', 'MXN', 'BRL', 'INR', 'JPY', 'SGD', 'AED', 'ZAR'], 'type': 'string', 'description': 'Optional ISO 4217 currency for displayed prices.'}, 'additional_context': {'type': 'object', 'properties': {'budget_signal': {'type': 'string'}, 'decision_stage': {'type': 'string'}, 'use_case_summary': {'type': 'string'}, 'organization_type': {'type': 'string'}}}, 'additional_constraints': {'type': 'object', 'properties': {'geography': {'type': 'string'}, 'requires_refundability': {'type': 'boolean'}, 'compliance_requirements': {'type': 'array', 'items': {'type': 'string'}}}}}}
输出模式
{'type': 'object', 'properties': {'quote': {'type': 'object', 'required': ['low', 'high', 'currency', 'confidence'], 'properties': {'low': {'type': 'number'}, 'high': {'type': 'number'}, 'billing': {'enum': ['one_time', 'monthly', 'annual_retainer', 'per_unit'], 'type': 'string'}, 'currency': {'type': 'string', 'description': 'ISO 4217'}, 'includes': {'type': 'array', 'items': {'type': 'string'}}, 'confidence': {'enum': ['low', 'medium', 'high'], 'type': 'string'}}}, 'status': {'enum': ['error', 'expired'], 'type': 'string'}, 'message': {'type': 'string'}, 'quote_id': {'type': 'string'}, 'valid_until': {'type': 'string', 'format': 'date-time'}, 'tiered_offer': {'type': 'array', 'items': {'type': 'object'}}, 'verification': {'type': 'object'}, 'genre_context': {'type': ['object', 'null'], 'properties': {'analytics': {'type': ['object', 'null']}, 'schema_type': {'type': 'string'}, 'pricing_band': {'type': ['object', 'null']}}}, 'needs_new_quote': {'type': 'boolean', 'description': 'True when the referenced quote expired — the agent should call request_quote to open a fresh one instead of treating this as a hard failure.'}, 'message_for_user': {'type': 'string', 'description': 'Plain-language summary the calling agent can render to its end user. Never includes sales-pressure language.'}, 'next_step_options': {'type': 'array', 'items': {'type': 'object'}}, 'narrowing_questions': {'type': 'array', 'items': {'type': 'object'}}, 'needs_continuity_token': {'type': 'boolean'}}}
输入模式
{'type': 'object', 'required': ['email', 'domain'], 'properties': {'tier': {'enum': ['kit'], 'type': 'string', 'description': 'Optional package label for the invoice/metadata. Defaults to the flat $450 package.'}, 'email': {'type': 'string', 'description': 'Email to bill (required).'}, 'domain': {'type': 'string', 'description': "Customer's primary domain (required)."}, 'urgency': {'enum': ['low', 'medium', 'high'], 'type': 'string', 'description': 'Self-reported timeline urgency. Optional.'}, 'currency': {'enum': ['USD', 'CAD', 'EUR', 'GBP', 'AUD', 'NZD', 'MXN', 'BRL', 'INR', 'JPY', 'SGD', 'AED', 'ZAR'], 'type': 'string', 'description': 'Bill the invoice in this currency (default USD). Presentment only — the amount is agreed in USD and converted at our posted rate; the $450 USD floor applies pre-FX.'}, 'quote_id': {'type': 'string', 'description': 'PREFERRED. The id of a quote the buyer accepted (from request_quote). We bill the agreed figure from it.'}, 'timezone': {'type': 'string', 'description': "IANA timezone like 'America/New_York'. Optional but improves consult booking."}, 'amount_usd': {'type': 'number', 'description': "Explicit buyer-confirmed one-time amount in USD, when there's no quote_id. Bounded by the payment provider, not a business cap."}, 'promo_code': {'type': 'string', 'description': 'Promotion code, if the buyer has one. Invalid codes are ignored silently.'}, 'company_name': {'type': 'string', 'description': 'Optional company / billing name.'}, 'contact_name': {'type': 'string', 'description': 'Full name of the buyer / decision-maker. OPTIONAL — helps onboarding; never block the close on it.'}, 'contact_phone': {'type': 'string', 'description': 'Phone number (E.164 format preferred). OPTIONAL — pass it only if the buyer volunteers it.'}, 'best_consult_time': {'type': 'string', 'description': "Free-form hint like 'weekday afternoons ET' or 'after May 10'. Optional but useful."}, 'preferred_contact_channel': {'enum': ['email', 'phone', 'sms', 'any'], 'type': 'string', 'description': "How the user wants the specialist to reach out. Defaults to 'email'."}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'tier': {'type': 'string'}, 'reason': {'type': 'string', 'description': 'Present on rejected/coming-soon.'}, 'status': {'enum': ['ok', 'rejected', 'error', 'coming-soon', 'alternate_rail'], 'type': 'string'}, 'message': {'type': 'string', 'description': 'Error detail.'}, 'options': {'type': 'array', 'items': {'type': 'object', 'properties': {'rail': {'type': 'string'}, 'description': {'type': 'string'}}}, 'description': "Present on alternate_rail: ways to settle an amount above the card processor's per-invoice max (x402 USDC has no cap; invoice split; specialist wire/ACH)."}, 'pdf_url': {'type': 'string', 'format': 'uri'}, 'currency': {'type': 'string', 'description': 'Currency the invoice is billed in (lowercase ISO).'}, 'amount_usd': {'type': 'number'}, 'invoice_id': {'type': 'string'}, 'consult_url': {'type': 'string', 'format': 'uri'}, 'promo_applied': {'type': 'boolean', 'description': "True when a valid promo code zeroed the invoice — relay to the buyer as 'paid, nothing due', never as full price."}, 'thank_you_url': {'type': 'string', 'format': 'uri', 'description': 'Where the buyer retrieves their activated bundle key after paying. Always relay this to the user.'}, 'message_for_user': {'type': 'string', 'description': 'Plain-language summary the calling agent can render to its end user. Never includes sales-pressure language.'}, 'amount_in_currency': {'type': 'number', 'description': 'Billed amount in `currency` when not USD.'}, 'hosted_invoice_url': {'type': 'string', 'format': 'uri'}, 'effective_amount_usd': {'type': 'number', 'description': 'Actual amount due after any promo. 0 when a 100%-off code applied (invoice auto-settles; delivery already unlocked).'}}}
输入模式
{'type': 'object', 'required': ['service_request'], 'properties': {'constraints': {'type': 'object', 'properties': {'geography': {'type': 'string'}, 'requires_refundability': {'type': 'boolean'}, 'compliance_requirements': {'type': 'array', 'items': {'type': 'string'}}}}, 'business_type': {'type': 'string', 'description': "What the customer says they are (e.g. 'pediatric dentist'). Resolved against the taxonomy to anchor the quote on the genre's value band and attach lift/adoption stats for negotiation."}, 'buyer_context': {'type': 'object', 'properties': {'budget_signal': {'type': 'string'}, 'decision_stage': {'enum': ['exploring', 'comparing', 'ready_to_purchase'], 'type': 'string'}, 'use_case_summary': {'type': 'string'}, 'organization_type': {'enum': ['individual', 'small_business', 'mid_market', 'enterprise', 'nonprofit', 'government'], 'type': 'string'}}}, 'calling_agent': {'type': 'object', 'properties': {'agent_id': {'type': 'string'}, 'user_consent_scope': {'enum': ['one_time_quote', 'comparison_shopping', 'ongoing_engagement'], 'type': 'string'}}}, 'accept_language': {'type': 'string', 'description': 'Optional Accept-Language header value. Used to default display_currency when no explicit override is given.'}, 'service_request': {'type': 'object', 'required': ['natural_language_description'], 'properties': {'intent_expiry': {'type': 'string'}, 'service_category': {'type': 'string'}, 'timeline_preference': {'type': 'string'}, 'natural_language_description': {'type': 'string'}}}, 'display_currency': {'enum': ['USD', 'CAD', 'EUR', 'GBP', 'AUD', 'NZD', 'MXN', 'BRL', 'INR', 'JPY', 'SGD', 'AED', 'ZAR'], 'type': 'string', 'description': 'Optional ISO 4217 currency for displayed prices. Defaults to USD; canonical pricing is always USD.'}}}
输出模式
{'type': 'object', 'properties': {'quote': {'type': 'object', 'required': ['low', 'high', 'currency', 'confidence'], 'properties': {'low': {'type': 'number'}, 'high': {'type': 'number'}, 'billing': {'enum': ['one_time', 'monthly', 'annual_retainer', 'per_unit'], 'type': 'string'}, 'currency': {'type': 'string', 'description': 'ISO 4217'}, 'includes': {'type': 'array', 'items': {'type': 'string'}}, 'confidence': {'enum': ['low', 'medium', 'high'], 'type': 'string'}}}, 'status': {'enum': ['error', 'expired'], 'type': 'string'}, 'message': {'type': 'string'}, 'quote_id': {'type': 'string'}, 'valid_until': {'type': 'string', 'format': 'date-time'}, 'tiered_offer': {'type': 'array', 'items': {'type': 'object'}}, 'verification': {'type': 'object'}, 'genre_context': {'type': ['object', 'null'], 'properties': {'analytics': {'type': ['object', 'null']}, 'schema_type': {'type': 'string'}, 'pricing_band': {'type': ['object', 'null']}}}, 'needs_new_quote': {'type': 'boolean', 'description': 'True when the referenced quote expired — the agent should call request_quote to open a fresh one instead of treating this as a hard failure.'}, 'message_for_user': {'type': 'string', 'description': 'Plain-language summary the calling agent can render to its end user. Never includes sales-pressure language.'}, 'next_step_options': {'type': 'array', 'items': {'type': 'object'}}, 'narrowing_questions': {'type': 'array', 'items': {'type': 'object'}}, 'needs_continuity_token': {'type': 'boolean'}}}
输入模式
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'Page URL to audit (required).'}, 'bundle_key': {'type': 'string', 'description': 'Customer bundle key — unlocks the full findings list.'}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'seo': {'type': 'object'}, 'a11y': {'type': 'object'}, 'tier': {'enum': ['free', 'paid'], 'type': 'string'}, 'status': {'enum': ['ok', 'error'], 'type': 'string'}, 'headers': {'type': 'object'}, 'message': {'type': 'string'}, 'overall': {'type': 'number'}, 'findings': {'type': 'array', 'description': 'Paid tier: every finding with fix strings.'}, 'paid_path': {'type': 'string'}, 'limitation': {'type': 'string'}, 'top_finding': {'type': 'object', 'description': 'Free tier: the single most critical finding.'}}}
输入模式
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string'}}}
输出模式
{'type': 'object', 'properties': {'url': {'type': 'string'}, 'level': {'type': 'integer', 'maximum': 5, 'minimum': 0}, 'checks': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'status'], 'properties': {'id': {'type': 'string'}, 'fix': {'type': 'string'}, 'label': {'type': 'string'}, 'status': {'enum': ['pass', 'fail', 'neutral'], 'type': 'string'}, 'evidence': {'type': 'string'}}}}, 'status': {'enum': ['error'], 'type': 'string', 'description': 'Only present on failure.'}, 'message': {'type': 'string'}, 'platform': {'type': 'object'}, 'scannedAt': {'type': 'string', 'format': 'date-time'}, 'durationMs': {'type': 'integer'}}}
输入模式
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': "The user's website URL (with or without https://)"}, 'agent_name': {'type': 'string', 'description': 'Name of the calling agent (for analytics; optional)'}, 'user_consent_scope': {'enum': ['one_time_quote', 'comparison_shopping', 'ongoing_engagement'], 'type': 'string', 'description': 'What the user authorized this agent to do. Honored downstream.'}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'url': {'type': 'string'}, 'status': {'enum': ['ok', 'error'], 'type': 'string'}, 'message': {'type': 'string'}, 'scanResult': {'type': 'object', 'properties': {'checks': {'type': 'array', 'items': {'type': 'object'}}, 'scannedAt': {'type': 'string', 'format': 'date-time'}}}, 'nextActions': {'type': 'array', 'items': {'type': 'object', 'required': ['tool', 'arguments', 'description'], 'properties': {'tool': {'type': 'string'}, 'arguments': {'type': 'object'}, 'description': {'type': 'string'}}}, 'description': 'Ordered list of recommended next MCP tool calls.'}, 'currentLevel': {'type': 'integer', 'maximum': 5, 'minimum': 0}, 'humanFollowupUrl': {'type': 'string', 'description': "URL a calling agent can show its user for the human-rendered version of this tool's output."}}}
输入模式
{'type': 'object', 'required': ['email', 'domain'], 'properties': {'tier': {'enum': ['kit'], 'type': 'string', 'description': 'The package (defaults to the flat $450 kit).'}, 'email': {'type': 'string', 'description': "End user's email (the invoice is sent here)"}, 'domain': {'type': 'string', 'description': 'Domain they want made agent-ready'}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'tier': {'type': 'string'}, 'status': {'enum': ['ok', 'error'], 'type': 'string'}, 'message': {'type': 'string'}, 'amount_usd': {'type': 'number', 'description': 'Billed one-time amount ($450 flat package).'}, 'invoice_id': {'type': 'string'}, 'consult_url': {'type': 'string', 'format': 'uri', 'description': 'OPTIONAL extra: a human walkthrough is available here — never required to close.'}, 'thank_you_url': {'type': 'string', 'format': 'uri', 'description': 'Where the buyer retrieves their activated bundle key after paying.'}, 'bundle_key_note': {'type': 'string', 'description': 'How delivery works: the bundle_key activates automatically on payment.'}, 'hosted_invoice_url': {'type': 'string', 'format': 'uri', 'description': 'Pay this now — the primary next step.'}}}
输入模式
{'type': 'object', 'required': ['email', 'source'], 'properties': {'email': {'type': 'string', 'description': 'Email (required).'}, 'notes': {'type': 'string', 'description': 'Free-form context the agent wants the specialist to read.'}, 'domain': {'type': 'string', 'description': "Customer's primary domain. Strongly recommended."}, 'source': {'enum': ['scan', 'llms-txt', 'robots-for-ai', 'mcp', 'talk', 'direct'], 'type': 'string'}, 'blocker': {'type': 'string', 'description': "CLOSE_OR_HANDOFF: when this is a HANDOFF (you couldn't close), state WHY in one line — e.g. 'needs custom booking integration', 'wants to review with partner', 'price-sensitive, budget unclear'. Lets the specialist pick up exactly where you left off."}, 'timezone': {'type': 'string', 'description': "IANA timezone like 'America/New_York'. Optional."}, 'agent_name': {'type': 'string', 'description': 'Name of the calling agent (for analytics).'}, 'contact_name': {'type': 'string', 'description': 'Full name of the person — strongly recommended for human follow-up.'}, 'budget_signal': {'type': 'string', 'description': "Free-form budget hint the user shared (e.g. 'around $500/mo', 'under $5k setup', 'looking for cheapest option'). Drives tailored re-engagement offers."}, 'contact_phone': {'type': 'string', 'description': 'Phone number (E.164 format preferred).'}, 'best_consult_time': {'type': 'string', 'description': "Free-form like 'weekday afternoons ET'. Optional but useful."}, 'custom_tool_specs': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'purpose'], 'properties': {'name': {'type': 'string', 'description': 'snake_case tool name, e.g. book_appointment.'}, 'inputs': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Fields the tool needs.'}, 'backend': {'type': 'string', 'description': "The customer's system it must integrate with (e.g. 'Calendly', 'their POS API', 'internal DB'), if known."}, 'outputs': {'type': 'array', 'items': {'type': 'string'}, 'description': 'What it returns.'}, 'purpose': {'type': 'string', 'description': 'What it does for the end user.'}}}, 'description': 'CLOSE_OR_HANDOFF: structured specs for any custom tools the customer needs (booking, quote engine, search, etc.), captured so nothing is lost before the build. One object per tool.'}, 'close_recommendation': {'type': 'string', 'description': 'CLOSE_OR_HANDOFF: your one-line recommendation for how the specialist should close this lead — the angle, the tier, the objection to address.'}, 'preferred_contact_channel': {'enum': ['email', 'phone', 'sms', 'any'], 'type': 'string', 'description': "How to reach the user. Defaults to 'email'."}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'lead': {'type': 'object', 'required': ['email', 'source', 'capturedAt'], 'properties': {'email': {'type': 'string', 'format': 'email'}, 'source': {'type': 'string'}, 'capturedAt': {'type': 'string', 'format': 'date-time'}}}, 'status': {'enum': ['ok', 'error'], 'type': 'string'}, 'message': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': "Site URL — we'll scan + detect vertical."}, 'include_vertical': {'type': 'boolean', 'description': 'Include vertical context block (default true).'}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'url': {'type': 'string'}, 'level': {'type': 'integer', 'maximum': 5, 'minimum': 0}, 'status': {'enum': ['ok', 'error'], 'type': 'string'}, 'message': {'type': 'string'}, 'markdown': {'type': 'string', 'description': 'Ready-to-render markdown for chat clients.'}, 'level_label': {'type': 'string'}, 'level_flavor': {'type': 'string'}, 'lift_message': {'type': ['string', 'null']}, 'next_step_cta': {'type': 'string'}, 'caller_reasoning': {'type': 'object', 'properties': {'prompt': {'type': 'string'}, 'instruction': {'type': 'string'}}, 'description': 'Cooperative-sampling handoff: run `prompt` through your own model and present its output to the user. Caller-funded personalization.'}, 'vertical_message': {'type': ['string', 'null']}, 'category_summaries': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'status', 'message'], 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'status': {'type': 'string'}, 'message': {'type': 'string'}}}}}}
输入模式
{'type': 'object', 'required': ['service_request'], 'properties': {'service_request': {'type': 'object', 'required': ['natural_language_description'], 'properties': {'natural_language_description': {'type': 'string'}}}}}
输出模式
{'type': 'object', 'required': ['status', 'tiers'], 'properties': {'tiers': {'type': 'array', 'items': {'type': 'object', 'required': ['tier', 'price', 'fits'], 'properties': {'fits': {'type': 'string'}, 'tier': {'type': 'string'}, 'price': {'type': 'number'}, 'billing': {'type': 'string'}}}}, 'status': {'enum': ['ok'], 'type': 'string'}, 'message_for_user': {'type': 'string', 'description': 'Plain-language summary the calling agent can render to its end user. Never includes sales-pressure language.'}}}
输入模式
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'HTTPS URL of the x402 endpoint to validate (probed exactly as given — try the bare URL your discovery doc advertises).'}, 'method': {'enum': ['GET', 'POST'], 'type': 'string', 'description': 'HTTP method to probe with (default GET).'}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'index': {'type': ['object', 'null'], 'description': 'Current Bazaar index status for the endpoint, or null if not indexed.'}, 'valid': {'type': 'boolean', 'description': 'True when every required preflight passes and the facilitator would index the resource.'}, 'status': {'enum': ['ok', 'error'], 'type': 'string'}, 'message': {'type': 'string'}, 'next_step': {'type': 'string'}, 'preflight': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Per-check results: {check, passed, severity, detail}.'}, 'simulation': {'type': 'object', 'description': '{outcome: accepted|rejected, rejectionReason?}'}}}
输入模式
{'type': 'object', 'properties': {'compliance_filter': {'type': 'array', 'items': {'type': 'string'}}}}
输出模式
{'type': 'object', 'required': ['status', 'verifiable_at'], 'properties': {'status': {'enum': ['ok'], 'type': 'string'}, 'summary': {'type': 'string'}, 'verifiable_at': {'type': 'string', 'format': 'uri'}, 'certifications': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string'}, 'expectedLevel': {'type': 'number'}}}
输出模式
{'type': 'object', 'required': ['status'], 'properties': {'url': {'type': 'string'}, 'status': {'enum': ['ok', 'error'], 'type': 'string'}, 'failing': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'fix': {'type': 'string'}, 'label': {'type': 'string'}}}}, 'message': {'type': 'string'}, 'passing': {'type': 'array', 'items': {'type': 'string'}}, 'levelMet': {'type': ['boolean', 'null']}, 'currentLevel': {'type': 'integer', 'maximum': 5, 'minimum': 0}, 'expectedLevel': {'type': ['integer', 'null'], 'maximum': 5, 'minimum': 0}, 'registry_submission': {'type': 'object', 'properties': {'state': {'enum': ['pending', 'submitted', 'indexnow_only', 'handoff'], 'type': 'string'}, 'official': {'type': 'object', 'properties': {'guide': {'type': 'string'}, 'dns_txt': {'type': 'string'}, 'namespace': {'type': 'string'}, 'publish_cmd': {'type': 'string'}, 'server_json': {'type': 'string'}}}, 'smithery': {'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'qn': {'type': 'string'}}}}, 'description': 'Present only for an active customer whose site was just re-scanned. state: submitted (auto-listed on Smithery) | indexnow_only (no live MCP — correctly not submitted) | handoff. When submitted, `official` carries the guided official-registry artifacts (server.json + DNS proof + publish command).'}}}
近期工具变更
类似的 MCP 服务器
validoria-mcp
Runs continuous website, API, and webshop tests covering security, SEO, performance, accessibility, browser journeys, and inciden…
NanoTools
Offers utility APIs alongside web search, scraping, browser rendering, screenshots, SERP data, and SEO audits.
Revternal
Provides AI visibility checks, brand and competitor monitoring, structured data research, llms.txt generation, and GitHub develop…
Technographics
Profiles the technologies used by websites and provides AI visibility, competitor presence, and llms.txt auditing tools.
Sitemap Stats
Reads website sitemaps and reports their structure and contents for site analysis.
tools
Provides file, JSON/YAML, XML/SQL, cron scheduling, text, image, QR, URL, and SEO utilities, including scheduled task management.
mcp-toolbelt
Runs website and infrastructure checks covering DNS, SSL, security headers, ports, vulnerabilities, performance, SEO, email deliv…
pageaudit
Audits websites for technical SEO and related metadata, returns evidence and fixes, and supports repeat audits, patches, monitori…