{
  "schema_version": "1.0",
  "name": "NKD Agility Training",
  "description": "Professional Scrum, Kanban and agile training courses delivered by Martin Hinshelwood. Search courses, check formats and request a proposal.",
  "server": {
    "url": "https://courses.nkdagility.com/api/mcp",
    "transport": "http"
  },
  "tools": [
    {
      "name": "search_courses",
      "description": "Search available training courses by topic, level or format. Returns course id, title, description, levels, formats, vendor and URL. Use this when someone asks what courses are available, wants to find a Scrum Master course, or is looking for training on a particular topic.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query":  { "type": "string", "description": "Topic or keyword, e.g. 'Scrum Master', 'Kanban', 'leadership'" },
          "level":  { "type": "string", "description": "Skill level filter, e.g. 'foundation', 'intermediate', 'advanced'" },
          "format": { "type": "string", "description": "Delivery format filter, e.g. 'immersive', 'traditional'" },
          "vendor": { "type": "string", "description": "Certification body filter, e.g. 'scrumorg', 'prokanban', 'accentient'" }
        }
      }
    },
    {
      "name": "get_course",
      "description": "Get full details for a specific course including delivery formats, upcoming public class dates, pricing tier, certification body, and recommended learning pathway (courses to take before and after). Use this when someone wants to know more about a specific course they've already found.",
      "inputSchema": {
        "type": "object",
        "required": ["courseId"],
        "properties": {
          "courseId": { "type": "string", "description": "Course ID returned by search_courses, e.g. 'PSM', 'PSPO', 'APK'" }
        }
      }
    },
    {
      "name": "get_upcoming_events",
      "description": "List upcoming scheduled public classes across all courses. Returns course title, dates, timezone, format and registration link. Use this when someone asks when the next class is, or wants to see what's scheduled.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "courseId": { "type": "string", "description": "Optional: filter to a specific course by ID" }
        }
      }
    },
    {
      "name": "request_proposal",
      "description": "Submit a request for a private or corporate training proposal. Use this when someone wants to enquire about running a course for their team, asks about in-house training, or wants to get a quote. Returns a confirmation that the enquiry has been received.",
      "inputSchema": {
        "type": "object",
        "required": ["courseId", "contactEmail", "teamSize", "message"],
        "properties": {
          "courseId":       { "type": "string", "description": "Course ID, e.g. 'PSM'" },
          "contactName":    { "type": "string" },
          "contactEmail":   { "type": "string", "format": "email" },
          "company":        { "type": "string" },
          "teamSize":       { "type": "integer", "description": "Number of participants" },
          "preferredDates": { "type": "string", "description": "Rough timeframe, e.g. 'Q1 2026' or 'March'" },
          "format":         { "type": "string", "description": "Preferred delivery format: 'public', 'private', 'immersive'" },
          "message":        { "type": "string", "description": "Any additional context or questions" }
        }
      }
    }
  ]
}
