关于 xraylib-mcp-server
xraylib-mcp-server 通过 MCP 向研究人员和科学应用开放 xraylib 的 X 射线相互作用数据。其 104 个工具涵盖原子与化合物属性、截面、荧光、散射和参考数据集。
主要功能
- 01查询原子和化合物属性
- 02获取截面与荧光数据
- 03计算散射和折射率数值
- 04访问 NIST 化合物与放射性核素数据
- 05转换元素符号并解析化学式
适用场景
- 01查询 X 射线能量和吸收边
- 02分析散射或荧光特性
- 03获取化合物和放射性核素数据
MCP 相关
提供 104 个工具,供 MCP 客户端查询 xraylib 数据,包括截面、荧光线、吸收边能量以及化合物和放射性核素记录。支持 stdio、HTTP 和 SSE 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
xraylib MCP 服务
一个模型上下文协议(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。
贡献
- Fork 此仓库
- 创建功能分支
- 修改代码
- 为新功能添加测试
- 运行测试套件
- 提交拉取请求
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。