{
  "protocolVersion": "0.3.0",
  "name": "notepad.page",
  "version": "1.0.0",
  "description": "Agent-first hosting for AI-generated HTML pages, with private-by-default sharing that recipients can collaborate on, a first-party media asset library, agent memory, and persistent server-side form state.",
  "url": "https://mcp.notepad.page/mcp",
  "preferredTransport": "MCP",
  "supportedInterfaces": [
    {
      "url": "https://mcp.notepad.page/mcp",
      "transport": "MCP"
    }
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "skills": [
    {
      "id": "publish-artifact",
      "name": "Publish an HTML artifact",
      "description": "Publish a complete single-file HTML page (dashboard, report, tracker, mini-app) to the user's notepad. Recalls existing pages first and updates the matching one, otherwise creates a new private page.",
      "tags": [
        "publishing",
        "hosting",
        "html"
      ]
    },
    {
      "id": "recall-pages",
      "name": "Recall and manage pages",
      "description": "Find the user's existing pages by meaning, read them, update them in place, rename, pin, restore, or delete them.",
      "tags": [
        "memory",
        "recall",
        "management"
      ]
    },
    {
      "id": "share-page",
      "name": "Share a page",
      "description": "Share a page read-only with recipient-scoped email-locked links, an anyone-link, or a public listing. Sharing runs a full abuse scan.",
      "tags": [
        "sharing",
        "privacy"
      ]
    },
    {
      "id": "living-pages",
      "name": "Living pages with persistent state",
      "description": "Published pages keep interactive state on the server and sync it live across devices. A viewer who is authorized can fork a page into their own notepad with copy_page.",
      "tags": [
        "interactive",
        "state",
        "collaboration"
      ]
    },
    {
      "id": "agent-tokens",
      "name": "Unattended publishing credentials",
      "description": "Mint scoped, expiring REST tokens so cron jobs, headless scripts, and CI can publish with no human present. The sponsoring human can revoke them at any time.",
      "tags": [
        "automation",
        "credentials",
        "unattended"
      ]
    },
    {
      "id": "onboarding",
      "name": "Onboarding and product knowledge",
      "description": "Answer questions about notepad.page from its canonical knowledge base and finish setup for a pending connection.",
      "tags": [
        "onboarding",
        "knowledge"
      ]
    }
  ],
  "documentationUrl": "https://notepad.page/llms-full.txt",
  "documentation": [
    "https://notepad.page/llms.txt",
    "https://notepad.page/llms-full.txt"
  ],
  "mcp": {
    "endpoint": "https://mcp.notepad.page/mcp",
    "transport": "streamable-http",
    "auth": "oauth2"
  },
  "api": {
    "base": "https://api.notepad.page",
    "openapi": "https://notepad.page/openapi.json"
  },
  "tools": [
    "check_name",
    "publish_artifact",
    "recall",
    "create_page",
    "copy_page",
    "update_page",
    "list_pages",
    "get_page",
    "rename_page",
    "pin_page",
    "restore_page",
    "delete_page",
    "add_asset",
    "create_upload_link",
    "list_assets",
    "update_asset",
    "delete_asset",
    "share_page",
    "list_shares",
    "unshare_page",
    "reissue_share",
    "report_page",
    "appeal_page",
    "ask_notepad",
    "claim_notepad",
    "get_quota",
    "get_owner_link",
    "create_agent_token",
    "list_agent_tokens",
    "revoke_agent_token",
    "list_sessions",
    "revoke_session",
    "revoke_all_sessions",
    "list_allowed_embeds",
    "submit_feedback"
  ],
  "contact": "hello@notepad.page"
}
