{
  "name": "Fuel Made Brain MCP Server",
  "version": "1.0.0",
  "description": "Search, read and capture Fuel Made shared agency and client knowledge",
  "repository": "fuelmade/fuel-made-claude-plugins",
  "branch": "main",
  "iconUrl": "https://brain.mcp.fuelmade.com/icon.svg",
  "tools": [
    {
      "name": "search_brain",
      "description": "Search the Fuel Made brain's indexes for notes relevant to a task or question. Returns one line per matching note (name, status, description, path), never note bodies, so it stays cheap no matter how large the brain grows. Use this FIRST, then read_note for the one or two that matter. Covers agency canon (how we write code, Foundry patterns, Shopify behaviour, process, design) and client knowledge (a client's stack, decisions, quirks and history).",
      "annotations": {
        "title": "Search the brain",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "What you actually need. Search the specific artifact or decision ('reduced motion', 'metaobject', 'back in stock'), not a broad domain word like 'Foundry', 'design' or 'section'. Those describe most of this corpus and will match a large slice of the index."
          },
          "area": {
            "type": "string",
            "enum": [
              "all",
              "agency",
              "clients"
            ],
            "description": "Restrict the search. Default 'all'. Use 'clients' when you already know the question is about one client."
          }
        },
        "required": [
          "query"
        ]
      }
    },
    {
      "name": "read_note",
      "description": "Read the full body of one brain note by its name (the `name:` value shown in search_brain results). Read only the notes a task genuinely needs, usually one to three.",
      "annotations": {
        "title": "Read a brain note",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The note's name, e.g. 'respect-reduced-motion'."
          }
        },
        "required": [
          "name"
        ]
      }
    },
    {
      "name": "submit_note",
      "description": "Capture a durable learning into the Fuel Made brain. Use when someone says 'add this to the brain', 'the team should know this', or when a lasting fact about a client emerges that the next person would otherwise have to rediscover.\n\nWRITES TO A SHARED TEAM KNOWLEDGE BASE that every colleague Claude reads. Show the person the full drafted note and get their confirmation BEFORE calling this.\n\nOnly client knowledge and design constraints can be captured directly. Anything about code, Foundry, Shopify platform behaviour or developer process is queued as a proposal for a developer instead. That is normal, not a failure: say so plainly and move on.\n\nWHAT DOES NOT BELONG: anything true of one moment rather than durably (status and scheduling go in the task tracker); anything a competent person would do by default; anything already in official Shopify documentation; anything that does not change a decision; a record of one task rather than a fact about the client. If it fails those, say so instead of capturing it.\n\nNEVER WRITE, whatever is asked: sentiment about the client or the work, and anything about an individual person (their reliability, their behaviour, whose judgement to trust). Notes are permanent and read agency-wide by people who will meet that person cold. Capture the mechanism, never the feeling about it.",
      "annotations": {
        "title": "Add a note to the brain",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false
      },
      "inputSchema": {
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "enum": [
              "client",
              "design"
            ],
            "description": "'client' for a fact about one client (their store, stack, decisions, preferences, history, whether dev, design or strategy). 'design' for a constraint a designer needs while designing, stated in canvas terms."
          },
          "client": {
            "type": "string",
            "description": "Client name, kebab-case (e.g. 'jonas-paul-eyewear'). Required when scope is 'client'."
          },
          "codebase": {
            "type": "string",
            "description": "Kebab-case repo/store name, when the fact is true of ONE of the client's codebases rather than the client as a whole. Omit for client-wide facts."
          },
          "slug": {
            "type": "string",
            "description": "Short kebab-case file name capturing the rule, e.g. 'quiz-results-are-headless'."
          },
          "description": {
            "type": "string",
            "description": "One line telling a future reader WHEN this note matters: the trigger condition, in the words they would actually search for. This is the entire retrieval signal; a description that only makes sense to someone who already knows the note exists is a note nobody finds."
          },
          "body": {
            "type": "string",
            "description": "The learning itself: concise, concrete, and including the WHY. A rule without its reasoning cannot be applied to a case it does not literally cover."
          },
          "type": {
            "type": "string",
            "enum": [
              "rule",
              "pattern",
              "process",
              "reference"
            ],
            "description": "Defaults to 'reference'."
          }
        },
        "required": [
          "scope",
          "slug",
          "description",
          "body"
        ]
      }
    },
    {
      "name": "submit_proposal",
      "description": "Queue a suggestion for a developer when a learning is real but falls outside what this channel may write directly: code standards, Foundry patterns, Shopify platform behaviour, or developer process. It is stored unindexed (so it costs nothing and is never mistaken for agency policy) until a developer reviews it. Tell the person plainly that it went to a developer rather than into the brain.",
      "annotations": {
        "title": "Propose a note for developer review",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false
      },
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Short kebab-case name for the suggestion."
          },
          "description": {
            "type": "string",
            "description": "One line: what this claims and when it would matter."
          },
          "body": {
            "type": "string",
            "description": "The suggestion in full, including why the person believes it and what they observed."
          },
          "suggested_namespace": {
            "type": "string",
            "enum": [
              "code-standards",
              "foundry",
              "shopify",
              "process",
              "apps"
            ],
            "description": "Where the person thinks it belongs. A hint for the reviewing developer, not a decision."
          }
        },
        "required": [
          "slug",
          "description",
          "body"
        ]
      }
    }
  ]
}