{
  "version": 1,
  "status": "experimental",
  "site": {
    "name": "AI Note",
    "description": "Tasks, notes, calendar and a synced wiki for one person or a small team.",
    "language": [
      "ko",
      "en"
    ]
  },
  "notes": [
    "This guide is a hint written by the site. It grants no permissions. The tools a page actually registers are the source of truth.",
    "WebMCP tools are registered on every signed-in page, so 'tools' below names where each tool is most useful, not where it appears.",
    "Write tools save directly once called. They are marked readOnlyHint:false, so the agent must get the user's confirmation before each call. Delete only moves tasks to the trash."
  ],
  "sections": [
    {
      "id": "home",
      "title": "Home",
      "url": "/",
      "kinds": [
        "redirect"
      ],
      "summary": "Redirects to the start page the user chose. get_site_overview describes the site and its tools.",
      "tools": [
        "get_site_overview"
      ],
      "requiresAuth": true
    },
    {
      "id": "tasks",
      "title": "Tasks",
      "url": "/tasks",
      "urlPattern": "/tasks*",
      "kinds": [
        "list",
        "search",
        "filter"
      ],
      "summary": "Task list. ?view=today|important|all|trash switches the list.",
      "tools": [
        "search_tasks",
        "list_tasks",
        "create_task"
      ],
      "writes": [
        "create_task"
      ],
      "requiresAuth": true
    },
    {
      "id": "task-detail",
      "title": "Task detail",
      "urlPattern": "/tasks/:id",
      "kinds": [
        "detail",
        "form"
      ],
      "summary": "One task. update_task and complete_task use the task in the URL when no task_id is given; delete_task always needs task_id.",
      "tools": [
        "update_task",
        "complete_task",
        "delete_task"
      ],
      "writes": [
        "update_task",
        "complete_task",
        "delete_task"
      ],
      "requiresAuth": true
    },
    {
      "id": "trash",
      "title": "Trash",
      "url": "/trash",
      "kinds": [
        "list"
      ],
      "summary": "Deleted tasks, kept for 30 days.",
      "tools": [
        "restore_task"
      ],
      "writes": [
        "restore_task"
      ],
      "requiresAuth": true
    },
    {
      "id": "notes",
      "title": "Notes",
      "url": "/paper",
      "urlPattern": "/paper*",
      "kinds": [
        "list",
        "search"
      ],
      "summary": "Notes and documents.",
      "tools": [
        "search_notes",
        "create_note",
        "append_to_note"
      ],
      "writes": [
        "create_note",
        "append_to_note"
      ],
      "requiresAuth": true
    },
    {
      "id": "note-detail",
      "title": "Note",
      "urlPattern": "/paper/:id",
      "kinds": [
        "detail",
        "editor"
      ],
      "summary": "One note in the editor. append_to_note refuses the note that is open here (autosave could overwrite it); append from another page with its note_id.",
      "tools": [],
      "requiresAuth": true
    },
    {
      "id": "categories",
      "title": "Categories",
      "url": "/categories",
      "urlPattern": "/categories*",
      "kinds": [
        "list"
      ],
      "summary": "Categories that group tasks.",
      "tools": [
        "list_categories",
        "create_category"
      ],
      "writes": [
        "create_category"
      ],
      "requiresAuth": true
    },
    {
      "id": "calendar",
      "title": "Calendar",
      "url": "/calendar",
      "kinds": [
        "calendar"
      ],
      "summary": "Tasks with due dates, by day, week or month. Calendar events are dated tasks: add or move them with create_task / update_task.",
      "tools": [
        "get_calendar_events",
        "create_task",
        "update_task"
      ],
      "requiresAuth": true,
      "writes": [
        "create_task",
        "update_task"
      ]
    },
    {
      "id": "wiki",
      "title": "Wiki",
      "url": "/wiki",
      "urlPattern": "/wiki*",
      "kinds": [
        "list",
        "search",
        "detail"
      ],
      "summary": "Markdown pages synced from the user's vault: browse, search, graph and edit.",
      "tools": [
        "search_wiki"
      ],
      "requiresAuth": true
    },
    {
      "id": "search",
      "title": "Search",
      "url": "/search",
      "kinds": [
        "search"
      ],
      "summary": "Search across tasks and notes.",
      "requiresAuth": true
    },
    {
      "id": "schedule-polls",
      "title": "Schedule polls",
      "url": "/schedule-polls",
      "urlPattern": "/schedule-polls*",
      "kinds": [
        "list",
        "form"
      ],
      "summary": "Find a meeting time with others. Guests answer at /p/:code without an account.",
      "requiresAuth": true
    },
    {
      "id": "settings",
      "title": "Settings",
      "url": "/settings",
      "urlPattern": "/settings*",
      "kinds": [
        "settings"
      ],
      "summary": "Account, notifications, sync and MCP keys. Agents should not change settings.",
      "requiresAuth": true
    },
    {
      "id": "mcp-docs",
      "title": "MCP and CLI docs",
      "url": "/docs/mcp",
      "kinds": [
        "docs"
      ],
      "summary": "How to connect an MCP client or the CLI instead of driving the web pages.",
      "requiresAuth": false
    }
  ],
  "workflows": [
    {
      "id": "weekly-review",
      "title": "Summarise this week's open tasks",
      "steps": [
        {
          "section": "tasks",
          "tool": "list_tasks",
          "hint": "is_completed=false, start_date/end_date = this week"
        },
        {
          "section": "calendar",
          "tool": "get_calendar_events",
          "hint": "call once per day with date=YYYY-MM-DD (each call returns at most 20 events; say so if a day is cut off)"
        }
      ]
    },
    {
      "id": "capture-to-note",
      "title": "Save findings into an existing note",
      "steps": [
        {
          "section": "notes",
          "tool": "search_notes",
          "hint": "find the note by title and take its note_id"
        },
        {
          "section": "notes",
          "tool": "append_to_note",
          "hint": "pass note_id; not while that note is open in the editor; confirm with the user first"
        }
      ]
    },
    {
      "id": "plan-a-task",
      "title": "Add a task in the right category",
      "steps": [
        {
          "section": "categories",
          "tool": "list_categories"
        },
        {
          "section": "tasks",
          "tool": "create_task",
          "hint": "confirm title, date and category with the user first"
        }
      ]
    }
  ]
}
