{"ok":true,"site":{"host":"openpath-studio-webmcp.preissmurphy-1839.chatgpt.site","url":"https://openpath-studio-webmcp.preissmurphy-1839.chatgpt.site/","type":"live","desc":"People set the learning goal. Agents weave trusted resources from the open web into a transparent, editable path.","tools":[{"name":"get_workspace_state","kind":"answer","impl":"imperative","description":"Read the current learning goal, ordered path, completion state, and publication status before recommending or changing anything.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"search_open_resources","kind":"answer","impl":"imperative","description":"Search the curated open-web learning catalog. Returns concise resource metadata and stable IDs for later comparison or selection.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Words to match in titles, providers, topics, formats, or descriptions."},"topic":{"type":"string","enum":["all","accessibility","html","css","performance","security","design-systems","privacy"],"description":"Topic filter. Use all to search every topic."},"level":{"type":"string","enum":["all","beginner","intermediate","advanced"],"description":"Learner level filter."},"format":{"type":"string","enum":["all","article","article series","checklist","course","guide","reference","tutorial"],"description":"Resource format filter."},"maxMinutes":{"type":"number","minimum":5,"maximum":300,"description":"Optional maximum duration per resource."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"compare_open_resources","kind":"act","impl":"imperative","description":"Compare two to four catalog resources by time, level, format, provider, and license. Use IDs returned by search_open_resources.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"resourceIds":{"type":"array","minItems":2,"maxItems":4,"uniqueItems":true,"items":{"type":"string"},"description":"Two to four valid catalog resource IDs."}},"required":["resourceIds"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_learning_goal","kind":"act","impl":"imperative","description":"Set the human-defined topic, level, schedule, and preferences. This changes constraints but does not select or remove resources.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"topic":{"type":"string","enum":["accessibility","html","css","performance","security","design-systems","privacy"]},"level":{"type":"string","enum":["beginner","intermediate","advanced"]},"days":{"type":"integer","minimum":1,"maximum":30},"dailyMinutes":{"type":"integer","minimum":10,"maximum":180},"preferences":{"type":"array","uniqueItems":true,"items":{"type":"string","enum":["practical","short","accessible"]}}},"required":["topic","level","days","dailyMinutes"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"build_learning_path","kind":"act","impl":"imperative","description":"Build an ordered draft from the catalog within a topic, level, and time budget. Replaces the current draft but never publishes it.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"topic":{"type":"string","enum":["accessibility","html","css","performance","security","design-systems","privacy"]},"level":{"type":"string","enum":["beginner","intermediate","advanced"]},"days":{"type":"integer","minimum":1,"maximum":30},"dailyMinutes":{"type":"integer","minimum":10,"maximum":180},"preferences":{"type":"array","uniqueItems":true,"items":{"type":"string","enum":["practical","short","accessible"]}}},"required":["topic","level","days","dailyMinutes"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"add_to_learning_path","kind":"act","impl":"imperative","description":"Add one catalog resource to the end of the draft. Requires a valid resource ID and keeps the path editable and unpublished.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"resourceId":{"type":"string","description":"A valid ID from search_open_resources."}},"required":["resourceId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"remove_from_learning_path","kind":"act","impl":"imperative","description":"Remove one resource from the draft by ID. This updates visible state and returns the revised ordered path.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"resourceId":{"type":"string","description":"ID of a resource currently in the path."}},"required":["resourceId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"reorder_learning_path","kind":"act","impl":"imperative","description":"Move a selected resource to a new one-based position in the draft. Use get_workspace_state first to inspect current order.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"resourceId":{"type":"string"},"targetPosition":{"type":"integer","minimum":1,"description":"One-based destination position."}},"required":["resourceId","targetPosition"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"mark_resource_complete","kind":"act","impl":"imperative","description":"Mark one selected resource complete or incomplete. This records visible progress without changing the learning path order.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"resourceId":{"type":"string"},"completed":{"type":"boolean"}},"required":["resourceId","completed"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"prepare_publish_review","kind":"act","impl":"imperative","description":"Open and optionally prefill the visible publication checkpoint, then stop for human review. Never submits or publishes the path.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"pathTitle":{"type":"string","description":"Optional proposed title for the learning path."},"learnerName":{"type":"string","description":"Optional proposed learner or cohort name."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"export_learning_path","kind":"act","impl":"imperative","description":"Download the current path as a Markdown file after it has at least one resource. Does not publish or send data anywhere.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"filename":{"type":"string","description":"Optional filename without a path."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"publish_learning_path","kind":"act","impl":"declarative","description":"Prepare a learning path for publication. Fill the visible title and learner name, then wait for the human to review and click Publish.","inputSchema":{"type":"object","properties":{"pathTitle":{"type":"string"},"learnerName":{"type":"string"}},"required":["pathTitle","learnerName"]},"__source":"spec","__declarative":true}],"category":"Health & Education","favicon":"/favicons/openpath-studio-webmcp.preissmurphy-1839.chatgpt.site.png","apiSurface":"spec","toolCount":12}}