{
  "schema_version": "1.0",
  "name": "Engineering as a Leadership System",
  "description": "Martin Hinshelwood's writing and resources on engineering leadership, delivery systems, organisational design, technical excellence, and agentic engineering. Search articles, videos, guides, and case studies.",
  "server": {
    "url": "https://engineering.hinshelwood.com/api/mcp",
    "transport": "http"
  },
  "tools": [
    {
      "name": "search_resources",
      "description": "Search the library by topic or keyword, optionally filtered by kind (article, video, guide, case-study, engineering-note, newsletter, podcast, signal, recipe, workshop, learning-series), category, or tag. Returns id, kind, title, description, date and URL. Use this when someone asks what the library covers or is researching a topic.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query":    { "type": "string", "description": "Topic or keyword, e.g. 'definition of done', 'branching strategy', 'engineering culture'" },
          "kind":     { "type": "string", "description": "Resource kind filter, e.g. 'article', 'video', 'guide'" },
          "category": { "type": "string", "description": "Category filter, e.g. 'Engineering Excellence'" },
          "tag":      { "type": "string", "description": "Tag filter, e.g. 'Definition of Done'" }
        }
      }
    },
    {
      "name": "get_resource",
      "description": "Get the full detail for a specific library resource by its id (from search_resources). Use this when someone wants to read or cite a specific item.",
      "inputSchema": {
        "type": "object",
        "required": ["resourceId"],
        "properties": {
          "resourceId": { "type": "string", "description": "Resource id returned by search_resources" }
        }
      }
    },
    {
      "name": "list_recent",
      "description": "List the most recently published resources, optionally filtered by kind. Use this when someone asks what's new in the library.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "kind":  { "type": "string", "description": "Optional resource kind filter" },
          "limit": { "type": "integer", "description": "Max items to return (default 10, max 50)" }
        }
      }
    }
  ]
}
