mcpField
S
stem-calc-student-mcp

stem-calc-student-mcp

ローカル
brightspacemcp.com科学・教育01 日前に更新

stem-calc-student-mcp について

化学や物理の課題向けのオープンソース MCP サーバーで、コードによる再現可能な計算を行います。オフラインで動作し、対応できない計算や元素記号は推測せずエラーとして示します。

主な機能

  1. 01化学式のモル質量を計算
  2. 02化学反応式を係数で平衡化
  3. 03グラム、モル、粒子数を換算
  4. 04長さ、質量、時間などの単位を変換
  5. 05有効数字に合わせて丸め

活用シーン

  1. 01化合物のモル質量を計算
  2. 02反応式の係数を確認
  3. 03グラム、モル、粒子数を相互換算
  4. 04単位変換後に有効数字で丸める

MCP 対応

MCP サーバーとして、モル質量、反応式の平衡化、化学量論、単位変換、有効数字の丸めを行う5つの読み取り専用ツールを提供します。計算はネット接続なしでローカルに実行されます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"anonymousonyx22-stem-calc-student": {
"command": "npx",
"args": [
"-y",
"stem-calc-student-mcp"
]
}
}
}
起動コマンドnpx -y stem-calc-student-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmstem-calc-student-mcp0.1.0

ツール

5

掲載時のツール一覧 · 1 日前に更新

パラメーター型必須説明
formulastringはいH2O、Ca(OH)2、CuSO4.5H2O などの化学式。各元素記号の最初の文字は大文字にしてください。

詳細

STEM Calc MCP

npm downloads license

STEM Calc MCP は、化学と物理の宿題向けの無料のオープンソースMCPサーバーです。npm では stem-calc-student-mcp として公開されています。モル質量の計算、化学反応式の係数合わせ、グラム・モル・粒子数間の換算、単位換算、有効数字の桁数に合わせた数値の丸めを行います。計算にはテスト済みのコードを使うため、モデルの推測ではなく、常に同じ答えが得られます。

Claude Desktop、Claude Code、Cursor、VS Code、Windsurf、およびローカル MCP サーバーを実行できるほかのアプリで使用できます。コンピューター上で動作し、インターネット接続、アカウント、API キーは不要です。

次のプロンプトを試してみましょう

  1. 「硫酸銅五水和物、CuSO4.5H2O のモル質量は?」
  2. 「次の反応式の係数を合わせてください:C3H8 + O2 -> CO2 + H2O」
  3. 「水 36 グラムは何モルですか?」
  4. 「2.5 キロメートルをフィートに換算して、有効数字 3 桁に丸めてください。」

インストール

Node.js 20 以降が必要です。それ以外にインストールするものはありません。

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

claude_desktop_config.json に次の内容を追加し、アプリを再起動してください。

{
  "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

Claude Desktop と同じブロックを .cursor/mcp.json に追加してください。

VS Code

VS Code では mcpServers ではなく servers キーを使います。次の内容を .vscode/mcp.json に追加してください。

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

ツール

5 つのツールはすべて読み取り専用です。答えを計算するだけで、コンピューター上のものを変更することはありません。

ツール機能入力プロンプトの例
molar_mass化学式のモル質量を g/mol 単位で計算し、各元素が加える質量も示しますformula。例:H2O、Ca(OH)2、CuSO4.5H2O「Ca(OH)2 のモル質量は?」
balance_equation化学反応式の係数を合わせますequation。例:H2 + O2 -> H2O「C3H8 + O2 -> CO2 + H2O の係数を合わせてください。」
stoichiometryグラム・モル・粒子数間で換算しますvalue、from、to(grams、moles、particles のいずれか)、およびグラム換算に必要な formula「水 36 グラムは何モルですか?」
convert_units値をある単位から別の単位に換算しますvalue、from、to「2.5 km をフィートに換算してください。」
round_sig_figs数値を指定した有効数字の桁数に丸めますvalue、sigFigs「123456 を有効数字 3 桁に丸めてください。」

各ツールは、テキストと並べてフィールド形式でも答えを返します。そのため、JSON を読み取るアプリは、文章から数値を抜き出さずに取得できます。

対応している内容

  • 化学式。 各元素記号の先頭は大文字で記述してください。丸括弧と角括弧に対応しているため、Fe2(SO4)3 や K3[Fe(CN)6] を使えます。また、CuSO4.5H2O のようにドットで表す水和物にも対応しています。水素からウランまで、よく使われる 56 種類の元素に対応しています。未対応の元素記号には推測で答えず、明確なエラーを返します。
  • 単位。 長さ:m、km、cm、mm、in、ft。質量:g、kg、mg、lb。時間:s、min、h。体積:L、mL、m^3。エネルギー:J、kJ、cal、kcal。温度:K、C、F。種類の異なる単位への換算は行わないため、メートルから秒への換算はエラーになります。
  • 対応していない内容。 限定試薬の特定、電荷や同位体の扱い、解がない反応式の係数合わせには対応していません。答えられない場合は、その旨を伝えます。

Node のバージョン

ここには 2 つの基準があり、それぞれ異なるバージョンです。

作業内容Node.js
公開済みサーバーの実行20 以降
クローンのビルドとテスト22 系および 24 系では 22.12 以降、または 26 以降

サーバー自体は Node.js 20 で問題なく動作します。これは package.json の engines に記載されています。テストランナーにはより新しい Node.js が必要なため、開発時の基準は同じファイルの devEngines に記載されています。npm はインストール、実行、テストの前に devEngines を確認するため、Node.js 20 でクローンを実行すると、テストスイートの途中で原因不明のエラーが発生するのではなく、明確なメッセージが表示されて停止します。23 系と 25 系は、テストランナーが対応していないため、意図的に対象外としています。

両方のバージョンは package.json に記載されており、tests/node-version.test.ts のテストによって、README およびテストランナーが要求する範囲との整合性が保たれています。

開発

npm install
npm run build
npm test

テストでは、ツールが使用するものと同じ関数を呼び出し、README、llms.txt、glama.json、パッケージファイルと、src/tools.ts のツールとの整合性を確認します。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。