Token导航 LogoToken导航TokenDH.com
nds MCP logo
数据服务stdio官方级别未说明来源级核验

nds MCP

MCP Server

nds-mcp

nds-mcp是一个基于SQLite的离线核物理数据服务,为AI代理提供原子质量、核属性、电荷半径、能级和伽马跃迁等数据查询功能。

工具数

26

提示词数

0

GitHub Stars

4

资源数

0
数据分析TypeScriptClaudeSQLiteClaudeCursorVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

fkguo

提供方

fkguo

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx -y nds-mcp

详细介绍

nds mcp

核数据服务MCP服务器——为AI代理提供离线SQLite支持的核物理数据。

提供涵盖原子质量(AME2020)、核性质(NUBASE2020)、电荷半径(IAEA+激光光谱学)、能级和伽马跃迁(ENSDF)、轻核共振数据(TUNL,A=3-20)、参考文献、JENDL-5衰变/横截面数据、EXFOR实验数据、CODATA基本常数、更新检查以及发现/查询助手的标准模式工具(nds_catalog, nds_schema, nds_query).

快速开始

npx -y nds-mcp

预构建的SQLite数据库(约85 MB)会自动下载到 ~/.nds-mcp/nds.sqlite 首次发射时。 默认情况下,它从该仓库的GitHub版本下载(通过覆盖 NDS_DB_DOWNLOAD_URL). 发布资产使用单一压缩格式: *.sqlite.gz (下载后自动解压缩)。

可选工具 JENDL-5 / EXFOR 使用单独的SQLite文件,并按需自动下载。 维护者摄取支持还包括 FENDL-3.2cIRDFF-II 可选SQLite文件。 CODATA 捆绑在里面 nds.sqlite.

通过AI代理使用nds-mcp

  1. 注册服务器 在客户端中使用与相同的启动命令 快速开始 (参见 配置 用于Cursor、Claude Code、VS Code、Codex、OpenCode等)。
  2. 在聊天中提问。 代理商根据您的要求选择MCP工具;您不需要手动调用工具。
  3. 发现工作流程: 从...开始 nds_info (数据版本,可选数据库状态)和 nds_catalog (安装了什么以及如何查询)。当一个物理量出现在多个来源中时,工具会返回 来源已标记 默认值;看见 跨源规则.
  4. 下载: 主要的 nds.sqlite 文件在第一次服务器启动时获取(请参阅快速启动)。可选SQLite文件在工具第一次需要时下载(请参见 可选数据库自动下载触发器).
  5. 要求: Node.js 18+ 和那个 sqlite3 命令行界面 你的 PATH服务器通过SQLite命令行工具(不是嵌入式节点绑定)运行查询。

数据库

SQLite文件默认路径下载行为包括
nds.sqlite~/.nds-mcp/nds.sqlite服务器启动时自动下载 *(必填)*AME2020质量+反应Q值;NUBASE2020核性能;电荷半径(IAEA+Li2021激光光谱);ENSDF(水平、伽马、衰变饲料、参考);TUNEL轻核共振/水平数据(A=3-20);CODATA基本常数
jendl5.sqlite *(可选)*~/.nds-mcp/jendl5.sqlite第一次调用JENDL-5工具时自动下载JENDL-五衰变数据+辐射光谱;JENDL-5点截面+ENDF-6插值定律
exfor.sqlite *(可选)*~/.nds-mcp/exfor.sqlite首次调用EXFOR工具时自动下载EXFOR实验数据点(SIG/MACS/…)+每个条目的元数据
fendl32c.sqlite *(可选,维护者摄入)*~/.nds-mcp/fendl32c.sqlite通过以下方式构建 nds-mcp ingest --fendl (状态在中可见 nds_info)FENDL-3.2c评估了传输应用(光原子、中子、质子、氘核)的ENDF-6数据+嵌入的上游zip档案(MF/MT保留的原始ENDF超出了标准化到表格中的范围)
irdff2.sqlite *(可选,维护者摄入)*~/.nds-mcp/irdff2.sqlite通过以下方式构建 nds-mcp ingest --irdff (状态在中可见 nds_info)IRDFF-II评估了ENDF-6剂量测定中子数据+嵌入的上游zip档案(保留了MF/MT的原始ENDF,超出了归一化到表格中的范围)

