mcpField
T
tooluniverse-inorganic-physical-chemistry

tooluniverse-inorganic-physical-chemistry

github.com/mims-harvardその他1.8k257 回インストール3 日前に更新
リポジトリ

tooluniverse-inorganic-physical-chemistry について

化学の調査や質問対応向けの ToolUniverse 無機・物理化学スキルです。結晶構造の検証と検索、平衡計算、幅広い化学問題の推論指針をまとめています。

主な機能

  1. 01結晶格子の計算と検証
  2. 02COD 実験構造の検索
  3. 03溶解度と平衡の計算
  4. 04結合と対称性の分析指針
  5. 05分光学・熱力学の計算方法

活用シーン

  1. 01与えられた格子と密度データの検証
  2. 02登録構造と文献情報の検索
  3. 03共通イオンや錯体を含む溶解度の計算
  4. 04分子対称性と光学活性の分析

MCP 対応

CrystalStructure_validate や EquilibriumSolver_calculate などの MCP/SDK ツールを挙げ、結晶構造や化学データの検索にも利用できると説明しています。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-inorganic-physical-chemistry

インストール後、Claude Code で/tooluniverse-inorganic-physical-chemistryを入力して読み込まれたか確認します。

同梱ファイルscripts/equilibrium_solver.py

詳細

無機化学・物理化学

推論戦略

1. 結晶構造に関する質問

結晶構造のデータが与えられた場合、推測せず必ず計算してください。

  1. 結晶系ごとに単位胞の体積を計算します。

    • 立方晶系:V = a^3
    • 正方晶系:V = a^2 * c
    • 斜方晶系:V = a * b * c
    • 単斜晶系:V = a * b * c * sin(beta)
    • 三斜晶系:V = abc * sqrt(1 - cos^2(alpha) - cos^2(beta) - cos^2(gamma) + 2*cos(alpha)*cos(beta)*cos(gamma))
    • 六方晶系:V = a^2 * c * sqrt(3)/2
  2. 密度を検証します:d = (Z * M) / (V * Na * 1e-24)。ここで、V の単位は ų、M の単位は g/mol、Na = 6.022e23 です。

  3. 推奨:CrystalStructure_validate ツールを使用します(MCP/SDK 経由)。代替手段:python3 skills/tooluniverse-organic-chemistry/scripts/crystal_validator.py --a X --b Y --c Z --alpha A --beta B --gamma G --Z N --MW M --density D

  4. 複数のデータセットを比較する場合(誤ったデータセットを見つける場合):データセットを JSON 配列として保存し、--datasets path/to/datasets.json を使用します。

  5. 実際の実験結晶データが必要な場合(検証対象としてユーザーから与えられた数値ではない場合):以下に記載の Crystallography Open Database(COD)ツールを使用します。CrystalStructure_validate は手元にある数値の内部整合性を検証します。COD は実際に登録された構造を検索します。

実際の結晶構造を検索する(COD)

COD_search_structures と COD_get_structure は、Crystallography Open Database(50 万件以上の実験で決定された構造データベース。無機、有機、鉱物、有機金属を含む)を検索します。化合物名、鉱物名、化学式、元素、または空間群が示されており、与えられた数値から計算するのではなく、実際の単位胞パラメーター、空間群、文献の詳細が必要な場合に使用します。

COD_search_structures({"el1":"Cu","el2":"O","nel":"2","sgNumber":"225","results":5})   # binary Cu-O compounds, FCC space group
COD_search_structures({"mineral":"calcite","results":5})
COD_search_structures({"text":"aspirin","results":5})   # free-text also matches organic/pharmaceutical crystals, not just inorganic
COD_get_structure({"id":"1011240"})   # full detail (a,b,c,alpha,beta,gamma,vol,Z,sg,sgNumber,doi,...) for one COD entry

ライブ環境で検証済みです:COD_search_structures({"el1":"Si","el2":"O","nel":"2","results":10}) は、実際の SiO2 多形のデータを返します(例:COD ID 1000007、a=9.7397、b=8.9174、c=5.2503 Å)。COD_get_structure({"id":"1515581"}) は、実際のアスピリン結晶データを返します(P 1 21/c 1、sgNumber 14、単位胞体積 825.44 ų、温度 123 K)。ワークフロー:まず検索(化学式/元素/鉱物名/テキストで検索)して候補の COD ID を見つけ、次に特定の ID について COD_get_structure を実行し、DOI/ジャーナル/著者を含む完全なレコードを取得します。query/text、spacegroup/sg、max_results/results はそれぞれ別名のペアです。どちらの名前も使用できます。

注意点:検索条件の組み合わせによっては、正当に結果が 0 件になることがあります(ライブ環境で検証済み)。data: []、count: 0 は COD に一致する構造がないことを意味し、クエリが壊れているわけではありません。対象の化合物が COD にないと結論づける前に、フィルターを緩めてみてください(sgNumber を削除する、nel の範囲を広げるなど)。

2. 結合と共有結合性に関する質問

