{"schemaVersion":"weirdo-machine-contract-1","server":{"name":"project-little-weirdo","title":"Project Little Weirdo","version":"0.1.0"},"protocol":{"mcp":"2025-06-18","transport":"streamable-http"},"endpoints":{"mcp":"https://weirdo-genesis-watch.lovable.app/api/public/weirdo/v1/mcp","restObserve":"https://weirdo-genesis-watch.lovable.app/api/public/weirdo/v1/observe","restInterpret":"https://weirdo-genesis-watch.lovable.app/api/public/weirdo/v1/interpret","accessRequest":"https://weirdo-genesis-watch.lovable.app/api/public/weirdo/v1/access-request","documentation":"https://weirdo-genesis-watch.lovable.app/machines"},"authentication":{"scheme":"bearer","header":"Authorization: Bearer wdo_...","alternateHeader":"X-Weirdo-Api-Key","issuance":"Founder-issued external_machine beta credential. No public signup.","accessRequestUrl":"https://weirdo-genesis-watch.lovable.app/api/public/weirdo/v1/access-request","accessRequestNote":"GET that URL for the request contract; POST it to ask for a credential. Founder-reviewed, no automatic approval, and no credential is ever returned there."},"instructions":"Project Little Weirdo observes lawful public web pages deterministically and, for pricing or\ncommercial-offer pages only, interprets what a proven change means commercially.\n\nTwo layers, never mixed:\n- OBSERVATION is deterministic evidence (text length, content fingerprint, arithmetic delta).\n- INTERPRETATION is derived inference over already-persisted observations, and every claim must\n  quote observed text. When evidence does not support a commercial claim, the tool truthfully\n  returns insufficient evidence rather than inventing meaning.\n\nFree beta: no payment, metering or billing exists. A machine credential is required and calls\nare rate limited. Lawful public-web use only: private networks, credentialed pages and\nnon-public content are refused. There is no guarantee that any page contains commercial\nintelligence.","tools":[{"name":"observe_public_page","title":"Observe a lawful public page","description":"DETERMINISTIC OBSERVATION. Fetches one lawful public web page and records a bounded representation of it (title, normalized text length, content fingerprint). If the page was observed before, returns an arithmetic comparison against the previous observation: BASELINE_CREATED, NO_CHANGE or CONTENT_CHANGED. Makes no claim about meaning. Input: url (public http/https page). Private, loopback and internal addresses are refused; redirects, response size and timeouts are bounded. Uncertainty: the verdict is arithmetic, not semantic. A CONTENT_CHANGED verdict proves the content differs, not that the difference matters. Cost: free beta, rate limited per credential. No payment capability exists.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Absolute http(s) URL of a lawful, public, non-credentialed page."}},"required":["url"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}},{"name":"interpret_commercial_change","title":"Interpret a proven commercial change","description":"SEMANTIC INTERPRETATION over PRICING AND COMMERCIAL-OFFER PAGES ONLY. Requires a target that already has two persisted observations with a deterministic CONTENT_CHANGED verdict; it never refetches the page and never decides whether a change occurred. Input: targetId (returned by observe_public_page), optionally fromObservationId/toObservationId. Returns classified commercial changes (price, plan, discount, availability, packaging...) where every claim quotes observed before/after text, plus rejected claims and their rejection reasons. Uncertainty: unsupported, immaterial, numerically inconsistent or low-confidence claims are discarded. Non-commercial pages return INSUFFICIENT_EVIDENCE with no changes. There is no guarantee that a page contains commercial intelligence. Cost: free beta, model-backed and separately rate limited per credential.","inputSchema":{"type":"object","properties":{"targetId":{"type":"string","description":"Target UUID from a previous observation."},"fromObservationId":{"type":"string","description":"Optional 'before' observation UUID."},"toObservationId":{"type":"string","description":"Optional 'after' observation UUID."}},"required":["targetId"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}}],"lawfulUse":"Public, non-credentialed web pages only. Private and internal networks are refused."}