mcpField
D
drawmath

drawmath

Local
github.com/CloudCorpRecordsScience & Education0Updated 1w ago

About drawmath

drawmath is a local conversion server for technical drawing values, aimed at users working across metric and imperial systems. It handles dimensions, tolerances, roughness, weights, and thread references, reporting exact and rounded values with derivation and confidence details.

Key features

  1. 01Convert dimensions and tolerances
  2. 02Convert GD&T and roughness callouts
  3. 03Convert weights between systems
  4. 04Cross-reference metric and UNC threads
  5. 05Return exact, display, and confidence values

Use cases

  1. 01Convert drawing callouts between unit systems
  2. 02Check a tolerance in the other system
  3. 03Compare thread designations with a chart
  4. 04Review exact and rounded conversion results

MCP support

Provides `convert_value`, `convert_text`, and `lookup_thread` tools to MCP clients. PDF text extraction and drawing conversion are not included.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"cloudcorprecords-drawmath": {
"command": "npx",
"args": [
"-y",
"@reneturcios/drawmath"
]
}
}
}
Run commandnpx -y @reneturcios/drawmath

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@reneturcios/drawmath0.1.0
ocighcr.io/cloudcorprecords/drawmath:0.1.0

Tools

3

Saved tool list · updated 1w ago

ParameterTypeRequiredDescription
kindenumNoThe kind for this call.length | tolerance | gdt | roughness | weight | thread | auto
valuestringYesValue for this call.
directionenumNoThe direction for this call.metric_to_imperial | imperial_to_metric | auto

Details

From the project README

drawmath

Metric and imperial values on a technical drawing, converted with the factors and rounding a shop actually uses — locally, with no network call and nothing to configure.

Give drawmath one value, one printed callout, or one thread designation and it answers in the other system: lengths and GD&T values, ± tolerances, diameters with their fit class, surface roughness, weights and threads. Each answer carries the exact converted value alongside the rounded display value, says how it was derived (exact, rounded, table or nearest), and gives a confidence score.

Precision

  • Factors are the international definitions: 25.4 mm per inch and 0.45359237 kg per pound.
  • Display values follow shop-floor convention: a 0.01 mm step becomes a 4-decimal inch value.
  • Worked examples: 84±0.1 mm becomes 3.3071±0.0039 in, Ø30 H7 becomes Ø1.1811 H7, Ø40 H7 becomes Ø1.5748 H7, and Ra 1.6 µm becomes Ra 63 µin.
  • Threads are matched against a metric/UNC chart covering M2–M30, snapped by major diameter when there is no exact counterpart: M8 becomes 5/16-18 UNC, M6 becomes 1/4-20 UNC, and 1/4-20 UNC becomes M6. A matched thread is a nearest standard, never an interchangeable one — every thread result says so explicitly.

Tools

This is a labelled subset of the original five-tool surface. Three tools are built:

  • convert_value — one value: value (for example "84±0.1 mm", "Ø30 H7", "Ra 1.6", "2.5 kg" or "M8"), with an optional kind (length, tolerance, gdt, roughness, weight, thread or auto) and an optional direction (metric_to_imperial, imperial_to_metric or auto). The result JSON gives exact and display values, the derivation method and a confidence score.
  • convert_text — a whole callout string: text, with an optional direction. Notation is preserved — symbols, fit classes and multipliers stay where they were — and angles are left untouched.
  • lookup_thread — a thread cross-reference: give a designation such as "M8" or "1/4-20 UNC" for its chart row and nearest counterpart in the other system, or omit it for the full M2–M30 chart.

Two original tools are omitted from this subset: extract_drawing_text and convert_drawing_pdf. They depend on a PDF text-extraction and stamping engine that cannot be reproduced from the published specification, and this build carries no PDF library. The original's convert-drawing prompt is likewise out of scope, as prompts sit outside this program's tool parity scope.

Argument shapes are labelled reconstructions: the published material pins behaviour and worked examples, not parameter tables, so each tool takes the primary string its behaviour implies plus the optional direction or kind that behaviour calls for.

CLI

npx @reneturcios/drawmath convert_value '{"value":"84±0.1 mm"}'
npx @reneturcios/drawmath convert_text '{"text":"Ø30 H7"}'
npx @reneturcios/drawmath lookup_thread '{"designation":"M8"}'
npx @reneturcios/drawmath lookup_thread '{}'
npx @reneturcios/drawmath --version

Exit codes: 0 on success, 1 on a runtime error, 2 on a usage error.

MCP server

npx -y @reneturcios/drawmath mcp

MCP client config:

{
  "mcpServers": {
    "drawmath": {
      "command": "npx",
      "args": ["-y", "@reneturcios/drawmath", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/drawmath
docker run --rm ghcr.io/cloudcorprecords/drawmath convert_text '{"text":"M8"}'

Development

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (fixture arithmetic only, no network)
npm run dev     # run the CLI from source

License

MIT — Copyright (c) 2026 Rene Turcios

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.