重要な推論パターン:

  • 共有結合性=金属と配位子の間の軌道混成です。重なりが大きいほど、共有結合性が高くなります。
  • ランタノイド/アクチノイド:Ce(IV) の 4f 軌道は通常、Ce(III) よりも共有結合的な混成が強くなります。高酸化状態では 4f 軌道がより収縮し、配位子軌道との重なりが大きくなるためです。
  • ただし:共有結合性が高まっても、必ずしも結合が強くなるわけではありません。特定の軌道相互作用によって異なります。
  • d ブロックと f ブロック:d 軌道は半径方向への広がりが大きいため、f 軌道より強い共有結合を形成します。
  • ネフェロオーセティック効果:錯体中で電子間反発が小さくなる現象で、共有結合性を示します。効果が大きいほど共有結合性が高くなります。
3. 希ガス化学
  • Xe 化合物:XeF2(直線形)、XeF4(正方形平面形)、XeF6(ひずんだ八面体形)
  • XeF4 の合成:高温(400°C)・高圧下で Xe と F2 を反応させる必要があります。特定の方法(UV 光分解、放電)を用いれば、より低い温度でも生成できます。
  • 重要:合成効率には温度のしきい値が重要です。推測せず調べてください。具体的な合成条件は文献を検索してください。
4. 対称性と点群
  1. 分子の形状を特定します
  2. 対称要素を確認します:C_n 軸、鏡映面(σ_h、σ_v、σ_d)、反転中心(i)、不正回転(S_n)
  3. 点群の検索には python3 skills/tooluniverse-organic-chemistry/scripts/chemistry_facts.py point_groups を使用します
  4. 光学活性:不正回転軸(σ = S_1 および i = S_2 を含む S_n)が存在しないことが必要です。キラル点群:C_1、C_n、D_n、T、O、I
  5. 光学活性を持つ結晶族:鏡映面も反転中心も持たない、圧電性の非中心対称結晶族です
5. 熱力学と反応速度論

推定せず、計算してください — 次の計算には Python コードを記述します:

  • ギブズ自由エネルギー:ΔG = ΔH - TΔS
  • 平衡定数:K = exp(-ΔG/RT)
  • アレニウスの式:k = A * exp(-Ea/RT)
  • ネルンストの式:E = E° - (RT/nF) * ln(Q)
  • クラウジウス・クラペイロンの式:ln(P2/P1) = -ΔH_vap/R * (1/T2 - 1/T1)
6. 溶解度と平衡計算

推奨:EquilibriumSolver_calculate ツール(MCP/SDK 経由)で type、ksp、stoich などのパラメーターを指定します。代替手段として、equilibrium_solver.py を直接実行します。

# Simple Ksp: MaXb(s) <-> aM + bX
python3 skills/tooluniverse-inorganic-physical-chemistry/scripts/equilibrium_solver.py \
  --type ksp_simple --ksp 5.3e-27 --stoich 1:3

# Ksp + complex formation (e.g., Al(OH)3 in water with Al(OH)4- complex)
python3 skills/tooluniverse-inorganic-physical-chemistry/scripts/equilibrium_solver.py \
  --type ksp_kf --ksp 5.3e-27 --kf 1.1e33 --stoich 1:3

# Common ion effect (e.g., AgCl in 0.1M NaCl)
python3 skills/tooluniverse-inorganic-physical-chemistry/scripts/equilibrium_solver.py \
  --type common_ion --ksp 1.77e-10 --stoich 1:1 --common-ion 0.1

要点:

  • ksp_kf モードは、電荷収支系全体を数値的に(ニュートン法で)解きます。遊離カチオン、錯陰イオン、OH-/H+ を同時に考慮します
  • MX_b + X- <-> MX_(b+1)- の場合、K_overall = Ksp * Kf です
  • common_ion モードは、過剰なイオン濃度を含む厳密な Ksp の式を、二分法で解きます
  • 塩の化学式に合った --stoich a:b を必ず指定します(例:Al(OH)3 なら 1:3、CaF2 なら 1:2、AgCl なら 1:1)
7. 分光法の解釈
  • UV-Vis:d-d 遷移(弱い、ラポルテ禁制)、LMCT/MLCT(強い)、π→π*(有機化合物)
  • IR:官能基領域(4000-1500 cm⁻¹)、指紋領域(1500-400 cm⁻¹)
  • NMR:化学シフトは電子環境を示します。ピーク数を数えるには、対称性によって等価なプロトンを特定します。
  • ピーク数のカウント:構造を描き、すべての対称操作を特定して、等価な H 原子をグループ化します。参照データには python3 skills/tooluniverse-organic-chemistry/scripts/chemistry_facts.py を使用します。

利用可能なツール

ツール用途
PubChem_get_CID_by_compound_name化合物名から CID を取得
PubChem_get_compound_properties_by_CIDCID による詳細な化合物データの取得
ChEMBL_search_molecules生理活性化合物の検索
PubMed_search_articles合成条件や特性に関する文献の検索
CrystalStructure_validate ツール(または代替手段として crystal_validator.py)結晶構造データの整合性を確認
EquilibriumSolver_calculate ツール(または代替手段として equilibrium_solver.py)Ksp、錯体形成、共通イオン溶解度の計算
COD_search_structures / COD_get_structureCrystallography Open Database から実際に登録された結晶構造(単位格子、空間群、DOI)を検索

検索して確認し、推測しないでください

  • 希ガス化合物の合成条件は方法によって異なるため、回答する前に文献を検索してください
  • 結晶構造のパラメーターは推定せず、計算してください
  • 結合の説明(共有結合かイオン結合か)には、軌道に関する具体的な考慮が必要です。ある系の結果を別の系に一般化しないでください

コメント