{
  "api": "webmcp",
  "spec": "https://webmachinelearning.github.io/webmcp/",
  "declaration": "imperative",
  "registerPath": "navigator.modelContext.registerTool",
  "tools": [
    {
      "name": "search_content",
      "description": "Search the Neurodivergent Workplace Toolkit for ADHD workplace articles, videos, books, and resources by keyword. Returns titles, types, slugs, and URLs.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Search query (minimum 2 characters).",
            "minLength": 2
          },
          "types": {
            "type": "string",
            "description": "Comma-separated subset of: article, video, book, resource. Omit to search all types."
          },
          "locale": {
            "type": "string",
            "description": "Content locale: en, de, es, ja, ko, or zh-TW.",
            "default": "en"
          }
        },
        "required": [
          "query"
        ]
      },
      "annotations": {
        "title": "Search Content",
        "readOnlyHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "navigate_to_article",
      "description": "Navigate the browser to a specific article on the Neurodivergent Workplace Toolkit by slug. Use after search_content returns a slug.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Article slug (returned in search results)."
          },
          "locale": {
            "type": "string",
            "description": "Locale prefix: en, de, es, ja, ko, or zh-TW.",
            "default": "en"
          }
        },
        "required": [
          "slug"
        ]
      },
      "annotations": {
        "title": "Navigate to Article",
        "openWorldHint": true
      }
    },
    {
      "name": "list_resources",
      "description": "List free downloadable ADHD workplace worksheets, templates, printable cards, checklists, flowcharts, and visual guides, grouped by category.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "description": "Optional category slug to filter by (returned in the categories list)."
          }
        }
      },
      "annotations": {
        "title": "List Downloadable Resources",
        "readOnlyHint": true
      }
    },
    {
      "name": "subscribe_newsletter",
      "description": "Subscribe an email address to the Neurodivergent Workplace Toolkit newsletter. Triggers a welcome email. Idempotent for duplicates. Use only when the user explicitly asks to subscribe.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "description": "Email address to subscribe."
          },
          "ref": {
            "type": "string",
            "pattern": "^NW-[A-Z0-9]{4}$",
            "description": "Optional referral code."
          }
        },
        "required": [
          "email"
        ]
      },
      "annotations": {
        "title": "Subscribe to Newsletter",
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "get_referral_count",
      "description": "Return the active-subscriber count for a referral code (NW-XXXX) from the Neurodivergent Workplace Toolkit.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "pattern": "^NW-[A-Z0-9]{4}$",
            "description": "Referral code."
          }
        },
        "required": [
          "code"
        ]
      },
      "annotations": {
        "title": "Get Referral Count",
        "readOnlyHint": true
      }
    }
  ],
  "notes": [
    "Tools are registered client-side on page load via navigator.modelContext.registerTool() with an AbortController signal for cleanup on unmount.",
    "The same tool definitions are served here as a machine-readable manifest for HTTP-based validators that cannot execute client-side JavaScript.",
    "Tool execute callbacks wrap the site's public HTTP API documented at /api/docs and described in the OpenAPI spec at /api/openapi."
  ]
}