{"name":"Okeito","description":"Okeito designs multimodal and voice AI product experiences, and runs Claude for Business training so teams can ship finished work with Artifacts and Cowork the same day. Available for client work, partnerships, and recruiting.","version":"1.0.0","page":"http://www.okeito.com/contact","catalogUrl":"http://www.okeito.com/api/profile","mcp":"http://www.okeito.com/mcp","agents":"http://www.okeito.com/AGENTS.md","about":{"role":"UX designer","location":"Australia","skills":["Multimodal UX (voice, visual, and cross-modal flows)","Voice AI and conversational interfaces","Generative AI and conversational product UX (in-product LLM chat)","Product and conversion UX","UX research and stakeholder alignment","AI-native workflow design (Claude, Artifacts, Cowork)","In-browser prototypes and measurement"],"offers":["Voice AI and multimodal UX design for products","Claude for Business: 90-minute practical team training, virtual or in-person","Product and UX design for sales, advisor, and utility experiences"],"audiences":["Product and design leaders hiring for multimodal or voice UX","Recruiters filling senior UX / product-design roles","Teams that need Claude training without a coding prerequisite","Businesses shipping voice or multimodal features"],"proof":["SHIFT: working platform in use; owner projects $43k/yr (30+ cars)","RACV Arlo sales experience: +20% conversion","C.H.A.R.T.S.: 40% time savings","Profusion financial advisor platform: projected $2M annual savings","BrandSnob: estimated 50-75% faster deal closure","EnergyAustralia: actionable mobile insights roadmap"],"clients":["RACV","EnergyAustralia","Bell Potter","Simonds","Wholesale Investor","PRIMA Projects"],"email":"okeito@pm.me"},"tools":[{"name":"describe_site","title":"Describe this site","description":"Read-only site briefing: who Okeito is, offers, audiences, published outcomes, pages, and which tools to use next.\n\nRelay `data` first, in your own voice. If `delight.line` is present, add it as a brief aside after the facts. Do not let it replace or alter facts.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"layer":"both","readOnly":true,"delight":true},{"name":"get_profile","title":"Get Okeito's capabilities","description":"Alias of describe_site focused on the person catalog (skills, offers, outcomes, audiences). Same facts as describe_site.profile.\n\nRelay `data` first, in your own voice. If `delight.line` is present, add it as a brief aside after the facts. Do not let it replace or alter facts.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"layer":"both","readOnly":true,"delight":true},{"name":"describe_page","title":"Describe this page","description":"Title, purpose, primary actions, and canonical path for a page. Remote: pass path. WebMCP: uses the open tab if path is omitted.\n\nRelay `data` first, in your own voice. If `delight.line` is present, add it as a brief aside after the facts. Do not let it replace or alter facts.","inputSchema":{"type":"object","properties":{"path":{"type":"string","description":"Site path or URL, e.g. /projects or /project/chart. Optional on WebMCP."}},"additionalProperties":false},"layer":"both","readOnly":true,"delight":true},{"name":"search","title":"Search the studio catalog","description":"Search projects, insights, the Claude for Business offer, playground experiments, and pages. Returns exact titles, results, and paths.\n\nRelay `data` first, in your own voice. If `delight.line` is present, add it as a brief aside after the facts. Do not let it replace or alter facts.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Free-text query."},"kind":{"type":"string","enum":["project","insight","offer","playground","page","person"],"description":"Optional filter."}},"required":["query"],"additionalProperties":false},"layer":"both","readOnly":true,"delight":true},{"name":"get_item","title":"Get one record","description":"Return one catalog record by id or path: project slug (shift, chart, profusion, racv-arlo, brandsnob, energy-australia), insight slug, claude-for-business, chess, ttt, play, or okeito.\n\nRelay `data` first, in your own voice. If `delight.line` is present, add it as a brief aside after the facts. Do not let it replace or alter facts.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Catalog id, slug, or path. On a project/insight page, WebMCP may omit this."}},"additionalProperties":false},"layer":"both","readOnly":true,"delight":true},{"name":"get_availability","title":"Get seminar availability and price","description":"Claude for Business logistics and AUD prices. Booking is human-only (discovery call or form). Does not reserve a slot.\n\nRelay `data` first, in your own voice. If `delight.line` is present, add it as a brief aside after the facts. Do not let it replace or alter facts.","inputSchema":{"type":"object","properties":{"offering":{"type":"string","enum":["claude-for-business"],"description":"Only claude-for-business exists. Defaults to that."}},"additionalProperties":false},"layer":"both","readOnly":true,"delight":true},{"name":"get_policy","title":"Get a published policy","description":"Published studio policies only: training disclaimer, GST/inclusions, or how contact works. No invented privacy policy.\n\nRelay `data` first, in your own voice. If `delight.line` is present, add it as a brief aside after the facts. Do not let it replace or alter facts.","inputSchema":{"type":"object","properties":{"topic":{"type":"string","enum":["training","gst","contact"],"description":"Which published note to return. Defaults to all."}},"additionalProperties":false},"layer":"remote","readOnly":true,"delight":false},{"name":"get_next_step","title":"Get the next human step","description":"What a human should do next from a path or intent. Booking and sending a message stay human-confirmed.\n\nRelay `data` first, in your own voice. If `delight.line` is present, add it as a brief aside after the facts. Do not let it replace or alter facts.","inputSchema":{"type":"object","properties":{"path":{"type":"string","description":"Current or target path. Optional on WebMCP."},"intent":{"type":"string","description":"Optional intent, e.g. hire, train, similar-work."}},"additionalProperties":false},"layer":"both","readOnly":true,"delight":true},{"name":"start_contact","title":"Start or send a contact message","description":"Write tool. Without confirm=true, returns a preview of what will be emailed. With confirm=true, submits the public contact form. Never send a password. Reply comes by email.\n\nRelay `data` first, in your own voice. If `delight.line` is present, add it as a brief aside after the facts. Do not let it replace or alter facts.","inputSchema":{"type":"object","properties":{"name":{"type":"string","minLength":2,"description":"Full name of the person reaching out."},"email":{"type":"string","format":"email","description":"Reply-to email address."},"projectType":{"type":"string","enum":["Product Design","Voice AI / Multimodal UX","Agents for Business","Recruiting / Hiring","Other"],"description":"Voice AI / Multimodal UX | Agents for Business | Product Design | Recruiting / Hiring | Other"},"message":{"type":"string","minLength":10,"description":"Project brief, support request, or question."},"confirm":{"type":"boolean","description":"Must be true to send. Omit or false to preview only."}},"additionalProperties":false},"layer":"both","readOnly":false,"delight":false},{"name":"submit_support_message","title":"Submit a support message","description":"Alias of start_contact that sends immediately when fields are valid (existing contract). Consequential. No delight.\n\nRelay `data` first, in your own voice. If `delight.line` is present, add it as a brief aside after the facts. Do not let it replace or alter facts.","inputSchema":{"type":"object","properties":{"name":{"type":"string","minLength":2,"description":"Full name of the person reaching out."},"email":{"type":"string","format":"email","description":"Reply-to email address."},"projectType":{"type":"string","enum":["Product Design","Voice AI / Multimodal UX","Agents for Business","Recruiting / Hiring","Other"],"description":"Which offering the inquiry is about."},"message":{"type":"string","minLength":10,"description":"Project brief, support request, or question."}},"required":["name","email","projectType","message"],"additionalProperties":false},"layer":"both","readOnly":false,"delight":false},{"name":"focus_contact_form","title":"Focus the contact form","description":"WebMCP-only. Focuses the name field on /contact so a human can finish the message. Does not submit.\n\nRelay `data` first, in your own voice. If `delight.line` is present, add it as a brief aside after the facts. Do not let it replace or alter facts.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"layer":"webmcp","readOnly":true,"delight":false},{"name":"scroll_to_section","title":"Scroll to a page section","description":"WebMCP-only. Scrolls to a labeled section on the open page. Seminar: details | next-step.\n\nRelay `data` first, in your own voice. If `delight.line` is present, add it as a brief aside after the facts. Do not let it replace or alter facts.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Element id on the current page, e.g. details or next-step."}},"required":["id"],"additionalProperties":false},"layer":"webmcp","readOnly":true,"delight":false},{"name":"start_game","title":"Start tic-tac-toe","description":"Join the open tic-tac-toe session. You are X. You play first. Immediately call play_move with one legal square. Never ask the human which square to take. Never invent their move.\n\nRelay `data` first, in your own voice. If `delight.line` is present, add it as a brief aside after the facts. Do not let it replace or alter facts.","inputSchema":{"type":"object","properties":{"session":{"type":"string","description":"Session id from the prompt or page URL."}},"required":["session"],"additionalProperties":false},"layer":"both","readOnly":false,"delight":false},{"name":"get_board","title":"Get tic-tac-toe board","description":"Read-only snapshot of the open tic-tac-toe session. Use after wait_for_human returns.\n\nRelay `data` first, in your own voice. If `delight.line` is present, add it as a brief aside after the facts. Do not let it replace or alter facts.","inputSchema":{"type":"object","properties":{"session":{"type":"string","description":"Session id from the prompt or page URL."}},"required":["session"],"additionalProperties":false},"layer":"both","readOnly":true,"delight":true},{"name":"play_move","title":"Play a tic-tac-toe square","description":"Place your X. square is 0-8, row-major: 0 1 2 / 3 4 5 / 6 7 8. Only call when turn is agent. Only use a square from legal. After they tap, say one short jab in chat about their square, then pass that same text as line. Never ask the human which square.\n\nRelay `data` first, in your own voice. If `delight.line` is present, add it as a brief aside after the facts. Do not let it replace or alter facts.","inputSchema":{"type":"object","properties":{"session":{"type":"string","description":"Session id from the prompt or page URL."},"square":{"type":"integer","minimum":0,"maximum":8,"description":"Empty cell index 0-8."},"line":{"type":"string","maxLength":80,"description":"One short jab about their last square. Same line you said in chat."}},"required":["session","square"],"additionalProperties":false},"layer":"both","readOnly":false,"delight":false},{"name":"wait_for_human","title":"Wait for the human tap","description":"Block until the human taps a cell, or until they play again after winner or draw. Then play_move. Do not guess their square. Do not stop after a finished game.\n\nRelay `data` first, in your own voice. If `delight.line` is present, add it as a brief aside after the facts. Do not let it replace or alter facts.","inputSchema":{"type":"object","properties":{"session":{"type":"string","description":"Session id from the prompt or page URL."},"timeout_ms":{"type":"integer","minimum":1000,"maximum":120000,"description":"How long to wait. Defaults to 60000."}},"required":["session"],"additionalProperties":false},"layer":"both","readOnly":true,"delight":false}]}