Koskamo

Swatch Ledger MCP

An independent, read-only MCP server for fabric shrinkage calculations. It allows AI agents to measure fabric shrinkage from before-and-after swatch dimensions and plan the initial fabric length to purchase, accounting for shrinkage and shop-increment rounding. Calculations run in the browser and measurements are not stored.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Swatch Ledger MCP logo, by CHENCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by CHEN
MCP endpoint (Streamable HTTP)
https://swatch-ledger.pages.dev/mcp
Vendor documentation

What you can do with it

  • Measure fabric shrinkage from swatch dimensions
  • Plan fabric yardage with shrinkage allowance
  • Calculate length to buy before washing
  • Round results to shop increments

Source and maintenance

Community listingRegistry 1.0.0

Protocol and capabilities

Server
swatch-ledger 1.0.0
MCP protocol
2025-06-18
Tools
2 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Swatch Ledger (swatch-ledger.pages.dev) is a free fabric shrinkage and yardage calculator for sewing. measure_fabric_shrinkage turns before-and-after swatch measurements (length along the selvedge and width across the fabric, after washing and drying) into length, width and area shrinkage or growth. plan_fabric_length works out how much fabric to buy so that a usable length remains after washing, from a measured lengthwise shrinkage rate, with optional extra length and rounding up to the shop’s selling increment. They fit when a user asks how much a fabric shrank in a wash test, or how much fabric to buy to allow for shrinkage (pre-washing linen, cotton, wool and the like). Use the user’s own measured rate when they have one; the tools do not guess a fabric’s shrinkage. Results describe one measured sample: repeated washing and another batch can differ, and the tools do not check width, pattern layout, grain or fibre content. Show the notes that come back and link the calculator page (url) so the user can print or download the record.

Tools

2 advertised

measure_fabric_shrinkage — Measure fabric shrinkage
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculates fabric shrinkage (or growth) from a swatch measured before and after washing and drying: length change along the selvedge, width change across the fabric, and the change in area. Use the same marked distances before and after, in one unit (cm or inches). Positive percentages are shrinkage, negative are growth.

measure_fabric_shrinkage input schema
{
  "type": "object",
  "required": [
    "length_before",
    "length_after",
    "width_before",
    "width_after"
  ],
  "properties": {
    "unit": {
      "enum": [
        "cm",
        "in"
      ],
      "type": "string",
      "description": "Unit of the four measurements (only used to label the answer). Default cm."
    },
    "width_after": {
      "type": "number",
      "description": "The same marked width after washing and drying.",
      "exclusiveMinimum": 0
    },
    "length_after": {
      "type": "number",
      "description": "The same marked length after washing and drying.",
      "exclusiveMinimum": 0
    },
    "width_before": {
      "type": "number",
      "description": "Marked width before washing (across the fabric), greater than 0.",
      "exclusiveMinimum": 0
    },
    "length_before": {
      "type": "number",
      "description": "Marked length before washing (along the selvedge), greater than 0.",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
measure_fabric_shrinkage annotations
{
  "title": "Measure fabric shrinkage",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
plan_fabric_length — Plan fabric length to buy
Advertised by the server during the last successful anonymous check.
Advertised read-only

Works out how much fabric to buy before washing so that the usable length needed remains afterwards: required length = (usable length + extra) ÷ (1 − lengthwise shrinkage), then rounded up to the shop’s selling increment. Works in metres or yards (any one unit). A negative shrinkage rate means growth.

plan_fabric_length input schema
{
  "type": "object",
  "required": [
    "usable_length",
    "shrinkage_percent"
  ],
  "properties": {
    "unit": {
      "enum": [
        "m",
        "yd"
      ],
      "type": "string",
      "description": "Unit of the lengths (only used to label the answer). Default m."
    },
    "extra_length": {
      "type": "number",
      "minimum": 0,
      "description": "Optional extra usable length after washing (default 0). Do not count an allowance the pattern already includes."
    },
    "usable_length": {
      "type": "number",
      "description": "Length needed after washing (check the pattern layout), greater than 0.",
      "exclusiveMinimum": 0
    },
    "shop_increment": {
      "type": "number",
      "minimum": 0,
      "description": "The shop’s selling increment to round up to, e.g. 0.25 for quarter metres or 0.125 for eighth yards. 0 for no rounding (default 0)."
    },
    "shrinkage_percent": {
      "type": "number",
      "minimum": -100,
      "description": "Measured lengthwise shrinkage in percent, e.g. 5 for 5%. Negative means growth.",
      "exclusiveMaximum": 100
    }
  },
  "additionalProperties": false
}
plan_fabric_length annotations
{
  "title": "Plan fabric length to buy",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
262 ms
95th percentile latency
262 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 262 ms · metadata changed · 2 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http swatch-ledger-mcp https://swatch-ledger.pages.dev/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add swatch-ledger-mcp --url https://swatch-ledger.pages.dev/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable swatch-ledger-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "swatch-ledger-mcp": {
      "url": "https://swatch-ledger.pages.dev/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "swatch-ledger-mcp": {
      "type": "streamableHttp",
      "url": "https://swatch-ledger.pages.dev/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start swatch-ledger-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "swatch-ledger-mcp": {
      "type": "http",
      "url": "https://swatch-ledger.pages.dev/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http swatch-ledger-mcp https://swatch-ledger.pages.dev/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "swatch-ledger-mcp": {
      "url": "https://swatch-ledger.pages.dev/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "swatch-ledger-mcp": {
      "serverUrl": "https://swatch-ledger.pages.dev/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Swatch Ledger MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.