io.github.AnonymousOnyx22/stem-calc-student-mcp
STEM calculator MCP for homework: molar mass, balancing, units, significant figures. Works offline.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
stem-calc-student-mcpclaude mcp add stem-calc-student-mcp -- npx -y stem-calc-student-mcp@0.1.3
{
"mcpServers": {
"stem-calc-student-mcp": {
"command": "npx",
"args": [
"-y",
"stem-calc-student-mcp@0.1.3"
]
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
STEM Calc MCP
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
- "What is the molar mass of copper sulfate pentahydrate, CuSO4.5H2O?"
- "Balance this equation: C3H8 + O2 -> CO2 + H2O"
- "How many moles are in 36 grams of water?"
- "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.
| Tool | What it does | Inputs | Example prompt |
|---|---|---|---|
molar_mass | Molar mass of a formula in g/mol, with the mass each element adds | formula, like H2O, Ca(OH)2 or CuSO4.5H2O | "What is the molar mass of Ca(OH)2?" |
balance_equation | Balances a chemical equation | equation, like H2 + O2 -> H2O | "Balance C3H8 + O2 -> CO2 + H2O." |
stoichiometry | Converts between grams, moles and particles | value, from, to (grams, moles or particles) and formula, which grams need | "How many moles are in 36 grams of water?" |
convert_units | Converts a value from one unit to another | value, from, to | "Convert 2.5 km to feet." |
round_sig_figs | Rounds a number to a number of significant figures | value, 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)3andK3[Fe(CN)6]are fine, and so are hydrates written with a dot, likeCuSO4.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 doing | Node.js |
|---|---|
| Running the published server | 20 or newer |
| Building and testing a clone | 22.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
Questions fréquentes
Qu'est-ce que io.github.AnonymousOnyx22/stem-calc-student-mcp ?
STEM calculator MCP for homework: molar mass, balancing, units, significant figures. Works offline.
Comment installer io.github.AnonymousOnyx22/stem-calc-student-mcp ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add stem-calc-student-mcp -- npx -y stem-calc-student-mcp@0.1.3. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour io.github.AnonymousOnyx22/stem-calc-student-mcp ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
io.github.AnonymousOnyx22/stem-calc-student-mcp est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient io.github.AnonymousOnyx22/stem-calc-student-mcp ?
Il est publié par AnonymousOnyx22. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.