mcpField
S
stem-calc-student-mcp

stem-calc-student-mcp

Local
brightspacemcp.comScience & Education0Updated 1d ago

About stem-calc-student-mcp

An open-source MCP server for chemistry and physics homework that uses code for repeatable calculations. It runs offline and reports unsupported calculations or element symbols rather than guessing.

Key features

  1. 01Calculate formula molar masses
  2. 02Balance chemical equations
  3. 03Convert grams, moles, and particles
  4. 04Convert units including length, mass, and time
  5. 05Round to significant figures

Use cases

  1. 01Calculate a compound's molar mass
  2. 02Check whether an equation is balanced
  3. 03Convert between grams, moles, and particles
  4. 04Convert units and round to significant figures

MCP support

The MCP server provides five read-only calculation tools: molar mass, equation balancing, stoichiometry, unit conversion, and significant-figure rounding. Calculations run locally without internet access.

Configuration

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

mcp.json · Universal config
{
"mcpServers": {
"anonymousonyx22-stem-calc-student": {
"command": "npx",
"args": [
"-y",
"stem-calc-student-mcp"
]
}
}
}
Run commandnpx -y stem-calc-student-mcp

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
npmstem-calc-student-mcp0.1.0

Tools

5

Saved tool list · updated 1d ago

ParameterTypeRequiredDescription
formulastringYesChemical formula like H2O, Ca(OH)2 or CuSO4.5H2O. Write each element with a capital first letter.

Details

From the project README

STEM Calc MCP

npm downloads license

STEM Calc MCP is a free, open source MCP server for chemistry and physics homework, published on npm as stem-calc-student-mcp. It works out molar mass, balances chemical equations, converts between grams, moles and particles, converts units and rounds an answer to the right number of significant figures. The arithmetic is done by tested code, so you get the same answer every time and not a guess from the model.

Use it with Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and any other app that runs a local MCP server. It runs on your computer and needs no internet, no account and no API key.

Try these prompts

  1. "What is the molar mass of copper sulfate pentahydrate, CuSO4.5H2O?"
  2. "Balance this equation: C3H8 + O2 -> CO2 + H2O"
  3. "How many moles are in 36 grams of water?"
  4. "Convert 2.5 kilometres to feet, then round it to 3 significant figures."

Install

You need Node.js 20 or newer. There is nothing else to install.

npx -y stem-calc-student-mcp
Claude Desktop

Add this to claude_desktop_config.json, then restart the app:

{
  "mcpServers": {
    "stem-calc": {
      "command": "npx",
      "args": ["-y", "stem-calc-student-mcp"]
    }
  }
}
Claude Code
claude mcp add stem-calc -- npx -y stem-calc-student-mcp
Cursor

Add the same block as for Claude Desktop to .cursor/mcp.json.

VS Code

VS Code uses a servers key, not mcpServers. Add this to .vscode/mcp.json:

{
  "servers": {
    "stem-calc": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "stem-calc-student-mcp"]
    }
  }
}

Tools

All five tools are read only. They calculate an answer and never change anything on your computer.

ToolWhat it doesInputsExample prompt
molar_massMolar mass of a formula in g/mol, with the mass each element addsformula, like H2O, Ca(OH)2 or CuSO4.5H2O"What is the molar mass of Ca(OH)2?"
balance_equationBalances a chemical equationequation, like H2 + O2 -> H2O"Balance C3H8 + O2 -> CO2 + H2O."
stoichiometryConverts between grams, moles and particlesvalue, from, to (grams, moles or particles) and formula, which grams need"How many moles are in 36 grams of water?"
convert_unitsConverts a value from one unit to anothervalue, from, to"Convert 2.5 km to feet."
round_sig_figsRounds a number to a number of significant figuresvalue, sigFigs"Round 123456 to 3 significant figures."

Every tool also returns its answer as fields next to the text, so an app that reads JSON gets the numbers without picking them out of a sentence.

What it knows

  • Formulas. Write each element with a capital first letter. Round brackets and square brackets work, so Fe2(SO4)3 and K3[Fe(CN)6] are fine, and so are hydrates written with a dot, like CuSO4.5H2O. It knows 56 common elements, from hydrogen to uranium. A symbol it does not know gets a clear error, never a guess.
  • Units. Length: m, km, cm, mm, in, ft. Mass: g, kg, mg, lb. Time: s, min, h. Volume: L, mL, m^3. Energy: J, kJ, cal, kcal. Temperature: K, C, F. It refuses to convert one kind into another, so metres to seconds is an error.
  • What it does not do. It does not find a limiting reagent, work with charges or isotopes, or balance reactions that have no solution. When it cannot answer, it says so.

Node version

There are two floors here, and they are not the same number.

What you are doingNode.js
Running the published server20 or newer
Building and testing a clone22.12 or newer, on the 22 and 24 release lines or 26 and later

The server itself is happy on Node.js 20, and that is what engines in package.json says. The test runner wants a newer Node.js, so the development floor lives in devEngines in the same file. npm checks devEngines before install, run and test, so a clone on Node.js 20 stops with a clear message instead of a strange failure part way through the test suite. The 23 and 25 release lines are left out on purpose, because the test runner does not run on them.

Both numbers live in package.json, and a test in tests/node-version.test.ts keeps them in step with the README and with the range the test runner asks for.

Development

npm install
npm run build
npm test

The tests call the same functions the tools use, and they check the README, llms.txt, glama.json and the package files against the tools in src/tools.ts.

License

MIT

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.