mcpField
X
xraylib-mcp-server

xraylib-mcp-server

本地服务
github.com/tschoonj科研与教育328 周前更新

关于 xraylib-mcp-server

xraylib-mcp-server 通过 MCP 向研究人员和科学应用开放 xraylib 的 X 射线相互作用数据。其 104 个工具涵盖原子与化合物属性、截面、荧光、散射和参考数据集。

主要功能

  1. 01查询原子和化合物属性
  2. 02获取截面与荧光数据
  3. 03计算散射和折射率数值
  4. 04访问 NIST 化合物与放射性核素数据
  5. 05转换元素符号并解析化学式

适用场景

  1. 01查询 X 射线能量和吸收边
  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

一个模型上下文协议(MCP)服务,通过标准化接口提供对 xraylib X 射线相互作用数据的访问。可通过任何兼容 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 —— 瑞利形状因子和康普顿散射函数
  • MomentTransf / ComptonEnergy —— 动量转移和康普顿散射光子能量
  • Fi / Fii —— 反常散射因子
  • ComptonProfile / ComptonProfile_Partial —— 康普顿轮廓(总轮廓和各壳层轮廓)
俄歇和 Coster-Kronig 跃迁
  • AugerRate / AugerYield —— 俄歇跃迁速率和产额
  • 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 配合使用

使用命令行添加服务:

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. Fork 此仓库
  2. 创建功能分支
  3. 修改代码
  4. 为新功能添加测试
  5. 运行测试套件
  6. 提交拉取请求

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。