您始终可以通过设置来携带自己的文件 NDS_DB_PATH / NDS_JENDL5_DB_PATH / NDS_EXFOR_DB_PATH / NDS_FENDL_DB_PATH / NDS_IRDFF_DB_PATH.

术语表(缩略语和行话)

  • 主控程序:模型上下文协议(代理/LLM使用的工具接口)。
  • 国际原子能机构:国际原子能机构(许多上游核数据源和门户)。
  • AME20202020年原子质量评估(原子质量、分离能、Q值)。
  • NUBASE2020:核性质/衰变评估(半衰期、自旋、衰变模式、异构体)。
  • 评价核结构数据库:评估的核结构数据文件(能级、伽马跃迁、衰变馈送)。
  • TUNL:三角大学核实验室(轻核能级/共振表,A=3-20)。
  • 表 5:日本评估核数据库v5(评估核数据)。
  • 远征军:实验核反应数据(实验点+元数据)。
  • FENDL-3.2c:聚变评估核数据库(以运输为重点的评估ENDF-6集)。
  • irdf-II:国际反应堆剂量测定和聚变文件(以剂量测定为重点评估的ENDF-6套)。
  • 国际科技数据委员会:建议的基本常数(科学和技术数据委员会)。
  • ENDF-6: *评估核数据文件* 格式(纯文本评估核数据,组织成部分)。
  • MAT/MF/MT:ENDF部分标识符: 垫子 (材料id), 中场 (“文件编号”,数据类别), MT (反应/数量id)。例子: MF=3 =逐点横截面; MT=1 =总计; MT=2 =弹性; MT=102 =(n,γ)捕获。
  • XS公司:横截面。
  • 二进制大对象:SQLite“二进制大对象”列存储原始字节。为了确保完整性,该项目将一些上游zip存档作为BLOB嵌入; nds_query 从不返回BLOB并禁止选择它们。
  • SIG/MACS:EXFOR数量代码: 特别兴趣小组 =横截面; 雨衣 =麦克斯韦平均横截面。

可选数据库自动下载触发器

  • jendl5.sqlite 呼叫时下载 nds_get_radiation_spectrum, nds_list_available_targets, nds_get_reaction_info, nds_get_cross_section_table,或 nds_interpolate_cross_section.
  • exfor.sqlite 呼叫时下载 nds_search_exfornds_get_exfor_entry.
  • 这些可选的SQLite资产发布在此仓库的GitHub发布页面上(最新发布的资产)。
  • 下载URL可以指向纯 .sqlite 或压缩 .sqlite.gz;服务器在需要时会自动弹出。
  • 对于维护人员来说, jendl5.sqlite 应包括衰变表和XS表(jendl5_xs_meta / jendl5_xs_points / jendl5_xs_interp)在发布上传之前。

安装(可选)

全局安装(允许您使用 command: "nds-mcp" 在配置中):

npm install -g nds-mcp
nds-mcp

来源:

git clone https://github.com/fkguo/nds-mcp.git
cd nds-mcp
pnpm install
pnpm build
node dist/index.js

配置

这是一个 本地stdio MCP服务器.启动选项:

  • npx (无需安装): command: "npx", args: ["-y", "nds-mcp"]
  • 全局安装: command: "nds-mcp", args: []

客户使用 mcpServers (相同的JSON)

克劳德代码(./.mcp.json),光标(./.cursor/mcp.json~/.cursor/mcp.json),克莱恩(cline_mcp_settings.json), Kimi代码命令行界面(~/.kimi/mcp.json),Qwen代码命令行界面(./.qwen/settings.json~/.qwen/settings.json).

{
  "mcpServers": {
    "nds-mcp": {
      "command": "npx",
      "args": ["-y", "nds-mcp"],
      "env": {}
    }
  }
}

VS代码(副本)

VS代码使用 .vscode/mcp.json 和一个 servers 按键:

{
  "servers": {
    "nds-mcp": {
      "command": "npx",
      "args": ["-y", "nds-mcp"]
    }
  }
}

Codex CLI

添加 ~/.codex/config.toml:

[mcp_servers.nds-mcp]
command = "npx"
args = ["-y", "nds-mcp"]

开源代码

