mcpField
X
xraylib-mcp-server

xraylib-mcp-server

ローカル
github.com/tschoonj科学・教育328 週間前に更新

xraylib-mcp-server について

xraylib-mcp-serverは、xraylibのX線相互作用データをMCP経由で研究者や科学アプリケーションに提供します。104のツールで、原子・化合物の特性、断面積、蛍光、散乱、参照データを扱います。

主な機能

  1. 01原子と化合物の特性を検索
  2. 02断面積と蛍光データの取得
  3. 03散乱と屈折率の値を計算
  4. 04NIST化合物と放射性核種データへのアクセス
  5. 05元素記号の変換と化学式の解析

活用シーン

  1. 01X線エネルギーや吸収端を調べる
  2. 02散乱または蛍光特性を分析する
  3. 03化合物や放射性核種のデータを取得する

MCP 対応

104のツールを公開し、MCPクライアントから断面積、蛍光線、吸収端エネルギー、化合物・放射性核種の記録などxraylibのデータを検索できます。stdio、HTTP、SSEトランスポートに対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"tschoonj-xraylib": {
"command": "uvx",
"args": [
"xraylib-mcp-server"
]
}
}
}
起動コマンドuvx xraylib-mcp-server

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

パッケージ
pypixraylib-mcp-server0.1.6
ocighcr.io/tschoonj/xraylib-mcp-server:0.1.6

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

xraylib MCP サーバー

CI Docker Image PyPI License: BSD-3-Clause

xraylib のX線相互作用データに標準化されたインターフェースでアクセスできる Model Context Protocol(MCP)サーバーです。MCP 互換クライアントから、断面積、蛍光線、吸収端エネルギーなどをクエリできます。

目次

機能

このサーバーは、以下のカテゴリに分類された104個のツールを提供します。

ユーティリティツール
  • AtomicNumberToSymbol / SymbolToAtomicNumber -- 原子番号と元素記号を相互に変換します
  • AtomicWeight -- 原子量(g/mol)
  • ElementDensity -- 元素の密度(g/cm3)
  • ElectronConfig -- 指定した殻の電子配置
  • CompoundParser -- 化学式を解析します(例:SiO2、Ca5(PO4)3F)
  • Atomic_Factors -- 原子散乱因子 f0、f'、f''
線、吸収端、殻の特性
  • LineEnergy / EdgeEnergy -- 蛍光線と吸収端のエネルギー(keV)
  • FluorYield / JumpFactor / RadRate -- 蛍光収率、ジャンプ係数、放射遷移率
  • AtomicLevelWidth -- 原子準位の自然幅(keV)
断面積(元素)
  • CS_Total、CS_Photo、CS_Rayl、CS_Compt、CS_Energy、CS_KN -- 質量断面積(cm2/g)
  • CSb_Total、CSb_Photo、CSb_Rayl、CSb_Compt -- 原子断面積(barn/atom)
蛍光断面積
  • CS_FluorLine / CSb_FluorLine -- 線蛍光断面積
  • CS_FluorShell / CSb_FluorShell -- 殻蛍光断面積
  • 全、放射、非放射、およびカスケードなしのオプションを備えた Kissel 光電離バリアント
微分断面積
  • DCS_Rayl / DCS_Compt および barn/atom バリアント -- 非偏光微分断面積
  • DCSP_Rayl / DCSP_Compt および barn/atom バリアント -- 偏光微分断面積
散乱因子
  • FF_Rayl / SF_Compt -- Rayleigh 形状因子と Compton 散乱関数
  • MomentTransf / ComptonEnergy -- 運動量移行と Compton 散乱後の光子エネルギー
  • Fi / Fii -- 異常散乱因子
  • ComptonProfile / ComptonProfile_Partial -- Compton プロファイル(全殻および殻ごと)
Auger および Coster-Kronig 遷移
  • AugerRate / AugerYield -- Auger 遷移率および収率
  • CosKronTransProb -- Coster-Kronig 遷移確率
化合物の断面積
  • 化合物のすべての CS/CSb、DCS/DCSb、DCSP/DCSPb バリアント(化学式で指定)
  • 化合物の Kissel 光電離バリアント
