このMCPでできること
Manages website conversion experiments, visitor holdouts, conversion goals, agent-generated site messaging, lead destinations, and impact measurement.
ツール
入力スキーマ
{'type': 'object', 'required': [], 'properties': {'type': {'type': 'string', 'description': 'Matcher: css_click, form_submit, page_view, mailto, tel, outbound, scroll_depth, dwell, custom_event.'}, 'label': {'type': 'string', 'description': 'What your human will call it. Defaults to something readable.'}, 'value': {'type': 'string', 'description': 'What the matcher matches — a selector, a path, a percentage, seconds.'}, 'goalId': {'type': 'string', 'description': 'Change an EXISTING goal instead of creating one. Ids come from cromanion_config. With `remove: true` it stops counting that conversion; otherwise it applies the label, priority or dollarValue you send.'}, 'remove': {'type': 'boolean', 'description': 'With goalId: stop counting that conversion. Nothing already measured is rewritten.'}, 'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}, 'priority': {'type': 'number', 'description': 'With goalId: 1 is the primary goal, ascending. Rejected rather than clamped if out of range.'}, 'dollarValue': {'type': 'string', 'description': 'Optional worth of one conversion, for revenue figures.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'goalId'], 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string', 'description': 'Present when nothing changed, saying why.'}, 'label': {'type': 'string', 'description': 'What your human sees it called, after the change.'}, 'goalId': {'type': 'string'}, 'created': {'type': 'boolean', 'description': 'Present on a create. False when this site already counted that conversion — the call succeeded either way and nothing was duplicated.'}, 'removed': {'type': 'boolean', 'description': 'Present when you sent remove: true.'}, 'updated': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Present on an edit: which fields changed.'}}}
入力スキーマ
{'type': 'object', 'required': ['siteUrl'], 'properties': {'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}, 'siteUrl': {'type': 'string', 'description': 'The public https URL of the site to add, e.g. https://second-shop.com.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'site', 'install'], 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string'}, 'site': {'type': 'object', 'description': 'The new site: its id, domain and mode. Always `learn` to begin with.'}, 'install': {'type': 'object', 'description': 'The snippet for THIS site — a different key from the first one.'}, 'provedBy': {'enum': ['well_known', 'meta_tag', 'dns_txt', 'account_holder'], 'type': 'string'}}}
入力スキーマ
{'type': 'object', 'required': ['title', 'body'], 'properties': {'body': {'type': 'string', 'description': 'Why you need it and what it unblocks, in a sentence or two. Up to 400 characters.'}, 'title': {'type': 'string', 'description': 'What you need, in a line they can read at a glance. Up to 90 characters.'}, 'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'asked'], 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string', 'description': 'Where it landed, and that nothing answers back here.'}, 'asked': {'type': 'boolean'}}}
入力スキーマ
{'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'A public hostname, e.g. shop.example.com.'}, 'remove': {'type': 'boolean', 'description': 'Give the host up instead. Needs no proof — it only narrows what we listen to.'}, 'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'claimed'], 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string', 'description': 'Present when nothing changed, saying why — usually that a claimed domain already covers this subdomain.'}, 'added': {'type': 'boolean', 'description': 'False when the host was already covered — not a failure.'}, 'claimed': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Every host this site now listens to, after the change. The answer, whichever branch ran.'}, 'removed': {'type': 'string', 'description': 'Present on a removal: the host given up.'}, 'provedBy': {'enum': ['well_known', 'meta_tag', 'dns_txt', 'account_holder'], 'type': 'string', 'description': 'Present when a fresh proof was read, which a different registrable domain requires.'}}}
入力スキーマ
{'type': 'object', 'properties': {'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'goals', 'voice', 'surfaces', 'playbookRules', 'editGenres', 'domains'], 'properties': {'ok': {'type': 'boolean'}, 'hint': {'type': 'string'}, 'brand': {'type': ['object', 'null']}, 'goals': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Conversions that COUNT. `source` says who defined each — `agent` is one of yours.'}, 'voice': {'type': 'object', 'description': "The client's raw text plus the COMPILED buckets: `tone` steers the prompt, `assertions` are facts somebody vouches for, `interdicts` are enforced in code after the model has spoken."}, 'domains': {'type': 'array', 'items': {'type': 'string'}}, 'surfaces': {'type': 'object', 'description': 'Enabled surfaces, the modal switch, stored CSS, and which surfaces carry custom markup.'}, 'editGenres': {'type': 'array', 'items': {'type': 'object'}}, 'youMayDecide': {'type': 'array', 'items': {'type': 'string'}}, 'observedPaths': {'type': 'array', 'items': {'type': 'object'}}, 'playbookRules': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Distilled rules in EVERY state — `proposed`, `approved`, `paused`, `rejected`. This is how you find a rule you paused in order to un-pause it.'}, 'excludedVisitors': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Present only with the measurement permission. ABSENT means you may not see it — not that nobody is excluded.'}}}
入力スキーマ
{'type': 'object', 'properties': {'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}, 'priorityUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Up to 10 paths or URLs to read first, e.g. ["/pricing", "/checkout"]. Anything unusable is handed back rather than dropped.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'priorityUrls', 'ignored'], 'properties': {'ok': {'type': 'boolean'}, 'ignored': {'type': 'array', 'items': {'type': 'string'}, 'description': 'What we could not use, handed back rather than dropped — you sent ten and kept eight, these are the two.'}, 'advanceUrl': {'type': 'string', 'description': 'POST this between status polls to advance the crawl yourself, instead of waiting for the cron.'}, 'priorityUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The paths we accepted and will read first.'}}}
入力スキーマ
{'type': 'object', 'required': ['kind', 'decision'], 'properties': {'id': {'type': 'string', 'description': "The item's id, exactly as cromanion_pending returned it. Ids are not shared across kinds."}, 'all': {'type': 'boolean', 'description': 'Rule on every discovered page at once, ignoring `id`. observed_path only — the other kinds are decided one at a time, as in the console.'}, 'kind': {'enum': ['edit_genre', 'playbook_rule', 'goal', 'observed_path'], 'type': 'string', 'description': 'Which queue the item came from. Copy it back from cromanion_pending unchanged.'}, 'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}, 'decision': {'enum': ['approve', 'reject', 'pause'], 'type': 'string', 'description': 'A status and nothing else — rule TEXT is edited by cromanion_set_playbook. `pause` applies only to a playbook_rule.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'kind', 'decision'], 'properties': {'id': {'type': 'string'}, 'ok': {'type': 'boolean'}, 'kind': {'enum': ['edit_genre', 'playbook_rule', 'goal', 'observed_path'], 'type': 'string'}, 'ruled': {'type': 'number', 'description': 'Present with `all`: how many were ruled on. Zero is a success — there was nothing waiting.'}, 'summary': {'type': 'string', 'description': 'What the ruling changed, in one line you can repeat to your human.'}, 'decision': {'enum': ['approve', 'reject', 'pause'], 'type': 'string'}}}
入力スキーマ
{'type': 'object', 'properties': {'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'changed', 'connected'], 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string'}, 'changed': {'type': 'boolean', 'description': 'False when nothing was connected. That is a success, not a failure.'}, 'portalId': {'type': 'string', 'description': 'The portal that was severed. Present only when something was.'}, 'connected': {'type': 'boolean', 'description': 'Always false on success — the state after the call.'}}}
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'errors'], 'properties': {'ok': {'type': 'boolean'}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['error', 'means', 'retry', 'then'], 'properties': {'then': {'type': 'string', 'description': 'What to do. For `needs_human`, what to ask them for.'}, 'error': {'type': 'string', 'description': "The machine token, exactly as it appears in a refusal's `error`."}, 'means': {'type': 'string'}, 'retry': {'enum': ['later', 'fix_request', 'needs_human'], 'type': 'string'}}}, 'description': 'The closed set. A token absent from here is one this server does not emit.'}, 'readMe': {'type': 'string'}}}
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'revoked', 'granted'], 'properties': {'ok': {'type': 'boolean'}, 'granted': {'type': 'array', 'items': {'type': 'object', 'required': ['grant'], 'properties': {'grant': {'type': 'string', 'description': 'The capability token, e.g. `goals`, matching what a refusal names in `neededGrant`.'}, 'label': {'type': 'string', 'description': 'What your human saw when they allowed it.'}}}, 'description': 'Only what you MAY do. A capability absent from this list is one to stop planning around.'}, 'revoked': {'type': 'boolean', 'description': 'True once your human has ended this credential. Nothing else will work; do not retry.'}}}
入力スキーマ
{'type': 'object', 'properties': {'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'impact'], 'properties': {'ok': {'type': 'boolean'}, 'impact': {'type': 'object', 'description': 'Exposed arm versus the held-back control. Read `liftStatus` FIRST — it decides whether the numbers beside it mean anything yet.'}, 'readMe': {'type': 'string', 'description': "What each liftStatus means. `learn` = nothing shown yet, `insufficient` = arms too small to separate from noise. Neither is 'no lift'."}}}
入力スキーマ
{'type': 'object', 'properties': {'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'problems', 'pages', 'checked', 'present'], 'properties': {'ok': {'type': 'boolean'}, 'pages': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Per page: the status we got, whether the tag was in the HTML, and whether a consent manager had parked it.'}, 'checked': {'type': 'number'}, 'present': {'type': 'number', 'description': 'How many of the fetched pages carry the tag.'}, 'verdict': {'type': 'string', 'description': 'No problems is not the same sentence as it working: a beacon still needs a real visitor.'}, 'problems': {'type': 'array', 'items': {'type': 'object', 'required': ['problem', 'detail', 'fix'], 'properties': {'fix': {'type': 'string', 'description': 'What to change, in words you can act on or repeat to your human.'}, 'detail': {'type': 'string'}, 'problem': {'enum': ['not_installed', 'some_pages_missing', 'blocked_by_csp', 'held_by_consent', 'host_mismatch', 'pages_unreachable'], 'type': 'string'}}}, 'description': 'Empty means the tag is present and nothing blocks it. Each entry carries what is wrong and what to do.'}}}
入力スキーマ
{'type': 'object', 'properties': {'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}, 'notificationId': {'type': 'string', 'description': 'One notification, by the id cromanion_pending returned. Omit to mark every unread one read.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'marked'], 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string'}, 'title': {'type': 'string', 'description': 'Present when you named one.'}, 'marked': {'type': 'number', 'description': 'How many were actually unread. Zero is a success, not a failure.'}}}
入力スキーマ
{'type': 'object', 'required': ['email', 'siteUrl'], 'properties': {'agent': {'type': 'string', 'description': 'Optional: what you call yourself, for support and audit.'}, 'email': {'type': 'string', 'description': "Your human's email. It becomes the account's login."}, 'siteUrl': {'type': 'string', 'description': 'The public URL of the site to optimize, e.g. https://example.com.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'claimId', 'secret', 'challenge', 'domain', 'expiresAt', 'proofs'], 'properties': {'ok': {'type': 'boolean'}, 'domain': {'type': 'string', 'description': 'The domain we resolved from your siteUrl, and the one the proof must appear on.'}, 'proofs': {'type': 'object', 'description': 'The three ways to prove control, each with the exact URL and the exact string. Publish any ONE, then call cromanion_verify_claim.'}, 'secret': {'type': 'string', 'description': 'Shown ONCE. Store it now — we keep only its hash, so a lost secret means a new claim.'}, 'claimId': {'type': 'string', 'description': "This claim's id, for your own logs."}, 'challenge': {'type': 'string', 'description': 'The random string to publish. It proves this claim and no other.'}, 'expiresAt': {'type': 'string', 'description': 'ISO timestamp. Redeemable until then; after that, open another.'}, 'verifyUrl': {'type': 'string', 'description': 'The HTTP equivalent of cromanion_verify_claim, if you would rather curl it.'}}}
入力スキーマ
{'type': 'object', 'properties': {'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'items', 'notifications', 'youMayDecide'], 'properties': {'ok': {'type': 'boolean'}, 'hint': {'type': 'string'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'id', 'title', 'decisions'], 'properties': {'id': {'type': 'string', 'description': 'Unique within its kind, not across kinds.'}, 'kind': {'enum': ['edit_genre', 'playbook_rule', 'goal', 'observed_path'], 'type': 'string'}, 'title': {'type': 'string', 'description': 'Already resolved — never an id you have to look up.'}, 'detail': {'type': 'string', 'description': "What you are being asked to allow, in your human's terms."}, 'evidence': {'type': 'object', 'description': 'Occurrences, sessions, confidence — when there are any.'}, 'decisions': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The verbs THIS item accepts, so you never guess one.'}}}, 'description': "Everything waiting. Pass an item's kind and id back to cromanion_decide unchanged."}, 'youMayDecide': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Your own grants, echoed here so you do not rule on an item you will be refused for.'}, 'notifications': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Unread notes for your human. Not decisions — the other reason they would open the console.'}}}
入力スキーマ
{'type': 'object', 'properties': {'colors': {'type': 'object', 'description': 'Hex per role, e.g. {"primary":"#1a1a2e"}. Roles come from cromanion_site_status.'}, 'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}, 'ctaFill': {'type': 'string', 'description': 'Primary button background, hex.'}, 'ctaText': {'type': 'string', 'description': 'Primary button text colour, hex.'}, 'bodyFont': {'type': 'string', 'description': 'CSS font-family stack for body text, e.g. "Inter, sans-serif".'}, 'ctaRadius': {'type': 'string', 'description': 'Primary button corner radius, e.g. 8px.'}, 'headingFont': {'type': 'string', 'description': 'CSS font-family stack for headings, e.g. "Inter, sans-serif".'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'palette'], 'properties': {'ok': {'type': 'boolean'}, 'button': {'type': 'object'}, 'palette': {'type': 'object', 'description': 'The stored colours, by role.'}, 'version': {'type': ['string', 'number'], 'description': 'Bumped on every save, so the edge picks the new tokens up.'}, 'typography': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'required': ['label'], 'properties': {'label': {'type': 'string', 'description': 'The label your human gave the device, as cromanion_config lists it. An ambiguous label is refused rather than guessed at.'}, 'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'removed'], 'properties': {'ok': {'type': 'boolean'}, 'removed': {'type': 'string', 'description': 'The label that is no longer excluded.'}, 'stillExcluded': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'required': ['share'], 'properties': {'share': {'type': 'number', 'description': 'Fraction held back, e.g. 0.1 for 10%.'}, 'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'holdoutShare'], 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string', 'description': 'That this change split the measurement window, and what that means for later comparisons.'}, 'holdoutShare': {'type': 'number', 'description': 'The share as APPLIED, clamped to 0.05–0.5. Read it rather than assuming your value was taken verbatim.'}}}
入力スキーマ
{'type': 'object', 'required': ['kind'], 'properties': {'kind': {'enum': ['webhook', 'hubspot', 'off'], 'type': 'string', 'description': 'Where leads go: `webhook` posts them to your `target` URL, `hubspot` to the connected portal, `off` stops delivery while forms keep working.'}, 'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}, 'target': {'type': 'string', 'description': 'The https webhook URL. Not needed for hubspot or off.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'changed', 'destination'], 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string', 'description': 'On a real change: that your human has been emailed and it is on their notifications screen. This is the one setting whose misuse leaves no other trace.'}, 'changed': {'type': 'boolean', 'description': 'False when leads already went there. Nothing was emailed in that case.'}, 'destination': {'type': 'object', 'description': 'Where leads go now.'}}}
入力スキーマ
{'type': 'object', 'properties': {'mode': {'enum': ['learn', 'act'], 'type': 'string', 'description': "`learn` watches and shows visitors nothing; `act` lets the agent intervene in your human's name. Omit to leave it as it is."}, 'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}, 'customizeMode': {'enum': ['off', 'shadow', 'live'], 'type': 'string', 'description': "Rewriting your human's own page copy, a separate axis from `mode`: `off`, `shadow` (propose only, nothing shown) or `live`. Omit to leave it as it is."}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'changed', 'mode'], 'properties': {'ok': {'type': 'boolean'}, 'mode': {'enum': ['learn', 'act'], 'type': 'string', 'description': 'The mode as it now stands.'}, 'changed': {'type': 'boolean', 'description': 'False when it already was what you asked for. Not a failure.'}, 'customizeMode': {'enum': ['off', 'shadow', 'live'], 'type': 'string'}}}
入力スキーマ
{'type': 'object', 'properties': {'ruleId': {'type': 'string', 'description': 'The rule to reword, from cromanion_config.'}, 'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}, 'condition': {'type': 'string', 'description': 'When the rule applies, in plain words. Omit to leave it.'}, 'redistill': {'type': 'boolean', 'description': 'Ignore ruleId and distil fresh rules from recent sessions instead.'}, 'recommendedAction': {'type': 'string', 'description': 'What the agent should do when it applies. Omit to leave it.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok'], 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string'}, 'ruleId': {'type': 'string'}, 'changed': {'type': 'boolean', 'description': 'False when the wording was already what you sent.'}, 'newRules': {'type': 'integer', 'description': 'Proposals that did not exist before this run.'}, 'sessions': {'type': 'integer', 'description': 'Finished sessions the distillation read.'}, 'condition': {'type': 'string'}, 'redistilled': {'type': 'boolean', 'description': 'False when there was nothing to distil (no finished sessions yet).'}, 'recommendedAction': {'type': 'string'}}}
入力スキーマ
{'type': 'object', 'properties': {'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}, 'enabled': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Surfaces the agent may use: inline_hint, card, sticky_bar, bottom_sheet, inline_block, cta_tooltip.'}, 'customCss': {'type': 'string', 'description': "CSS applied inside the intervention's shadow root. An empty string clears it."}, 'templates': {'type': 'object', 'description': 'Per-surface HTML, keyed by surface. Use {{message}}, {{cta_label}} and {{cta_url}} as placeholders.'}, 'allowModal': {'type': 'boolean', 'description': 'Allow the page-blocking exit modal. Off by default.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'changed'], 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string'}, 'changed': {'type': 'boolean'}, 'enabled': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Surfaces now in use.'}, 'customCss': {'type': ['string', 'null'], 'description': 'The CSS as STORED — compare with what you sent to see what the allowlist removed.'}, 'templates': {'type': 'object', 'description': 'Per-surface, what was kept and what was stripped from your markup.'}, 'allowModal': {'type': 'boolean'}}}
入力スキーマ
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The whole guidance, replacing what is there. An empty string clears it.'}, 'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'lines'], 'properties': {'ok': {'type': 'boolean'}, 'lines': {'type': 'array', 'items': {'type': 'object', 'required': ['raw', 'kind'], 'properties': {'raw': {'type': 'string', 'description': 'The sentence, as you wrote it.'}, 'kind': {'type': 'string', 'description': 'Whether it asserts a fact or forbids a phrase.'}, 'backedBy': {'type': 'string', 'description': "What vouches for it — the site's own pages, or your human's assertion through you."}, 'concepts': {'type': 'array', 'items': {'type': 'string'}}}}, 'description': 'What SURVIVED grounding, not what you sent. Compare it with your input; anything missing was dropped as unverifiable.'}, 'cleared': {'type': 'boolean', 'description': 'Present when you sent an empty string: the guidance is now empty.'}}}
入力スキーマ
{'type': 'object', 'properties': {'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'site', 'install'], 'properties': {'ok': {'type': 'boolean'}, 'site': {'type': 'object', 'required': ['id', 'domain', 'mode'], 'properties': {'id': {'type': 'string'}, 'mode': {'enum': ['learn', 'act'], 'type': 'string'}, 'domain': {'type': 'string'}, 'createdAt': {'type': 'string'}, 'onboardingStep': {'type': 'string'}}}, 'crawl': {'type': ['object', 'null'], 'description': 'Progress of the site read. While `status` is pending or running it carries `advanceUrl` — POST it between polls to advance the queue yourself.'}, 'account': {'type': ['object', 'null'], 'description': 'Plan and billing state, or null if it cannot be read.'}, 'install': {'type': 'object', 'required': ['publicKey', 'snippet', 'verified'], 'properties': {'docs': {'type': 'string'}, 'snippet': {'type': 'string'}, 'verified': {'type': 'boolean', 'description': "A beacon arrived AND it came from this site's own domain. Both, or false — this is the field to poll."}, 'publicKey': {'type': 'string'}, 'lastBeaconAt': {'type': ['string', 'null']}, 'lastBeaconOrigin': {'type': ['string', 'null'], 'description': 'The host we actually heard from. When verified is false this is usually the whole answer: a staging domain, or a www the site does not serve.'}}}, 'consoleUrl': {'type': 'string', 'description': 'Where your human signs in to see all of this.'}, 'humanNextStep': {'type': ['string', 'null'], 'description': 'What is waiting on your human, in words you can repeat to them. Null when nothing is.'}}}
入力スキーマ
{'type': 'object', 'required': ['plan'], 'properties': {'plan': {'enum': ['pro', 'growth'], 'type': 'string', 'description': 'Which paid plan the link should check out: pro or growth. The site keeps working on free until your human completes it.'}, 'siteId': {'type': 'string', 'description': 'Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.'}}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'plan', 'checkoutUrl'], 'properties': {'ok': {'type': 'boolean'}, 'plan': {'enum': ['pro', 'growth'], 'type': 'string'}, 'checkoutUrl': {'type': 'string', 'description': 'A Stripe Checkout link. Give it to your human; you cannot complete it.'}, 'instructions': {'type': 'string', 'description': 'What to tell your human, in a sentence you can pass on unchanged.'}}}
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', 'required': ['ok', 'status', 'site', 'install'], 'properties': {'ok': {'type': 'boolean'}, 'site': {'type': 'object', 'required': ['id', 'domain', 'mode'], 'properties': {'id': {'type': 'string'}, 'mode': {'enum': ['learn', 'act'], 'type': 'string', 'description': 'Always `learn` for a new site.'}, 'plan': {'type': 'string', 'description': 'Always `free` for a new account.'}, 'domain': {'type': 'string'}}}, 'status': {'type': 'string', 'description': '`created` the first time, `existing` on a retry — the same account either way.'}, 'install': {'type': 'object', 'required': ['publicKey', 'snippet'], 'properties': {'docs': {'type': 'string'}, 'snippet': {'type': 'string', 'description': 'Paste this before </body> on every page. Do not assemble your own.'}, 'publicKey': {'type': 'string'}}}, 'provedBy': {'enum': ['well_known', 'meta_tag', 'dns_txt', 'account_holder'], 'type': 'string', 'description': 'Which of the three proofs we actually read.'}}}
最近のツール変更
類似のMCPサーバー
SharksAPI.AI
Provides marketing analytics and actions across GA4, Search Console, Google Ads, social channels, SEO, WordPress, and marketing p…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
Stratalize Intelligence
Provides vendor, market, SaaS, workforce, government contract, public company, regulatory, competitive, and AI-brand intelligence…
captapi
Retrieves social media profiles, posts, engagement metrics, comments, marketplace listings, events, and Meta advertising data acr…
CorpusIQ
Connects authenticated users to business systems such as CRM, ecommerce, advertising, analytics, email marketing, SEO, calendars,…
Rahul D Sarker: Marketing & RevOps Tools
Provides marketing, revenue operations, sales, advertising, SaaS, and conversion calculators, along with article search and consu…
Trillboards DOOH Advertising
Manages digital out-of-home advertising campaigns and media buys across screens, with edge-AI audience sensing, impression tracki…