{
    "name": "StayFocus",
    "version": "2.0.0",
    "product": "StayFocus",
    "vendor": "StayFocus",
    "description": "The StayFocus MCP server. Lets an assistant start and end focus sessions, capture brain dump items, read projects, notes, experiments and stats, all scoped to the account that authorized it.",
    "documentation": "https://stayfocus.now/mcp",
    "documentationMarkdown": "https://stayfocus.now/mcp.md",
    "about": "https://stayfocus.now/about",
    "contact": "https://stayfocus.now/contact",
    "privacyPolicy": "https://stayfocus.now/privacy",
    "termsOfService": "https://stayfocus.now/terms",
    "transport": {
        "protocol": "mcp",
        "type": "streamable-http",
        "endpoint": "https://stayfocus.now/mcp",
        "method": "POST"
    },
    "authentication": {
        "type": "oauth2.1",
        "authorizationServerMetadata": "https://stayfocus.now/.well-known/oauth-authorization-server",
        "protectedResourceMetadata": "https://stayfocus.now/.well-known/oauth-protected-resource",
        "dynamicClientRegistration": "https://stayfocus.now/oauth/register",
        "note": "Every tool acts on the authenticated account only. There is no way to read another user's data."
    },
    "whenToUse": [
        "The user works alone and needs to choose one concrete task, then start a timed focus block on it.",
        "The user wants a distracting thought parked without abandoning the session they are in.",
        "The user asks what they worked on, how long they focused, or how their streak stands.",
        "The user wants to record a decision or reflection against a project they are building."
    ],
    "whenNotToUse": [
        "Team project management, shared boards, or assigning work to other people.",
        "Calendar scheduling, meetings, or anything that belongs in a calendar app.",
        "Reading or writing data for any account other than the authenticated one."
    ],
    "tools": [
        {
            "name": "get-today",
            "title": "Get Today Tool",
            "description": "The single best call for \"what should I be doing right now?\" / \"شنو ندير دابا؟\" / \"كيف هو نهاري؟\". Returns the user's day in one shot: how they said they arrived this morning, the one task they committed to, where they last stopped and what they left open, how much focus time the day still has, and up to three ranked candidates with the reason each one surfaced. Read this before recommending anything — the candidates already account for deadlines, how cold the work has gone, and whether it fits the time left. Prefer this over get-tasks when the question is about today rather than about the whole list.",
            "readOnly": true,
            "parameters": []
        },
        {
            "name": "record-arrival",
            "title": "Record Arrival Tool",
            "description": "Record how the user showed up today: clear, scattered, loaded, drained or charged. Use it when they say how they are feeling about work at the start of a session or a day — \"I am fried today\" / \"راسي مخربق\" / \"I feel sharp\". It branches what the app offers them and it is deliberately never scored, averaged, or shown back as a verdict, so record it plainly and do not editorialise. One answer per day; answering again overwrites it, which is correct — someone scattered at nine and clear at eleven is telling the truth both times.",
            "readOnly": false,
            "parameters": [
                {
                    "name": "state",
                    "type": "string (one of: clear, scattered, loaded, drained, charged)",
                    "required": true,
                    "description": "How the user arrived. clear: knows what to do. scattered: too many open loops. loaded: carrying something heavy. drained: low on fuel. charged: ready to push."
                },
                {
                    "name": "chose",
                    "type": "string",
                    "required": false,
                    "description": "Optional: what they decided to do about it, in their own words."
                }
            ]
        },
        {
            "name": "commit-to-task",
            "title": "Commit To Task Tool",
            "description": "Commit to one task as today's single most important thing, or decline a task that was suggested. Use commit for \"let's do X today\" / \"غادي نخدم على هادي اليوم\", and decline for \"not that one\". Declining is recorded on purpose rather than hidden: the same task turned down three days running is worth surfacing back to the user. Get candidates from get-today before choosing. Committing schedules the task for today; it does not start a timer, use start-focus-session for that.",
            "readOnly": false,
            "parameters": [
                {
                    "name": "task_uuid",
                    "type": "string",
                    "required": true,
                    "description": "UUID of the task (see get-today candidates, or get-tasks)."
                },
                {
                    "name": "decision",
                    "type": "string (one of: commit, decline)",
                    "required": false,
                    "description": "Whether this is today's one thing, or a task the user turned down."
                },
                {
                    "name": "available_minutes",
                    "type": "integer",
                    "required": false,
                    "description": "Commit only: how much focus time the day realistically holds. Defaults to what StayFocus already computes from the user's daily focus goal minus time already spent."
                }
            ]
        },
        {
            "name": "close-day",
            "title": "Close Day Tool",
            "description": "Close the working day — StayFocus's shutdown ritual. Use it for \"I am done for today\" / \"سالينا اليوم\" / \"let's wrap up\". Two questions: what moved, and what should be waiting tomorrow. For a task that was scheduled but never moved, \"carry\" keeps it as it is, \"shrink\" clears its next action so a smaller step gets written, and \"drop\" lets it go — these are three different decisions and should not be treated as one. A day can only be closed once; check get-today's day_closed first.",
            "readOnly": false,
            "parameters": [
                {
                    "name": "moved_note",
                    "type": "string",
                    "required": false,
                    "description": "What moved today, in the user's own words."
                },
                {
                    "name": "stalled_task_uuid",
                    "type": "string",
                    "required": false,
                    "description": "Optional: a task that was scheduled today but did not move (see get-tasks with filter=\"stalled\")."
                },
                {
                    "name": "stalled_decision",
                    "type": "string (one of: carry, shrink, drop)",
                    "required": false,
                    "description": "What to do with that stalled task. carry: leave it alone. shrink: clear its next action so a smaller step gets written. drop: let it go."
                },
                {
                    "name": "tomorrow_task_uuid",
                    "type": "string",
                    "required": false,
                    "description": "Optional: the task to have waiting tomorrow morning."
                },
                {
                    "name": "tomorrow_next_action",
                    "type": "string",
                    "required": false,
                    "description": "Optional: the first concrete step for that task tomorrow, written now while the context is warm."
                }
            ]
        },
        {
            "name": "get-tasks",
            "title": "Get Tasks Tool",
            "description": "List the user's tasks — the unit of work between a project and a focus session. Use this to answer \"what am I working on?\", \"what's on my plate?\", \"what can I actually start?\", \"what's blocked?\" / \"شنو خاصني ندير؟\" / \"شنو بقا عليا؟\". A task is startable only when it has a next action written; use filter=\"startable\" for \"what could I start right now\", filter=\"inbox\" for undecided tasks that still need a next action, and filter=\"stalled\" for tasks scheduled repeatedly that never moved.",
            "readOnly": true,
            "parameters": [
                {
                    "name": "filter",
                    "type": "string (one of: open, startable, inbox, scheduled_today, stalled, blocked, done, all)",
                    "required": false,
                    "description": "Which slice of the task list to return. \"open\" (default) is everything not done or dropped."
                },
                {
                    "name": "project_uuid",
                    "type": "string",
                    "required": false,
                    "description": "Optional: only tasks belonging to this project (see get-projects)."
                },
                {
                    "name": "search",
                    "type": "string",
                    "required": false,
                    "description": "Optional: match against the task title, outcome and next action."
                },
                {
                    "name": "limit",
                    "type": "integer",
                    "required": false,
                    "description": "How many tasks to return, 1-50."
                }
            ]
        },
        {
            "name": "create-task",
            "title": "Create Task Tool",
            "description": "Create a task — an outcome the user could finish in a few days. Use this when the user has decided something is real work: \"add a task\", \"I need to ...\", \"زيد هاد المهمة\". Only the title is required. Writing a next_action is what makes a task startable, so include one whenever the user has said what the first concrete step is; without it the task lands in the inbox as undecided, which is the honest place for it. For a thought that is not work yet, use capture-brain-dump-item instead.",
            "readOnly": false,
            "parameters": [
                {
                    "name": "title",
                    "type": "string",
                    "required": true,
                    "description": "What the task is, in the user's own words."
                },
                {
                    "name": "outcome",
                    "type": "string",
                    "required": false,
                    "description": "Optional: what \"done\" looks like for this task."
                },
                {
                    "name": "next_action",
                    "type": "string",
                    "required": false,
                    "description": "Optional but valuable: the smallest concrete first step. Writing one promotes the task from inbox to ready."
                },
                {
                    "name": "project_uuid",
                    "type": "string",
                    "required": false,
                    "description": "Optional: the project this task belongs to (see get-projects)."
                },
                {
                    "name": "energy",
                    "type": "string (one of: deep, light, admin)",
                    "required": false,
                    "description": "The kind of attention the task needs. Defaults to deep."
                },
                {
                    "name": "estimate_minutes",
                    "type": "integer",
                    "required": false,
                    "description": "Optional: how long the user thinks it will take."
                },
                {
                    "name": "due_on",
                    "type": "string",
                    "required": false,
                    "description": "Optional: hard deadline as an ISO 8601 date (YYYY-MM-DD). Resolve relative dates yourself before calling."
                },
                {
                    "name": "scheduled_for",
                    "type": "string",
                    "required": false,
                    "description": "Optional: the day the user intends to do it, as an ISO 8601 date (YYYY-MM-DD)."
                }
            ]
        },
        {
            "name": "update-task",
            "title": "Update Task Tool",
            "description": "Edit an existing task: rename it, write or clear its next action, change its status, schedule it, or move it to a project. Every field is optional — send only what changes. Use this for \"the next step is ...\", \"mark that done\" / \"سالينا هادي\", \"I'm blocked on ...\", \"move that to tomorrow\". Writing a next_action promotes an undecided task to ready; sending an empty next_action clears it and sends the task back to the inbox. Marking a task done also closes its open questions and its subtasks. To split a task into smaller steps, use break-down-task instead.",
            "readOnly": false,
            "parameters": [
                {
                    "name": "task_uuid",
                    "type": "string",
                    "required": true,
                    "description": "UUID of the task to edit (see get-tasks)."
                },
                {
                    "name": "title",
                    "type": "string",
                    "required": false,
                    "description": "New title."
                },
                {
                    "name": "outcome",
                    "type": "string",
                    "required": false,
                    "description": "New definition of done."
                },
                {
                    "name": "next_action",
                    "type": "string",
                    "required": false,
                    "description": "The smallest concrete next step. Pass an empty string to clear it, which returns the task to the inbox."
                },
                {
                    "name": "status",
                    "type": "string (one of: inbox, ready, active, blocked, done, dropped)",
                    "required": false,
                    "description": "New status. \"ready\" requires a next action, either already on the task or sent in the same call."
                },
                {
                    "name": "blocked_reason",
                    "type": "string",
                    "required": false,
                    "description": "Only used with status \"blocked\": what the task is waiting on."
                },
                {
                    "name": "project_uuid",
                    "type": "string",
                    "required": false,
                    "description": "Move the task to this project (see get-projects)."
                },
                {
                    "name": "energy",
                    "type": "string (one of: deep, light, admin)",
                    "required": false,
                    "description": "The kind of attention the task needs."
                },
                {
                    "name": "estimate_minutes",
                    "type": "integer",
                    "required": false,
                    "description": "How long the user thinks it will take."
                },
                {
                    "name": "due_on",
                    "type": "string",
                    "required": false,
                    "description": "Hard deadline as an ISO 8601 date (YYYY-MM-DD)."
                },
                {
                    "name": "scheduled_for",
                    "type": "string",
                    "required": false,
                    "description": "The day the user intends to do it, as an ISO 8601 date (YYYY-MM-DD)."
                }
            ]
        },
        {
            "name": "break-down-task",
            "title": "Break Down Task Tool",
            "description": "Split a task into smaller steps. This is the answer to a task that keeps getting scheduled and never moves, and to \"this feels too big\" / \"هادي كبيرة بزاف\" / \"قسمها ليا\". The steps become subtasks, and the first one becomes the task's next action when it does not have one yet. Check get-tasks with filter=\"stalled\" to find the tasks most likely to need this.",
            "readOnly": false,
            "parameters": [
                {
                    "name": "task_uuid",
                    "type": "string",
                    "required": true,
                    "description": "UUID of the task to break down (see get-tasks)."
                },
                {
                    "name": "steps",
                    "type": "array of string",
                    "required": true,
                    "description": "The smaller steps, in the order they should be done. Each one should be small enough to start without thinking."
                }
            ]
        },
        {
            "name": "get-focus-sessions",
            "title": "Get Focus Sessions Tool",
            "description": "Get the authenticated user's focus session history: total count, total focused minutes, and the most recent sessions.",
            "readOnly": true,
            "parameters": []
        },
        {
            "name": "get-active-session",
            "title": "Get Active Session Tool",
            "description": "Get the user's currently running or paused focus session, if any — including the task it is committed to, how long is left, and how many distractions have been logged. Also reports a session that has just finished and is still waiting to be closed with an outcome, so an assistant can ask how it went instead of losing the block.",
            "readOnly": true,
            "parameters": []
        },
        {
            "name": "start-focus-session",
            "title": "Start Focus Session Tool",
            "description": "Start a focus session. Attach it to a task whenever there is one — a task carries its own project, prefills the intention from its next action, and is what lets end-focus-session record an outcome and log the time against the work. Falling back to a project or an experiment still works, and passing nothing starts a quick unattached block that can be filed later. Idempotent: if a session is already running it is returned unchanged instead of starting a second one.",
            "readOnly": false,
            "parameters": [
                {
                    "name": "task_uuid",
                    "type": "string",
                    "required": false,
                    "description": "Preferred. UUID of a startable task (see get-tasks with filter=\"startable\", or get-today candidates). The task supplies the project and, if intention is omitted, the intention."
                },
                {
                    "name": "project_uuid",
                    "type": "string",
                    "required": false,
                    "description": "UUID of one of the user's projects (see get-projects). Use only when no task fits."
                },
                {
                    "name": "experiment_uuid",
                    "type": "string",
                    "required": false,
                    "description": "UUID of one of the user's running experiments (see get-experiments)."
                },
                {
                    "name": "intention",
                    "type": "string",
                    "required": false,
                    "description": "What the user will work on during this session. Required unless task_uuid is given, in which case the task's next action is used."
                },
                {
                    "name": "duration_minutes",
                    "type": "integer",
                    "required": false,
                    "description": "Planned session length in minutes (15, 25, 50 or 90)."
                }
            ]
        },
        {
            "name": "control-focus-session",
            "title": "Control Focus Session Tool",
            "description": "Pause, resume, or log a distraction on the running focus session, without ending it. Use \"pause\" for \"hold the timer\" / \"وقف الوقت\", \"resume\" for \"I am back\" / \"رجعت\", and \"log-distraction\" when the user notices they got pulled away — the count is a record, never a judgement. Pausing keeps the session alive; resuming pushes the expected end time out by however long it was paused. To finish the session, use end-focus-session.",
            "readOnly": false,
            "parameters": [
                {
                    "name": "action",
                    "type": "string (one of: pause, resume, log-distraction)",
                    "required": true,
                    "description": "What to do with the running session."
                }
            ]
        },
        {
            "name": "end-focus-session",
            "title": "End Focus Session Tool",
            "description": "End the running focus session and record how it went. A finished timer is not an outcome, so ask the user what actually happened and pass it: \"finished\" completed the next action, \"progress\" moved it, \"stuck\" hit a wall, \"not_started\" never really began. When the session was attached to a task, this is also what logs the time against that task, writes the note the user will see when they pick it back up, and stores the questions they are leaving open — skip those and the record of their afternoon is wrong. Outcome defaults to \"progress\" when omitted. Safe to call twice: it does nothing if no session is running and never overwrites an outcome that was already recorded.",
            "readOnly": false,
            "parameters": [
                {
                    "name": "outcome",
                    "type": "string (one of: finished, progress, stuck, not_started)",
                    "required": false,
                    "description": "What actually happened in the block. Defaults to \"progress\"."
                },
                {
                    "name": "note",
                    "type": "string",
                    "required": false,
                    "description": "What happened, in the user's words. With outcome \"stuck\" this becomes the task's blocked reason."
                },
                {
                    "name": "resume_context",
                    "type": "string",
                    "required": false,
                    "description": "The note to the user's future self: where exactly they stopped, so picking it back up is cheap."
                },
                {
                    "name": "next_action",
                    "type": "string",
                    "required": false,
                    "description": "The smallest concrete step for next time. Writing one now, while the context is warm, is what makes returning easy."
                },
                {
                    "name": "open_questions",
                    "type": "array of string",
                    "required": false,
                    "description": "Things the user did not know when they stopped. They resurface on the resume card."
                },
                {
                    "name": "completes_task",
                    "type": "boolean",
                    "required": false,
                    "description": "Only honoured with outcome \"finished\": marks the whole task done, not just this block."
                },
                {
                    "name": "mood",
                    "type": "integer",
                    "required": false,
                    "description": "Optional reflection, 1 rough, 2 okay, 3 good, 4 great."
                },
                {
                    "name": "reflection_note",
                    "type": "string",
                    "required": false,
                    "description": "Optional free-text reflection on the block."
                }
            ]
        },
        {
            "name": "get-projects",
            "title": "Get Projects Tool",
            "description": "List the authenticated user's projects with status, visibility, description and how much open work each one holds. A project is the why; the tasks inside it are the what — use get-tasks with a project_uuid to see them.",
            "readOnly": true,
            "parameters": []
        },
        {
            "name": "create-project",
            "title": "Create Project Tool",
            "description": "Create a new project for the authenticated user. Projects are private by default.",
            "readOnly": false,
            "parameters": [
                {
                    "name": "name",
                    "type": "string",
                    "required": true,
                    "description": "The project name."
                },
                {
                    "name": "description",
                    "type": "string",
                    "required": false,
                    "description": "Optional short description of the project."
                },
                {
                    "name": "visibility",
                    "type": "string (one of: private, public)",
                    "required": false,
                    "description": "Project visibility. Defaults to private."
                }
            ]
        },
        {
            "name": "get-stats",
            "title": "Get Stats Tool",
            "description": "Get the authenticated user's numbers: streaks, total sessions, focused time, experiments, and the shape of their task list — how much is open, how much is actually startable, and how much has stalled. Use it for \"how am I doing?\" / \"كيفاش خدمت هاد الأسبوع؟\". For what to do right now rather than how much has been done, use get-today.",
            "readOnly": true,
            "parameters": []
        },
        {
            "name": "get-experiments",
            "title": "Get Experiments Tool",
            "description": "List the authenticated user's tiny experiments (time-bound commitments) and highlight the active one.",
            "readOnly": true,
            "parameters": []
        },
        {
            "name": "get-notes",
            "title": "Get Notes Tool",
            "description": "Search and read the authenticated user's notes — their decision log, reflections and progress journal from the \"Updates\" page. Use this to answer questions like \"what did I decide about X\", \"summarize my recent notes on project Y\", or \"search my notes for...\". The user may ask in Arabic (e.g. \"ملاحظاتي\", \"قراراتي\", \"مذكراتي\") — treat that the same as \"notes\". Filter by free-text search, a project, or tags.",
            "readOnly": true,
            "parameters": [
                {
                    "name": "search",
                    "type": "string",
                    "required": false,
                    "description": "Free-text search within note content. Leave empty to list recent notes."
                },
                {
                    "name": "project_uuid",
                    "type": "string",
                    "required": false,
                    "description": "Only return notes linked to this project (see get-projects for uuids)."
                },
                {
                    "name": "tags",
                    "type": "array of string",
                    "required": false,
                    "description": "Only return notes tagged with at least one of these tags."
                },
                {
                    "name": "limit",
                    "type": "integer",
                    "required": false,
                    "description": "Maximum number of notes to return (1-50)."
                }
            ]
        },
        {
            "name": "create-note",
            "title": "Create Note Tool",
            "description": "Create a private note in the user's decision log / reflection journal (the \"Updates\" page). Use this when the user wants to record a decision, write down a reflection, log progress, or asks to \"save this as a note\" — including Arabic phrasing like \"خليه كملاحظة\" or \"سجل هاد القرار\". Optionally link the note to a project (get-projects for the uuid), tag it, and set a mood.",
            "readOnly": false,
            "parameters": [
                {
                    "name": "content",
                    "type": "string",
                    "required": true,
                    "description": "The note content — the decision, reflection or progress update to record."
                },
                {
                    "name": "project_uuid",
                    "type": "string",
                    "required": false,
                    "description": "Optional: link this note to one of the user's projects (see get-projects for uuids)."
                },
                {
                    "name": "tags",
                    "type": "array of string",
                    "required": false,
                    "description": "Optional tags for this note (max 5)."
                },
                {
                    "name": "mood_key",
                    "type": "string (one of: motivated, focused, excited, proud, grateful, hopeful, calm, tired, bored, stuck, confused, stressed, anxious, frustrated, overwhelmed, sad, lonely, angry)",
                    "required": false,
                    "description": "Optional mood associated with this note."
                }
            ]
        },
        {
            "name": "get-brain-dump-items",
            "title": "Get Brain Dump Items Tool",
            "description": "List items in the user's brain dump — the capture lane for thoughts and ideas that are not a project, experiment or note yet. By default returns items that need attention: open items plus scheduled reminders that are now due. Use this to answer \"what's in my brain dump?\" / \"شنو عندي فتفريغ الذهن دابا؟\" or to check for reminders that just came due. Each item shows its uuid, content, status (open, scheduled, converted, archived) and whether a reminder is due.",
            "readOnly": true,
            "parameters": [
                {
                    "name": "status",
                    "type": "string (one of: needs_attention, open, scheduled, converted, archived, all)",
                    "required": false,
                    "description": "Which items to return. \"needs_attention\" (default) is open items plus due reminders."
                },
                {
                    "name": "limit",
                    "type": "integer",
                    "required": false,
                    "description": "Maximum number of items to return (1-50)."
                }
            ]
        },
        {
            "name": "capture-brain-dump-item",
            "title": "Capture Brain Dump Item Tool",
            "description": "Capture a quick thought, idea or brain dump into the user's brain dump — for things that are not ready to become a project, experiment or note yet, or that should come back later. Use this whenever the user says things like \"save this idea\", \"add this to my brain dump\", \"remind me about this later\", or in Arabic \"احفظ هاد الفكرة\" / \"خزن هاد الشي\". Only the content is required — capture is zero-friction by design. The user can later ask to schedule a reminder, convert it to a project/experiment/note, or archive it.",
            "readOnly": false,
            "parameters": [
                {
                    "name": "content",
                    "type": "string",
                    "required": true,
                    "description": "The thought, idea or note to capture."
                },
                {
                    "name": "focus_session_uuid",
                    "type": "string",
                    "required": false,
                    "description": "Optional: the uuid of the user's currently active/paused focus session, if this idea came up mid-session (see get-active-session)."
                }
            ]
        },
        {
            "name": "schedule-brain-dump-reminder",
            "title": "Schedule Brain Dump Reminder Tool",
            "description": "Schedule (or reschedule) a reminder on an open brain dump item, so it resurfaces in \"needs attention\" later. Use this when the user says \"remind me about this on Friday at 9am\", \"ذكرني بها يوم الجمعة\" or similar. Get the item's uuid from get-brain-dump-items. Provide either \"remind_at\" with a concrete ISO 8601 date-time you computed from the user's request (must be in the future), or a \"preset\" (in_1_hour, tomorrow, next_week).",
            "readOnly": false,
            "parameters": [
                {
                    "name": "item_uuid",
                    "type": "string",
                    "required": true,
                    "description": "UUID of the brain dump item (see get-brain-dump-items)."
                },
                {
                    "name": "remind_at",
                    "type": "string",
                    "required": false,
                    "description": "A concrete future date-time, ideally ISO 8601 (e.g. 2026-06-19T09:00:00). Resolve relative phrases like \"next Friday at 9am\" to a real date yourself before calling this tool."
                },
                {
                    "name": "preset",
                    "type": "string (one of: in_1_hour, tomorrow, next_week)",
                    "required": false,
                    "description": "A quick preset instead of remind_at. \"tomorrow\" and \"next_week\" mean 9:00 local time."
                }
            ]
        },
        {
            "name": "archive-brain-dump-item",
            "title": "Archive Brain Dump Item Tool",
            "description": "Archive an brain dump item once the user is done with it — it will no longer show up in \"needs attention\". Use this when the user says they're done with an idea, want to dismiss it, or \"no longer need\" something from their brain dump. Get the item's uuid from get-brain-dump-items.",
            "readOnly": false,
            "parameters": [
                {
                    "name": "item_uuid",
                    "type": "string",
                    "required": true,
                    "description": "UUID of the brain dump item (see get-brain-dump-items)."
                }
            ]
        },
        {
            "name": "convert-brain-dump-item",
            "title": "Convert Brain Dump Item Tool",
            "description": "Turn a brain dump item into a task, a project, a tiny experiment, or a reflection — when the user has decided what to do with a captured idea. \"task\" is usually the right answer and the most common one: it is a single outcome the user could finish in a few days, and it arrives undecided on purpose, so follow up with update-task once they say what the first step is. Use \"project\" for something with many tasks in it, \"experiment\" for a time-boxed try, \"note\" for a reflection worth keeping. Use this for \"turn this into a task\" / \"حولها لمهمة\", \"make this a project\" / \"حولها لمشروع\", \"save this as a reflection\" / \"احفظها كتأمل\". Get the item's uuid from get-brain-dump-items. For \"experiment\", you may optionally pass duration_days, success_criteria and visibility.",
            "readOnly": false,
            "parameters": [
                {
                    "name": "item_uuid",
                    "type": "string",
                    "required": true,
                    "description": "UUID of the brain dump item (see get-brain-dump-items)."
                },
                {
                    "name": "target",
                    "type": "string (one of: task, project, experiment, note)",
                    "required": true,
                    "description": "What to convert the brain dump item into."
                },
                {
                    "name": "duration_days",
                    "type": "integer",
                    "required": false,
                    "description": "Experiment only: how many days the experiment should run. Defaults to 14."
                },
                {
                    "name": "success_criteria",
                    "type": "string",
                    "required": false,
                    "description": "Experiment only: what success looks like for this experiment."
                },
                {
                    "name": "visibility",
                    "type": "string (one of: private, public)",
                    "required": false,
                    "description": "Experiment only: visibility of the new experiment. Defaults to private."
                }
            ]
        }
    ]
}