Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Engineering Tools

БесплатноНе проверен

An MCP server that gives an AI assistant a set of real mechanical-engineering tools. Provides deterministic tools like material properties, beam analysis, unit

GitHubEmbed

Описание

An MCP server that gives an AI assistant a set of real mechanical-engineering tools. Provides deterministic tools like material properties, beam analysis, unit conversion, and curve fitting for engineering calculations.

README

CI License: MIT

An MCP server that gives an AI assistant a set of real mechanical-engineering tools. Instead of asking a model to recall a material property or do a beam calculation in its head (where it can quietly be wrong), the model calls a tool that returns a deterministic, checkable answer.

I'm a mechanical engineering student, and I built this to sit at the boundary I actually work at: hardware analysis on one side, AI tooling on the other. The Model Context Protocol is Anthropic's open standard for connecting models to external tools, so this is a small, complete example of exposing engineering domain logic through it.

Live demo: calling beam_analysis on a cantilever rod through the MCP Inspector, showing it flag a factor of safety of 0.73 (the rod yields)

Tools

Tool What it does
material_properties Typical properties (density, modulus, yield/ultimate strength, thermal conductivity, CTE) for common materials. Accepts shorthand like 6061, Ti-6Al-4V, 304.
beam_analysis Max deflection, moment, and bending stress for four standard beam cases, with an optional factor of safety against yield.
convert_units Dimension-aware unit conversion. Refuses nonsense like force-to-length instead of returning a wrong number.
list_units Lists every supported unit, grouped by dimension.
fit_correlation Least-squares curve fit (linear or power law) of experimental data, returning coefficients, R^2, and a formula.

The fit_correlation power-law mode is the form used to build dimensionless heat-transfer correlations like Nu = C * Re^n: it fits a straight line in log-log space and reads the exponent off the slope.

See it work

bun run demo runs the server and calls each tool with a realistic question. A few of the answers:

A loaded steel rod that actually fails. The tool returns a factor of safety below 1, so it flags the failure with numbers instead of a guess:

beam_analysis  cantilever, 0.8 m, 20 mm dia, 500 N at the tip, steel
-> max_bending_stress_MPa: 509.3      (yield is 370 MPa)
   factor_of_safety: 0.73            // < 1: this rod yields
   max_deflection_m: 0.053

Building a heat-transfer correlation from data. Five (Re, Nu) points fit straight to the standard form:

fit_correlation  power-law on (Re, Nu) data
-> formula: "y = 0.1459 * x^0.6609"
   rSquaredLogSpace: 0.99999

Refusing a meaningless request instead of returning a wrong number:

convert_units  100 N -> m
-> Dimension mismatch: "N" is force, "m" is length. These are not convertible.

Every value above is computed by the server, which is the point: the model calls a tool and gets a checkable answer rather than recalling one that might be subtly wrong.

Design notes

A few deliberate choices, since the point of this repo is the engineering, not the line count:

  • The curve fit is implemented from scratch (src/regression.ts), not pulled from a numerics library. Ordinary least squares is short, and writing it keeps the behavior fully known and testable.
  • Units carry their dimension. Conversion is only allowed within a dimension, and temperature is handled as an affine transform (offset, not just a scale) rather than being forced into the factor model.
  • Material values state their condition (temper, processing). A strength number without a condition is not a real number, so each entry says what it corresponds to. These are first-pass handbook values, not certification data.
  • Every input is validated with zod at the tool boundary, so bad calls fail with a clear message instead of a NaN.

Running it

Requires Bun (dev) or Node 18+ (built output).

bun install
bun test          # 26 tests across the four modules
bun run typecheck
bun run build     # compiles to dist/
bun run demo      # starts the server and calls each tool with a real question
node scripts/smoke.mjs   # minimal end-to-end smoke check

Using it with Claude

Add the built server to an MCP client. For Claude Desktop, edit its config file (claude_desktop_config.json):

{
  "mcpServers": {
    "engineering-tools": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-engineering-tools/dist/server.js"]
    }
  }
}

For Claude Code:

claude mcp add engineering-tools -- node /absolute/path/to/mcp-engineering-tools/dist/server.js

Then ask, for example: "What's the factor of safety on a 1 m 6061 cantilever, 50 by 100 mm, carrying 1 kN at the tip?" and the model will call material_properties and beam_analysis and answer from the returned numbers.

Roadmap

Possible future directions, not commitments. The point of listing them is to show where the domain logic could grow:

  • More beam cases (distributed loads, fixed-fixed, overhanging) and combined loading.
  • Column buckling (Euler critical load) and a slenderness check.
  • Fatigue screening against an endurance limit, with a stress-concentration factor input.
  • A wider materials table (more alloys, polymers, and composites) with temperature-dependent values.
  • Optional uncertainty on fitted correlations (confidence bounds on the coefficient and exponent).

License

MIT, see LICENSE.

from github.com/shahradzomorrodi/mcp-engineering-tools

Установка Engineering Tools

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/shahradzomorrodi/mcp-engineering-tools

FAQ

Engineering Tools MCP бесплатный?

Да, Engineering Tools MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Engineering Tools?

Нет, Engineering Tools работает без API-ключей и переменных окружения.

Engineering Tools — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить Engineering Tools в Claude Desktop, Claude Code или Cursor?

Открой Engineering Tools на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Engineering Tools with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai