ParticlePhysics MCP Server
입자 물리학 MCP 서버
Claude Desktop, IDE 및 기타 MCP 클라이언트가 입자 속성과 붕괴 모드를 조회할 수 있게 해주는 모델 컨텍스트 프로토콜(Model Context Protocol) 서버입니다.
자연어 쿼리(muon plus, pion zero, antiproton, anti up quark), 대소문자 구분 없는 조회, MC ID(-13)를 지원하며, 사람이 읽을 수 있는 텍스트와 구조화된 JSON 페이로드를 모두 반환합니다.
목차
Related MCP server: Physics MCP Server
기능
search_particle— 질량(MeV + GeV), 전하, 스핀, 색상, 패리티 / C / I / G, 수명 또는 폭, MCID, 리뷰 IDlist_decays— 소스 메서드 이름이 포함된 배타적/포괄적 분기 분율(branching fractions)자연어 입력 —
muon plus,positive tau,pion zero,kaon minus반입자 지원 —
antimuon,anti up quark,ubar,u bar,u_bar,u~,antineutron; MCID 부정(negation)을 통해 해결하며 이름 추측을 하지 않음MC ID 조회 —
11,-2212등으로 직접 쿼리자기 공액(Self-conjugate) 인식 —
anti photon은gamma로,anti pi0는pi0로 해결구조화된 출력 — 모든 응답에는 사람이 읽을 수 있는 텍스트와 함께
```json블록이 포함됨
설치
git clone https://github.com/uzerone/particlephysics-mcp-server.git
cd particlephysics-mcp-server
pip install -e .MCP 클라이언트 구성
클라이언트의 MCP 구성(예: claude_desktop_config.json)에 다음 중 하나를 추가하세요.
복제된 저장소에서 uvx 사용 (전역 설치 불필요):
{
"mcpServers": {
"particlephysics": {
"command": "uvx",
"args": ["--from", "/absolute/path/to/particlephysics-mcp-server",
"python", "-m", "particlephysics_mcp_server"]
}
}
}로컬 virtualenv 사용 (pip install -e . 실행 후):
{
"mcpServers": {
"particlephysics": {
"command": "/absolute/path/to/.venv/bin/python",
"args": ["-m", "particlephysics_mcp_server"]
}
}
}도구
search_particle
입력 | 예시 |
표준 이름 |
|
영어 별칭 |
|
반입자 |
|
자연어 전하 |
|
MC ID |
|
샘플 호출: search_particle({"query": "muon plus"})
Found 1 particle(s) matching 'muon plus':
1. mu
Name: mu+
PDG ID: -13
PDG Review ID: S004/2025
Mass: 105.6583755 MeV (0.1056583755 GeV)
Spin (J): 1/2
Charge: 1
Color: singlet
Quantum numbers: J=1/2
Lifetime: 2.196981148893498e-06
```json
{
"query": "muon plus",
"count": 1,
"particles": [{
"name": "mu+",
"mcid": -13,
"pdg_review_id": "S004/2025",
"mass": {"mev": 105.6583755, "gev": 0.1056583755},
"charge": {"value": 1.0, "fraction": "1"},
"spin": "1/2",
"color": {"multiplicity": 1, "label": "singlet"},
"quantum_numbers": {"J": "1/2"},
"lifetime": {"seconds": 2.197e-06, "stable": false, "text": "..."}
}]
}
```list_decays
search_particle과 동일한 식별자 형식을 사용합니다. exclusive_branching_fractions → branching_fractions → inclusive_branching_fractions 순으로 시도하며 사용된 소스를 보고합니다. 안정적인 입자의 경우 stable=true와 함께 빈 붕괴 목록을 반환합니다.
샘플 호출: list_decays({"particle_id": "tau"})
Decay modes for particle 'tau':
1. tau- --> mu- nubar_mu nu_tau (BR: 17.39 ± 0.04 %)
2. tau- --> e- nubar_e nu_tau (BR: 17.82 ± 0.04 %)
…
```json
{
"particle": {"name": "tau-", "mcid": 15, ...},
"source": "exclusive_branching_fractions",
"count": 137,
"decays": [{
"description": "tau- --> mu- nubar_mu nu_tau",
"branching_ratio_text": "17.39 ± 0.04",
"value_text": "17.39E-2",
"is_limit": false
}, ...]
}
```Claude 스킬
Claude Code 스킬 사양은 .github/skills/particlephysics-skill/SKILL.md에 있습니다. 이 스킬은 검사기를 실행하고, 두 도구를 모두 검증하며, 자연어 / 반입자 / MC ID 쿼리 표면을 테스트합니다.
트리거 문구: particle physics mcp 또는 pp.
변경 로그
릴리스 노트는 CHANGELOG.md를 참조하세요.
관리자
라이선스
MIT — LICENSE.txt를 참조하세요.
Available Tools
2 toolslist_decaysB
List decay modes for a specific particle
| Name | Required | Description | Default |
|---|---|---|---|
| particle_id | Yes | Particle identifier (PDG ID or name) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action but doesn't describe traits like whether this is a read-only operation, potential rate limits, error handling for invalid particles, or the format of the returned decay modes. This leaves significant gaps for a tool that likely queries a dataset.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter with full schema coverage and no output schema, the description is minimally adequate but lacks context about behavioral aspects and usage guidelines. For a simple query tool, it's passable, but the absence of annotations and output details means it doesn't fully equip the agent for optimal use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the parameter 'particle_id' documented as 'Particle identifier (PDG ID or name)'. The description adds no additional meaning beyond this, such as examples or constraints, so it meets the baseline of 3 where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and the resource 'decay modes for a specific particle', making the purpose immediately understandable. However, it doesn't explicitly differentiate from the sibling tool 'search_particle', which might also involve particle-related queries, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the sibling 'search_particle' or any other alternatives. It lacks context about prerequisites, such as whether the particle must exist in a database, or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_particleC
Search for particles by name or properties in the PDG database
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (particle name, symbol, or property) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool searches a database, implying a read-only operation, but doesn't disclose behavioral traits like authentication needs, rate limits, result format, pagination, or error handling. This leaves significant gaps for a database query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a search tool. It lacks details on behavioral aspects (e.g., result format, limits) and doesn't compensate for the absence of structured data, leaving the agent with insufficient context for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'query' parameter documented as 'Search query (particle name, symbol, or property)'. The description adds minimal value beyond this, only reiterating 'by name or properties'. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search for particles') and resource ('in the PDG database'), with specificity about search criteria ('by name or properties'). It doesn't explicitly differentiate from the sibling tool 'list_decays', which appears to be a different operation, but the purpose is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives or in what context. It mentions searching 'in the PDG database', but doesn't specify prerequisites, limitations, or how it relates to the sibling tool 'list_decays'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
list_decays - First observed
search_particle
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one lists decay modes for a specific particle, while the other searches for particles in a database. There is no overlap in functionality, making it easy for an agent to choose the correct tool based on the task.
Both tools follow a consistent verb_noun naming pattern (list_decays and search_particle), using snake_case throughout. This predictability aids in understanding and usage without any deviations.
With only 2 tools, the server feels thin for a particle physics domain, which typically involves complex queries, simulations, or analyses. This limited set may not support comprehensive agent workflows, suggesting an under-scoped implementation.
The toolset is severely incomplete for particle physics, lacking essential operations like retrieving particle properties, calculating cross-sections, or simulating interactions. Agents will face significant gaps, as basic CRUD or lifecycle coverage is missing.
Maintenance
Related MCP Connectors
Real-time web search, reasoning, and research through Perplexity's API
Integrates Wolfram Language and Wolfram|Alpha accessing curated data and sophisticated algorithms.
Real-time web and scholarly search with cited answers and multi-step deep research.
Search 8.5M scientific papers with LLM TLDRs, citations, linked entities, figures, and full text.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables users to query Wolfram Alpha's computational knowledge engine through natural language. Provides access to mathematical computations, scientific data, and factual information via the Wolfram Alpha API.-
- AlicenseNot gradedqualityDmaintenanceEnables physicists to perform computer algebra calculations, create scientific plots, solve differential equations, work with tensor algebra and quantum mechanics, and parse natural language physics problems. Supports unit conversion, physical constants, and generates comprehensive reports with optional GPU acceleration.10MIT
- FlicenseAqualityDmaintenanceProvides access to Wolfram Alpha's computational knowledge engine for mathematical calculations, scientific computing, data analysis, and factual information through natural language queries.26-
- FlicenseNot gradedqualityDmaintenanceProvides unified natural language access to 40+ astronomical databases and surveys including DESI, SIMBAD, SDSS, and Gaia, enabling researchers to search, retrieve, and analyze astronomical data without learning complex APIs.6-