← WebMCP Directory

Tool tree

cogsmith.bainer.ca

Developer ToolsTools verified
Website
Find single-speed gearing that fits your bike, your chain, and your legs.
Explore capabilities
    get_current_bike_setupAnswer

    Read the bike setup currently displayed in CogSmith and return a ranked gearing summary. Use this when the user refers to this bike, the current setup, or values already entered on the page. This tool does not change the page.

    View tool JSON
    {
      "name": "get_current_bike_setup",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the bike setup currently displayed in CogSmith and return a ranked gearing summary. Use this when the user refers to this bike, the current setup, or values already entered on the page. This tool does not change the page.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    calculate_gearing_optionsAction

    Calculate and rank single-speed or fixed-gear chainring and rear-cog combinations for an explicitly supplied bike setup. Use this for comparisons or recommendations without changing the visible CogSmith calculator. Gear inches remain imperial regardless of measurement units.

    View tool JSON
    {
      "name": "calculate_gearing_options",
      "kind": "act",
      "impl": "imperative",
      "description": "Calculate and rank single-speed or fixed-gear chainring and rear-cog combinations for an explicitly supplied bike setup. Use this for comparisons or recommendations without changing the visible CogSmith calculator. Gear inches remain imperial regardless of measurement units.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "units": {
            "type": "string",
            "enum": [
              "metric",
              "imperial"
            ],
            "description": "Unit used by wheelDiameter, chainstayLength, and dropoutTravel. Metric values are millimetres; imperial values are inches."
          },
          "chainrings": {
            "type": "array",
            "description": "Chainring tooth counts to compare.",
            "items": {
              "type": "integer",
              "minimum": 20,
              "maximum": 60
            },
            "minItems": 1,
            "uniqueItems": true
          },
          "rearCogs": {
            "type": "array",
            "description": "Rear cog tooth counts to compare.",
            "items": {
              "type": "integer",
              "minimum": 7,
              "maximum": 52
            },
            "minItems": 1,
            "uniqueItems": true
          },
          "wheelDiameter": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Outer diameter of the inflated tire, in the selected measurement units. Accepted range: 100–2000 mm or 4–80 in."
          },
          "chainstayLength": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Distance from the bottom-bracket centre to the rear-axle centre, in the selected measurement units. Accepted range: 50–1000 mm or 2–40 in."
          },
          "dropoutTravel": {
            "type": "number",
            "minimum": 0,
            "description": "Available axle movement in either direction from the measured chainstay length, in the selected measurement units. Accepted range: 0–250 mm or 0–10 in."
          },
          "targetGearInches": {
            "type": "number",
            "minimum": 1,
            "maximum": 500,
            "description": "Desired pedalling difficulty expressed in gear inches."
          },
          "gearTolerance": {
            "type": "number",
            "minimum": 0,
            "maximum": 500,
            "description": "Allowed difference above or below targetGearInches."
          },
          "includeHalfLink": {
            "type": "boolean",
            "default": false,
            "description": "Whether to include the extra chain positions made possible by a half-link."
          },
          "maxResults": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20,
            "description": "Maximum number of ranked combinations to return. The response still reports the total number calculated."
          }
        },
        "required": [
          "units",
          "chainrings",
          "rearCogs",
          "wheelDiameter",
          "chainstayLength",
          "dropoutTravel",
          "targetGearInches",
          "gearTolerance"
        ],
        "additionalProperties": false
      }
    }
    show_gearing_setupAction

    Replace the values shown in CogSmith with an explicitly supplied bike setup and recalculate the chart, summary, and results table for the user to inspect. Use only when the user wants the visible page updated.

    View tool JSON
    {
      "name": "show_gearing_setup",
      "kind": "act",
      "impl": "imperative",
      "description": "Replace the values shown in CogSmith with an explicitly supplied bike setup and recalculate the chart, summary, and results table for the user to inspect. Use only when the user wants the visible page updated.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "units": {
            "type": "string",
            "enum": [
              "metric",
              "imperial"
            ],
            "description": "Unit used by wheelDiameter, chainstayLength, and dropoutTravel. Metric values are millimetres; imperial values are inches."
          },
          "chainrings": {
            "type": "array",
            "description": "Chainring tooth counts to compare.",
            "items": {
              "type": "integer",
              "minimum": 20,
              "maximum": 60
            },
            "minItems": 1,
            "uniqueItems": true
          },
          "rearCogs": {
            "type": "array",
            "description": "Rear cog tooth counts to compare.",
            "items": {
              "type": "integer",
              "minimum": 7,
              "maximum": 52
            },
            "minItems": 1,
            "uniqueItems": true
          },
          "wheelDiameter": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Outer diameter of the inflated tire, in the selected measurement units. Accepted range: 100–2000 mm or 4–80 in."
          },
          "chainstayLength": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Distance from the bottom-bracket centre to the rear-axle centre, in the selected measurement units. Accepted range: 50–1000 mm or 2–40 in."
          },
          "dropoutTravel": {
            "type": "number",
            "minimum": 0,
            "description": "Available axle movement in either direction from the measured chainstay length, in the selected measurement units. Accepted range: 0–250 mm or 0–10 in."
          },
          "targetGearInches": {
            "type": "number",
            "minimum": 1,
            "maximum": 500,
            "description": "Desired pedalling difficulty expressed in gear inches."
          },
          "gearTolerance": {
            "type": "number",
            "minimum": 0,
            "maximum": 500,
            "description": "Allowed difference above or below targetGearInches."
          },
          "includeHalfLink": {
            "type": "boolean",
            "default": false,
            "description": "Whether to include the extra chain positions made possible by a half-link."
          }
        },
        "required": [
          "units",
          "chainrings",
          "rearCogs",
          "wheelDiameter",
          "chainstayLength",
          "dropoutTravel",
          "targetGearInches",
          "gearTolerance"
        ],
        "additionalProperties": false
      }
    }