Ottoref — Standards MCP Server

io.github.ottonicPublished by GitHub account ottonicv0.3.0Updated Nov 7, 2026

ISO 286 limits and fits, ISO 2768 tolerances, material properties, and process limits.

The publisher's own server: Standards

VerifiedSTDIODesktop onlyDeveloper ToolsData & Analytics

Overview

AI-generated overview

Local MCP server giving assistants citable mechanical-engineering reference data: ISO 286 limits and fits, ISO 2768 tolerances, material properties and…

What you can do
  • List which standards, material grades and manufacturing processes are covered, and where coverage stops
  • Look up ISO 286 deviations and limits for a hole or shaft class at a nominal size, and the supported size intervals for a class
  • Compute the fit type, clearance and interference for a hole/shaft pair, and the IT grade tolerance value on its own
  • Return ISO 2768-1 general tolerances for linear, broken-edge and angular dimensions, and compare a stated deviation against them
  • Look up typical SI material properties by designation, and check a measured feature against published process limits
When to use it
Useful when answering questions about toleranced dimensions, fits, general-tolerance notes, material properties or manufacturability limits, and when you want values traceable to published standard tables rather than approximations.
Requirements
Runs as a local process over stdio; the README describes installing the npm package, building it and pointing an MCP host at the compiled entry point. No accounts, API keys or environment variables are declared, and the values ship in the source.
Before you install
Values are reference facts only: the server does not judge whether a design, fit or part is acceptable, and approval, compliance and certification are out of scope. Material values are typical handbook figures, not design allowables, and process limits are rules of thumb, not a specific shop's capability. Coverage is partial and unverified values are refused rather than approximated.

Installation

In SourceWeft

  1. Open Ottoref — Standards MCP Server in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Ottoref — Standards MCP Server

Reference standards for mechanical engineering, as data an assistant can query: ISO 286 limits and fits, ISO 2768 general tolerances, indicative material properties, and published process feasibility limits. Nothing here comes from a CAD file — it is the reference layer that turns a measurement, or a measurement-plus-drawing question, into an answer you can cite.

Every value is taken from the published tables, carries the edition it came from, and is checked against independent fixtures. Anything the server cannot verify, it refuses with a reason rather than approximating — so a number from this server is one you can put your name to.

Tools

ToolReturns
list_standardsWhich standards are implemented, and what within each is covered.
limits_of_sizeUpper and lower deviations and limits for one ISO 286 class at one nominal size, e.g. 36H7.
iso286_applicabilityExact size intervals where one ISO 286 tolerance class is supported, e.g. H7, j5 or N9.
fitFit type, clearance and interference for a hole and shaft pair at one nominal size, e.g. 12 H7/h6.
it_gradeThe standard tolerance value for one IT grade at one size, in micrometres and millimetres (IT01, IT0, IT1–IT18).
general_toleranceThe ISO 2768-1 general tolerance for a class: linear, broken-edge, or angular.
general_tolerance_compliesWhether a stated deviation complies with a general-tolerance note.
material_propertiesTypical SI properties for one material designation.
material_coverageWhich material grades and families are covered.
process_limitsPublished geometric feasibility limits for a process.
process_feasibilityA check of a stated value against those process limits.
process_listWhich processes are covered.

What it covers

ISO 286-1:2010, with Cor 1:2013 applied provides standard tolerance grades IT01, IT0 and IT1 to IT18 for nominal sizes up to 500 mm. Shaft limits cover c–h, k, m, n, p, r–v, x–z, and za–zc where Table 4/5 publishes a cell, using its exact size intervals and grade rules. Verified hole classes C, D, E, F, G, H, JS, K, M, N, P, R, S, T, U, V, X, Y, Z, ZA, ZB, ZC use the Table 2/3 ∆ corrections and the M6 exception, and grade-specific shaft j5–j7 (and j8 up to 3 mm) and hole J6–J8 use their own table values. iso286_applicability reports the exact supported size intervals for a class; gaps are stated, never interpolated.

ISO 2768-1:1989 provides general tolerances for linear dimensions (classes f, m, c, v), broken edges (classes f and c), and angular dimensions (classes f, c, v), plus a compliance check for a stated deviation.

Materials are indicative typical values for common metals and plastics, from an Apache-2.0 reference, tagged basis: typical. Process limits are published rules of thumb for cnc-machining, sheet-metal, injection-molding, and additive-sls.

Out of scope, and refused rather than guessed: nominal sizes above 500 mm and the inch counterparts (ANSI B4.2); IT01–IT2 K/M/N/P–ZC combinations and sparse Table 2/3 cells with no published ∆ value; design allowables, fatigue, and high-temperature data; and a specific shop's capability, achievable tolerance, cost, or lead time.

How the values are produced

The values are the published tables, which are normative. The earlier editions also define the tolerance factor i = 0.45·∛D + 0.001·D and give the grades as multiples of it; that arithmetic reproduces the table at 18 mm and above but diverges at the smallest size step, where the published IT18 is 1400 µm against 2500i = 1355 µm. toleranceFactor() is kept as a documented cross-check, and the tests assert both the table and the divergence.

What it does not do

It reports what a standard specifies. It does not decide whether a design is acceptable, whether a fit suits a joint, or whether a part can be made — those are engineering judgements and they stay with you. Approval, compliance, and certification are out of scope.

Install and run

sh
npm installnpm run buildnode dist/src/index.js        # serves MCP over stdio

