{
  "tools": [
    {
      "name": "search_catalog",
      "description": "Search through Drawk products, engineering projects, studio games, and professional services.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Keywords to search for (e.g. \u0027game\u0027, \u0027bot\u0027, \u0027unity\u0027, \u0027c#\u0027, \u0027consulting\u0027, \u0027action\u0027)."
          },
          "type": {
            "type": "string",
            "description": "Optional entity type filter: \u0027product\u0027, \u0027project\u0027, \u0027service\u0027, \u0027post\u0027, \u0027lab\u0027, or \u0027all\u0027.",
            "enum": [
              "all",
              "product",
              "project",
              "service",
              "post",
              "lab"
            ]
          },
          "brand": {
            "type": "string",
            "description": "Optional brand tenant filter: \u0027drawk\u0027, \u0027drawcode\u0027, \u0027drawlabs\u0027, or \u0027drawlogic\u0027.",
            "enum": [
              "all",
              "drawk",
              "drawcode",
              "drawlabs",
              "drawlogic"
            ]
          }
        },
        "required": [
          "query"
        ]
      }
    },
    {
      "name": "get_post",
      "description": "Retrieve full markdown content, metadata, tags, and recent article index for a Drawk technical post.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Post slug or \u0027latest\u0027 (e.g. \u0027store-payout-schedules-commissions-apple-google-steam-epic\u0027, \u0027build-harvest-vs-design-process-only\u0027, \u0027latest\u0027)."
          }
        }
      }
    },
    {
      "name": "get_capabilities",
      "description": "Retrieve Drawk\u0027s 6 core engineering practices, 24 capabilities, and targeted enterprise service one-sheets.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "practice": {
            "type": "string",
            "description": "Optional practice filter: \u0027all\u0027, \u0027interactive-entertainment\u0027, \u0027agentic-ai\u0027, \u0027cloud-distributed\u0027, \u0027mobile-apps\u0027, \u0027creative-tech\u0027, \u0027technical-strategy\u0027.",
            "enum": [
              "all",
              "interactive-entertainment",
              "agentic-ai",
              "cloud-distributed",
              "mobile-apps",
              "creative-tech",
              "technical-strategy"
            ]
          }
        }
      }
    },
    {
      "name": "get_service_one_sheet",
      "description": "Retrieve targeted service track one-sheet data, engineering highlights, and technology stack.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "service_code": {
            "type": "string",
            "description": "The code/slug of the service track (e.g. \u0027cloud-architecture\u0027, \u0027agentic-ai-systems\u0027, \u0027game-engineering\u0027, \u0027mobile-apps\u0027, \u0027unity-games\u0027).",
            "enum": [
              "cloud-architecture",
              "agentic-ai-systems",
              "game-engineering",
              "mobile-apps",
              "unity-games"
            ]
          }
        },
        "required": [
          "service_code"
        ]
      }
    },
    {
      "name": "get_sitemap",
      "description": "Retrieve the full categorized site tree and available routes for an AI agent.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "brand": {
            "type": "string",
            "description": "Optional brand filter: \u0027drawk\u0027, \u0027drawcode\u0027, \u0027drawlabs\u0027, \u0027drawlogic\u0027.",
            "enum": [
              "drawk",
              "drawcode",
              "drawlabs",
              "drawlogic"
            ]
          }
        }
      }
    },
    {
      "name": "get_product_details",
      "description": "Get detailed specifications, supported platforms, external store links, and compliance pages for a specific product.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "product_code": {
            "type": "string",
            "description": "The unique URL slug / code of the product (e.g. \u0027barrow-brainball\u0027, \u00272xl-supercross-hd\u0027, \u0027pokemon-go\u0027)."
          }
        },
        "required": [
          "product_code"
        ]
      }
    },
    {
      "name": "get_service_details",
      "description": "Retrieve capability details, deliverables, and engagement paths for a professional engineering service.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "service_code": {
            "type": "string",
            "description": "The slug of the service offering (e.g. \u0027software-architecture\u0027, \u0027game-development\u0027, \u0027cloud-infrastructure\u0027)."
          }
        },
        "required": [
          "service_code"
        ]
      }
    },
    {
      "name": "get_brand_info",
      "description": "Get identity, theme colors, and focus area for the current active brand tenant (drawk, drawcode, drawlabs, drawlogic).",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "navigate_to",
      "description": "Direct the user\u0027s browser or web agent to a specific URL path on the Drawk platform.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "The target relative URL path to open (e.g. \u0027/products\u0027, \u0027/projects\u0027, \u0027/services\u0027, \u0027/contact\u0027, \u0027/privacy\u0027)."
          }
        },
        "required": [
          "path"
        ]
      }
    },
    {
      "name": "switch_theme",
      "description": "Dynamically change the visual theme and contrast of the Drawk interface.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "theme": {
            "type": "string",
            "description": "Theme identifier to apply.",
            "enum": [
              "toonish",
              "dark",
              "light",
              "green-neon",
              "solarized",
              "cyberpunk"
            ]
          }
        },
        "required": [
          "theme"
        ]
      }
    },
    {
      "name": "get_case_study",
      "description": "Retrieve deep-dive technical case studies, architectural challenges, solutions, and Mermaid/ASCII blueprints for landmark Drawk engineering productions (e.g. \u0027jeremy-mcgrath-offroad-dev\u0027, \u0027escrowtab-platform\u0027, \u0027canyonranch-crm\u0027, \u0027drove-social-platform\u0027, \u0027iphysiciannet-edetailing\u0027).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "project_code": {
            "type": "string",
            "description": "Project code or slug (e.g. \u0027escrowtab-platform\u0027, \u0027drove-social-platform\u0027, \u0027iphysiciannet-edetailing\u0027, or \u0027list\u0027 for all)."
          }
        }
      }
    },
    {
      "name": "get_lab_details",
      "description": "Retrieve interactive laboratory experiment parameters, simulation engine specs, and embed configurations (e.g. \u0027voxel-net-sandbox\u0027, \u0027rudp-transport-visualizer\u0027, \u0027shader-playground\u0027, \u0027webmcp\u0027).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "lab_slug": {
            "type": "string",
            "description": "Slug of the laboratory experiment (e.g. \u0027voxel-net-sandbox\u0027, \u0027rudp-transport-visualizer\u0027, \u0027shader-playground\u0027, or \u0027list\u0027 for all)."
          }
        }
      }
    },
    {
      "name": "get_vitals_telemetry",
      "description": "Query aggregated Real User Monitoring (RUM) Core Web Vitals telemetry (LCP, INP, and CLS percentiles, distribution ratings, and sample counts).",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "get_storage_info",
      "description": "Retrieve connection status, storage account details, and blob counts for Azure Storage buckets (content, data, uploads).",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "store_blob",
      "description": "Store or overwrite a text, JSON, or markdown document into an Azure Storage container bucket (\u0027content\u0027, \u0027data\u0027, or \u0027uploads\u0027).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "container": {
            "type": "string",
            "description": "Target storage bucket container name (\u0027content\u0027, \u0027data\u0027, or \u0027uploads\u0027).",
            "enum": [
              "content",
              "data",
              "uploads"
            ]
          },
          "name": {
            "type": "string",
            "description": "Blob path or key name (e.g. \u0027notes/test.txt\u0027, \u0027system/config.json\u0027)."
          },
          "content": {
            "type": "string",
            "description": "Text or JSON payload to store."
          },
          "contentType": {
            "type": "string",
            "description": "Optional MIME content type (e.g. \u0027application/json\u0027, \u0027text/plain\u0027, \u0027text/markdown\u0027)."
          }
        },
        "required": [
          "name",
          "content"
        ]
      }
    },
    {
      "name": "get_blob",
      "description": "Retrieve a stored text or JSON document from an Azure Storage container bucket.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "container": {
            "type": "string",
            "description": "Storage bucket container name (\u0027content\u0027, \u0027data\u0027, or \u0027uploads\u0027).",
            "enum": [
              "content",
              "data",
              "uploads"
            ]
          },
          "name": {
            "type": "string",
            "description": "Blob path or key name."
          }
        },
        "required": [
          "name"
        ]
      }
    },
    {
      "name": "list_blobs",
      "description": "List blob keys currently stored in an Azure Storage container bucket with an optional prefix.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "container": {
            "type": "string",
            "description": "Storage bucket container name (\u0027content\u0027, \u0027data\u0027, or \u0027uploads\u0027).",
            "enum": [
              "content",
              "data",
              "uploads"
            ]
          },
          "prefix": {
            "type": "string",
            "description": "Optional prefix filter (e.g. \u0027notes/\u0027, \u0027system/\u0027)."
          }
        }
      }
    },
    {
      "name": "submit_contact",
      "description": "Submit a client inquiry or project request capturing contact details, category, budget, timeline, target platforms, and technology tags.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Client full name or point of contact."
          },
          "email": {
            "type": "string",
            "description": "Client email address."
          },
          "phone": {
            "type": "string",
            "description": "Optional client phone number."
          },
          "company": {
            "type": "string",
            "description": "Company or studio organization."
          },
          "category": {
            "type": "string",
            "description": "Project category: \u0027game\u0027, \u0027systems\u0027, \u0027interactive\u0027, \u0027consulting\u0027, or \u0027other\u0027.",
            "enum": [
              "game",
              "systems",
              "interactive",
              "consulting",
              "other"
            ]
          },
          "title": {
            "type": "string",
            "description": "Project title or headline."
          },
          "description": {
            "type": "string",
            "description": "Project scope, goals, and technical requirements."
          },
          "budget": {
            "type": "string",
            "description": "Estimated budget range (e.g. \u0027$50,000 - $100,000\u0027)."
          },
          "timeline": {
            "type": "string",
            "description": "Target launch or development timeframe."
          },
          "platforms": {
            "type": "string",
            "description": "Comma-separated target platforms (e.g. \u0027iOS, Android, Steam, Nintendo Switch\u0027)."
          },
          "tags": {
            "type": "string",
            "description": "Comma-separated technology tags (e.g. \u0027Unity, C#, RUDP, WebRTC\u0027)."
          }
        },
        "required": [
          "name",
          "email"
        ]
      }
    },
    {
      "name": "get_incoming_contacts",
      "description": "Retrieve list of incoming client inquiries filtered by status, brand, or search query. Requires studio admin password.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "password": {
            "type": "string",
            "description": "Studio administrative password."
          },
          "status": {
            "type": "string",
            "description": "Optional status filter (\u0027all\u0027, \u0027new\u0027, \u0027contacted\u0027, \u0027archived\u0027)."
          },
          "brand": {
            "type": "string",
            "description": "Optional brand filter (\u0027drawk\u0027, \u0027drawcode\u0027, \u0027drawlabs\u0027, \u0027drawlogic\u0027)."
          },
          "search": {
            "type": "string",
            "description": "Optional search query across client name, company, email, or project title."
          }
        },
        "required": [
          "password"
        ]
      }
    },
    {
      "name": "get_contact_detail",
      "description": "Retrieve complete document detail for a single contact inquiry by ID. Requires studio admin password.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "password": {
            "type": "string",
            "description": "Studio administrative password."
          },
          "id": {
            "type": "string",
            "description": "Contact submission receipt ID."
          }
        },
        "required": [
          "password",
          "id"
        ]
      }
    }
  ]
}