添加 opencode.json (项目)或 ~/.config/opencode/opencode.json (全球):

{
  "mcp": {
    "nds-mcp": {
      "type": "local",
      "command": ["npx", "-y", "nds-mcp"],
      "enabled": true,
      "environment": {}
    }
  }
}

樱桃工作室

设置→ MCP 服务器→ 添加服务器:

  • 类型: STDIO
  • 命令: npx
  • 参数: -y nds-mcp

通用标准指令(手动)

npx -y nds-mcp

服务器通过stdin/stdout(MCP协议)进行通信。诊断消息将发送到stderr。

数据源

来源表格内容
AME2020ame_masses, ame_reactions质量过剩、结合能、分离能、Q值
NUBASE2020nubase半衰期、自旋/奇偶性、衰变模式、异构体
国际原子能机构(Angeli&Marinova 2013)charge_radiiRMS电荷半径
李等2021laser_radii, laser_radii_refs每同位素参考的激光光谱电荷半径
ENSDFensdf_levels, ensdf_gammas, ensdf_decay_feedings, ensdf_datasets, ensdf_references核结构:能级、伽马跃迁、衰变馈电
TUNLtunl_levels轻核(A=3-20)能级、共振宽度、同位旋、衰变模式(59种核素,2512个能级)
JENDL-5腐烂 *(可选, jendl5.sqlite)*jendl5_decays, jendl5_decay_modes, jendl5_radiation衰变数据+辐射光谱
JENDL-5-XS *(可选, jendl5.sqlite)*jendl5_xs_meta, jendl5_xs_points, jendl5_xs_interp逐点横截面+ENDF-6插值定律
去角质 *(可选, exfor.sqlite)*exfor_entries, exfor_points实验数据点(SIG/MACS/…)
2022年结束codata_constants, codata_meta基本常数(值/不确定性/单位、精确/截断标志)

质量、阈值和近阈值共振(重要)

  • nds_get_mass 回报 AME原子质量 (中性原子;包括电子)。这是标准:许多Q值/阈值

计算可以直接用原子质量来完成,因为对于总Z相同的反应,电子质量在很大程度上会相互抵消。

  • 如果你需要 核质量,通过转换 M_nuc = M_atom - Z*m_e + B_e/c^2 (电子结合能 B_e 是否为eV标度

轻核;仅在需要亚keV精度时才包括它们)。

  • 对于 未结合核/宽共振 (例如。 5He, 5Li),单个实数“基态能量/质量”取决于

*共振参数惯例* (S矩阵极点vs本征相位质心vs横截面峰值)。将AME质量与液位混合 来自ENSDF/TUNL/评估的能量可以产生O(10-100keV)偏移,甚至“阈值高于阈值vs阈值低于阈值”的符号翻转。 在对此类系统进行阈值比较时,使用单一的自洽评估/约定。

工具

工具说明
nds_info数据库元数据:数据版本、核素计数、文件哈希、可选数据库状态和构建/源元数据
nds_catalog目录安装的库和查询入口点(存在什么、在哪里查询以及使用哪些工具)
nds_schema检查已安装库的SQLite模式(表/列/外键;索引可选)
nds_query安全的结构化表查询生成器(过滤/排序/分页;无原始SQL)。强制BLOB排除+ *_points 护栏
nds_list_raw_archives列出FENDL/IRDFF的嵌入式上游ENDF-6 zip存档元数据(从不返回BLOB有效载荷)
nds_check_update检查npm注册表以获取更新 nds-mcp 版本(只读;未执行更新)
nds_find_nuclide按元素、Z和/或A查找核素(NUBASE2020)
nds_get_mass原子质量数据:质量过剩、结合能/A、原子质量(AME2020)
nds_get_separation_energy核子分离能:Sn、Sp、S2n、S2p(AME2020)
nds_get_q_value反应Q值:Qa、Q2bm、Qep、Qbn等。(AME2020)
nds_get_decay衰变信息:半衰期、自旋/奇偶性、衰变模式(NUBASE2020)
nds_get_charge_radius核电荷半径与交叉源比较(`mode=bestallcompare`)
nds_search按性质范围(半衰期、质量过剩)搜索核素
nds_query_levelsENSDF+TUNL的核能水平(A≤20时自动合并 source 鉴别器)
nds_query_gammasENSDF的伽马射线跃迁
nds_query_decay_feedingsENSDF的β/EC衰变馈送模式
nds_lookup_referenceENSDF/NSR参考书目
nds_get_radiation_spectrumJENDL-5衰变辐射光谱(离散线+连续总结)
nds_list_available_targets列出给定Z/弹丸的可用JENDL-5 XS目标(A/状态)
nds_get_reaction_info列出一个目标的可用JENDL-5反应通道(mt/反应/e-range/点数)
nds_get_cross_section_tableJENDL-5横截面表(`mode=rawsampled`)
nds_interpolate_cross_section单入射能量下的ENDF-6 NBT/INT插值
nds_search_exfor搜索EXFOR数据点(支持 `quantity=SIGMACS...`)
nds_get_exfor_entry通过以下方式加载完整的EXFOR入口有效载荷 entry_id
nds_get_constant按名称获取一个CODATA基本常数
nds_list_constants列出带过滤器和分页的CODATA常量

通用查询(模式+结构化查询)

使用 nds_schema 要查找表/列,请执行以下操作 nds_query 安全地查询它们。

安全规则由以下人员执行 nds_query:

  • BLOB列永远不会返回,也不能显式选择(例如原始存档 content 字段)。
  • 对于大 *_points 表中,您必须包含一个高选择性相等筛选器:

- where.eq.xs_id (评估的XS表),或 - where.eq.entry_id (EXFOR积分)

  • 对于嵌入式原始存档表,您可以查询元数据列(例如。 rel_path, sha256, size_bytes)但不包括BLOB有效载荷本身。

- 为方便起见,请使用 nds_list_raw_archives 列出原始存档元数据(FENDL/IRDFF),而不处理表名。

跨源规则

对于存在于多个源/数据库中的相同物理可观测值,默认情况下,工具会从每个源返回源标记值。任何 recommended / best value是一个附加字段,不会替换或隐藏其他源值。

示例:电荷半径(新源标记输出)

使用 mode=compare 要获取所有源标记值以及显式的比较摘要:

[
  {
    "Z": 4,
    "A": 10,
    "mode": "compare",
    "source_values": [
      {
        "source_name": "Li et al. laser spectroscopy",
        "value_fm": 2.355,
        "uncertainty_fm": 0.017,
        "unit": "fm"
      },
      {
        "source_name": "IAEA charge radii",
        "value_fm": 2.355,
        "uncertainty_fm": 0.017,
        "unit": "fm"
      }
    ],
    "recommended_source": "Li et al. laser spectroscopy",
    "recommended_r_charge_fm": 2.355,
    "recommended_r_charge_unc_fm": 0.017,
    "max_source_diff_fm": 0
  }
]

这反映了当前的跨源合同:默认情况下返回源标记值,并保留 recommended/best 作为附加字段。

示例:JENDL-5 Pb-208 n,gamma

原始积分表:

{
  "tool": "nds_get_cross_section_table",
  "args": {
    "Z": 82,
    "A": 208,
    "projectile": "n",
    "mt": 102,
    "mode": "raw",
    "limit": 20
  }
}

单能量插值:

{
  "tool": "nds_interpolate_cross_section",
  "args": {
    "Z": 82,
    "A": 208,
    "projectile": "n",
    "mt": 102,
    "energy_eV": 0.0253
  }
}

可选的箝位插值(而不是超出范围的误差):

{
  "tool": "nds_interpolate_cross_section",
  "args": {
    "Z": 82,
    "A": 208,
    "projectile": "n",
    "mt": 102,
    "energy_eV": 1000000000000,
    "on_out_of_range": "clamp"
  }
}

一个目标的反应通道发现:

{
  "tool": "nds_get_reaction_info",
  "args": {
    "Z": 82,
    "A": 208,
    "state": 0,
    "projectile": "n"
  }
}