屈折率
  • Refractive_Index_Re / Refractive_Index_Im -- 屈折率の実部と虚部
NIST 化合物
  • GetCompoundDataNISTByName / GetCompoundDataNISTByIndex / GetCompoundDataNISTList -- 組み込みの NIST 化合物データベースにアクセスします
放射性核種データ
  • GetRadioNuclideDataByName / GetRadioNuclideDataByIndex / GetRadioNuclideDataList -- 組み込みの放射性核種データベース(X 線線、強度、ガンマ線エネルギー)にアクセスします
定数一覧
  • ListLineConstants / ListShellConstants / ListTransitionConstants / ListAugerConstants / ListNISTCompoundConstants -- 有効な定数名を列挙します

インストール

uv を使用する(推奨)
uv tool install xraylib-mcp-server
pip を使用する
pip install xraylib-mcp-server

使用方法

スタンドアロンサーバーとして
# Run with stdio transport (for Claude Desktop, etc.)
xraylib-mcp-server

# Run with HTTP transport
xraylib-mcp-server --transport http --port 8000

# Run with SSE transport
xraylib-mcp-server --transport sse --port 8000
Claude Desktop で使用する

Claude Desktop の設定に追加します。

{
  "mcpServers": {
    "xraylib": {
      "command": "uvx",
      "args": ["xraylib-mcp-server"]
    }
  }
}

または、ビルド済みの Docker イメージを使用します。

{
  "mcpServers": {
    "xraylib": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/tschoonj/xraylib-mcp-server:latest"]
    }
  }
}
VS Code で使用する

VS Code の設定(.vscode/settings.json またはユーザー設定)に追加します。

{
  "mcp.servers": {
    "xraylib": {
      "command": "uvx",
      "args": ["xraylib-mcp-server"]
    }
  }
}

または、ビルド済みの Docker イメージを使用します。

{
  "mcp.servers": {
    "xraylib": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/tschoonj/xraylib-mcp-server:latest"]
    }
  }
}
Claude Code で使用する

CLI を使用してサーバーを追加します。

claude mcp add xraylib -- uvx xraylib-mcp-server

または、ビルド済みの Docker イメージを使用します。

claude mcp add xraylib -- docker run -i --rm ghcr.io/tschoonj/xraylib-mcp-server:latest
開発サーバーとして
# Run in development mode with MCP inspector
uv run mcp dev src/xraylib_mcp_server/server.py
Docker を使用する
GitHub Container Registry のビルド済みイメージ
# Pull the latest image
docker pull ghcr.io/tschoonj/xraylib-mcp-server:latest

# Run with stdio transport
docker run -i --rm ghcr.io/tschoonj/xraylib-mcp-server:latest

# Run with HTTP transport on port 8000
docker run --rm -p 8000:8000 ghcr.io/tschoonj/xraylib-mcp-server:latest xraylib-mcp-server --transport http --port 8000

# Use a specific version
docker pull ghcr.io/tschoonj/xraylib-mcp-server:0.1.0
docker run -i --rm ghcr.io/tschoonj/xraylib-mcp-server:0.1.0
Docker を使用したローカル開発
# Build the Docker image locally
docker build -t xraylib-mcp-server .

# Run with stdio transport
docker run -i --rm xraylib-mcp-server

# Run with HTTP transport on port 8000
docker run --rm -p 8000:8000 xraylib-mcp-server xraylib-mcp-server --transport http --port 8000

開発

セットアップ
# Clone the repository
git clone https://github.com/tschoonj/xraylib-mcp-server.git
cd xraylib-mcp-server

# Install development dependencies
uv sync --dev
テストの実行
# Run all tests
uv run pytest

# Run with coverage
uv run pytest --cov=src/xraylib_mcp_server --cov-report=html
コード品質
# Lint
uv run ruff check .

# Format
uv run ruff format .

# Type check
uv run mypy src/ --ignore-missing-imports

ライセンス

BSD 3-Clause License -- 詳細は LICENSE を参照してください。

コントリビューション

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. 新機能のテストを追加します
  5. テストスイートを実行します
  6. プルリクエストを送信します

コメント

MCP は初めてですか?

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

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