Point an MCP host at dist/src/index.js. The server serves both protocol eras: the 2025-11-25 handshake that stock MCP hosts negotiate, and the 2026-07-28 envelope through server/discover.

Development

sh
just check          # fmt-check, lint, typecheck, testjust buildjust test

just check is keyless and needs no data files: the values are in the source.

Packaging

npm pack builds first and includes the compiled server and this README; tests and source maps are excluded. Install the tarball to check the standards-mcp executable with a compatible MCP client.

License

MIT. Third-party notices: THIRD_PARTY_NOTICES.md.

Source: README.md at commit f9da2c7

Tools

12

list_standards

List Standards Coverage

List the standards this server implements, and what within each one is not covered. Call this first when a question mentions a standard, so you know whether the value you need is available before you promise an answer. Coverage is partial by design: unimplemented values are refused with a stated reason rather than approximated. Use iso286_applicability for exact size intervals of an ISO 286 class.

Takes no parameters.

limits_of_size

Limits of Size for a Tolerance Class

Return the upper and lower deviations, and the resulting limits, for one tolerance class at one nominal size, such as 36H7 or 36g6. Uppercase is a hole, lowercase a shaft. Values are millimetres and are deviations from the nominal size. Use this to interpret a toleranced dimension; whether the resulting limits suit a joint is an engineering decision.

Parametersnominalrequireddesignationrequired

iso286_applicability

Check ISO 286 Class Applicability

List the exact nominal-size intervals where one ISO 286 tolerance class is supported, such as H7, j5 or N9. Use this before relying on a class across a size range; omitted intervals are not inferred.

Parametersdesignationrequired

fit

Fit Between a Hole and a Shaft

Return the resulting fit between one hole class and one shaft class at the same nominal size, such as 12 H7/h6: the type (clearance, transition or interference), the minimum and maximum clearance, and the maximum interference. Values are millimetres. A negative minimum clearance means the fit can interfere. This reports the geometry of the fit, not whether it is the right choice for a joint, which depends on function and is the caller's decision.

Parametersholerequiredshaftrequirednominalrequired

it_grade

Standard Tolerance Grade Value

Return the standard tolerance value for one IT grade at one nominal size, in micrometres and millimetres, with the size step it came from. Use this when a drawing or a calculation needs the tolerance width itself, rather than the limits of a specific class.

Parametersgraderequirednominalrequired

general_tolerance

ISO 2768-1 General Tolerance

Return the deviation that a general-tolerance note such as ISO 2768-m implies for one dimension, so an unmarked dimension can be checked. The tables differ by what they cover: linear dimensions, broken edges (external radii and chamfer heights), and angular dimensions, which are keyed by the shorter side of the angle rather than the nominal size. A general tolerance applies only where the drawing gives no individual tolerance, so check for one first.

Parameterskindnominalrequiredtolerance_classrequired

general_tolerance_complies

Check a Deviation Against an ISO 2768-1 Note

Compare a stated deviation numerically against the ISO 2768-1 general-tolerance value for one dimension. This is only a numeric comparison: first establish that the dimension has no individual tolerance indication, because the general tolerance applies only to unmarked dimensions. The result does not establish process capability.

Parameterskindnominalrequiredtolerance_classrequiredstated_deviationrequired

material_properties

Material Properties (Typical Values)

Look up indicative material properties for a common metal or plastic by designation, such as 6061-T6, 304 or Ti-6Al-4V. Returns density, yield and ultimate strength, Young's modulus, Poisson's ratio, elongation, thermal expansion and maximum service temperature, all in SI. These are TYPICAL handbook values, not design allowables: every value is tagged basis: typical. Use them to compare materials, estimate mass, or supply an indicative modulus to an analysis; obtain an allowable from a qualified source before relying on a strength margin. An unmatched designation means this reference does not hold it, not that the material does not exist.

Parametersmaterialrequiredproperty

material_coverage

What Material Data Is Held

List what the material reference holds and what it does not. Call this when a material was not found, or before promising a property, so a gap is visible rather than assumed. The reference is limited to typical values for common metals and plastics: it holds no design allowables, no fatigue data and no high-temperature data.

Takes no parameters.

process_limits

Manufacturing Process Limits

Describe what a manufacturing process can hold: minimum wall thickness, minimum hole-to-edge and hole-to-bend distances, minimum internal corner radius, bend radius, draft angle, pocket depth-to-width ratio. Call process_feasibility to test one measured feature against these. These are published rules of thumb for geometric feasibility, not a specific shop's capability, and they say nothing about cost or lead time.

Parametersprocessrequired

process_feasibility

Check a Feature Against Process Limits

Compare one measured feature against a manufacturing process's limits and report whether it is within, marginal, or beyond them. Some limits are expressed as a ratio of material thickness rather than an absolute size — a 1 mm hole is fine in thin sheet and difficult in thick plate — so supply the thickness when the limit needs it. A result inside the limits is not a promise that a shop can make the part, or an estimate of what it costs. Pair this with a measured wall or hole size from a CAD server to answer whether a part suits a process.

Parametersfeaturerequiredprocessrequiredmeasuredrequiredthickness

process_list

List Manufacturing Processes

List the manufacturing processes this server has limits for, and which features each one covers. Call this first when a question names a process, so an unsupported process is visible before a check fails.

Takes no parameters.

Version history

1
  1. v0.3.0LatestOct 31, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Standards integrations