{
  "$comment": "Follows the emerging MCP server-card proposal (SEP draft); fields may change.",
  "name": "roastycalc-mcp",
  "title": "RoastyCalc MCP",
  "version": "0.2.0",
  "description": "Public, read-only MCP server for RoastyCalc: compute coffee-to-water brew ratios for auto drip, pour over, V60, French press, AeroPress and cold brew.",
  "website": "https://roastycalc.com",
  "documentation": "https://roastycalc.com/agents/",
  "endpoint": "https://htzlpemzuuqavwtthkwk.supabase.co/functions/v1/mcp",
  "transport": "streamable-http",
  "authentication": "none",
  "tools": [
    {
      "name": "calculate_recipe",
      "title": "Calculate brew recipe",
      "description": "Compute how much ground coffee to use for a given amount of water, or how much water to use for a given amount of coffee, for auto drip, pour over, V60, French press, AeroPress or cold brew. Provide brew_method, strength (mild, balanced or bold) and exactly one of water_amount or coffee_grams \u2014 they are mutually exclusive. water_unit may be g, ml, fl_oz (US fluid ounce), us_cup (240 ml) or coffee_maker_cup (\u2248148 ml); defaults to g. Returns water in grams, millilitres, US cups and coffee-maker cups, coffee in grams and tablespoons (1 tbsp \u2248 5 g, rounded to 0.5), and the ratio used.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "brew_method": {
            "type": "string",
            "enum": [
              "auto-drip",
              "pour-over",
              "v60",
              "french-press",
              "aeropress",
              "cold-brew"
            ],
            "description": "Brewing method id from list_brew_methods."
          },
          "strength": {
            "type": "string",
            "enum": [
              "mild",
              "balanced",
              "bold"
            ],
            "description": "Desired brew strength."
          },
          "water_amount": {
            "description": "Water amount. Provide with water_unit. Omit if giving coffee_grams.",
            "type": "number",
            "exclusiveMinimum": 0
          },
          "water_unit": {
            "description": "Unit for water_amount. Defaults to g.",
            "type": "string",
            "enum": [
              "g",
              "ml",
              "fl_oz",
              "us_cup",
              "coffee_maker_cup"
            ]
          },
          "coffee_grams": {
            "description": "Coffee amount in grams. Omit if giving water_amount.",
            "type": "number",
            "exclusiveMinimum": 0
          }
        },
        "required": [
          "brew_method",
          "strength"
        ]
      },
      "outputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "brew_method": {
            "type": "string"
          },
          "method_label": {
            "type": "string"
          },
          "strength": {
            "type": "string"
          },
          "ratio": {
            "type": "string"
          },
          "water_grams": {
            "type": "number"
          },
          "water_ml": {
            "type": "number"
          },
          "water_us_cups": {
            "type": "number"
          },
          "water_coffee_maker_cups": {
            "type": "number"
          },
          "coffee_grams": {
            "type": "number"
          },
          "coffee_tbsp": {
            "type": "number"
          }
        },
        "required": [
          "brew_method",
          "method_label",
          "strength",
          "ratio",
          "water_grams",
          "water_ml",
          "water_us_cups",
          "water_coffee_maker_cups",
          "coffee_grams",
          "coffee_tbsp"
        ]
      }
    },
    {
      "name": "list_brew_methods",
      "title": "List brew methods",
      "description": "Call this first to discover the brew method ids accepted by calculate_recipe (auto-drip, pour-over, v60, french-press, aeropress, cold-brew) and the water-to-coffee ratio used for each strength (mild, balanced, bold). Ratios are parts water per part coffee by weight (16 means 1:16). Takes no input.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {}
      },
      "outputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "methods": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "ratios": {
                  "type": "object",
                  "properties": {
                    "mild": {
                      "type": "number"
                    },
                    "balanced": {
                      "type": "number"
                    },
                    "bold": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "mild",
                    "balanced",
                    "bold"
                  ]
                }
              },
              "required": [
                "id",
                "label",
                "ratios"
              ]
            }
          }
        },
        "required": [
          "methods"
        ]
      }
    }
  ]
}