如有要求 mt/reaction 核素不存在,服务器返回 INVALID_PARAMS 随着 available_mtsavailable_reactions. 如果 Z 存在但已请求 A/state 没有XS行,服务器返回 INVALID_PARAMS 随着 available_targets (而不是通用未找到)。 用于常见的命名混淆(例如Li-6 n,a vs ENDF/JENDL n,t MT=105),错误有效载荷可以包括 suggested_reaction. nds_interpolate_cross_section 默认为 on_out_of_range="error" (当前行为)。随着 on_out_of_range="clamp",响应包括 clamped, requested_energy_eV, effective_energy_eV, tabulated_e_min_eV,以及 tabulated_e_max_eV. 对于 nds_search_exfor INVALID_PARAMS,有效载荷包括结构化指导:参数依赖/互斥规则、可复制的示例调用,以及 available_for_Z 概述(projectiles/quantities/A_values)如果可用。 横截面响应包括显式上下文字段: energy_unit="eV", cross_section_unit="b", jendl5_xs_version. 横截面响应还包括 mt (ENDF MT编号)和人类意义 reaction 标签+ reaction_description 因此用户/代理不需要记住MT代码。

环境变量

变量默认值描述
NDS_TOOL_MODEstandard工具暴露: standard (默认)或 full. full 额外暴露 nds_self_update (npm自我更新;需要显式 confirm 在工具参数中)。更新包后重新启动MCP客户端。
NDS_DB_PATH~/.nds-mcp/nds.sqlite数据库路径。设置为跳过自动下载。
NDS_JENDL5_DB_PATH~/.nds-mcp/jendl5.sqlite可选的JENDL-5数据库路径(如果未设置,则在首次使用时自动下载)。
NDS_JENDL5_DB_DOWNLOAD_URLGitHub发布最新版本覆盖自动下载URL jendl5.sqlite.
NDS_EXFOR_DB_PATH~/.nds-mcp/exfor.sqlite可选的EXFOR数据库路径(如果未设置,则在首次使用时自动下载)。
NDS_EXFOR_DB_DOWNLOAD_URLGitHub发布最新版本覆盖自动下载URL exfor.sqlite.
NDS_FENDL_DB_PATH~/.nds-mcp/fendl32c.sqlite可选FENDL-3.2c DB路径(维护者摄入/状态 nds_info).
NDS_FENDL_DB_DOWNLOAD_URLGitHub发布最新版本覆盖自动下载URL fendl32c.sqlite.
NDS_IRDFF_DB_PATH~/.nds-mcp/irdff2.sqlite可选IRDFF-II数据库路径(维护者摄入/状态 nds_info).
NDS_IRDFF_DB_DOWNLOAD_URLGitHub发布最新版本覆盖自动下载URL irdff2.sqlite.
NDS_DB_DOWNLOAD_URLGitHub发布SQLite文件的最新自定义下载URL。

从源构建数据库

仅限维护者:MCP客户端从不调用这些命令。

RUNBOOK.md (仅限回购)用于完整的SOP和原始输入要求。JENDL-5最低版本:

# Decay sublibrary
scripts/download-jendl5-dec.sh ~/.nds-mcp/raw/jendl5-dec_upd5.tar.gz
pnpm run ingest:jendl5-dec -- --source ~/.nds-mcp/raw/jendl5-dec_upd5.tar.gz --output ~/.nds-mcp/jendl5.sqlite

# Neutron pointwise XS sublibrary (300K, full archive)
scripts/download-jendl5-xs.sh ~/.nds-mcp/raw/jendl5-n-300K.tar.gz
pnpm run ingest:jendl5-xs -- --source ~/.nds-mcp/raw/jendl5-n-300K.tar.gz --output ~/.nds-mcp/jendl5.sqlite

--jendl5-xs 接受tar/tgz/zip存档、提取目录、单个ENDF文本文件(.dat / .endf / .txt,包括 .gz),以及json/jsonl源代码。 Zip提取使用系统 unzip;在运行摄取作业的主机上安装它。

释放可选数据库的上传流:

scripts/check-db.sh --only main,jendl5
scripts/release-phase2-dbs.sh --tag  --repo fkguo/nds-mcp --jendl5 ~/.nds-mcp/jendl5.sqlite

规则:首先构建sqlite,在本地验证,然后上传发布资产。

许可证

麻省理工学院

目录标签

目录标签

数据分析TypeScriptClaudeSQLite核物理本地部署数据查询AI工具

支持客户端

ClaudeCursorVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

nds-mcp

工具数量(toolCount,工具数)

26

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP