Skip to main content
Glama
uzerone

ParticlePhysics MCP Server

by uzerone

ParticlePhysics MCP Server

Version

A Model Context Protocol server that lets Claude Desktop, IDEs, and other MCP clients look up particle properties and decay modes.

Supports natural-language queries (muon plus, pion zero, antiproton, anti up quark), case-insensitive lookup, MC IDs (-13), and returns both human-readable text and a structured JSON payload.

Table of Contents

Related MCP server: Physics MCP Server

Features

  • search_particle — mass (MeV + GeV), charge, spin, color, parity / C / I / G, lifetime or width, MCID, review ID

  • list_decays — exclusive / inclusive branching fractions with the source method named

  • Natural-language input — muon plus, positive tau, pion zero, kaon minus

  • Anti-particle support — antimuon, anti up quark, ubar, u bar, u_bar, u~, antineutron; resolved via MCID negation, no name guessing

  • MC ID lookup — query directly with 11, -2212, etc.

  • Self-conjugate aware — anti photon resolves to gamma, anti pi0 to pi0

  • Structured output — every response includes a fenced ```json block alongside the human-readable text

Install

git clone https://github.com/uzerone/particlephysics-mcp-server.git
cd particlephysics-mcp-server
pip install -e .

Configure your MCP client

Add one of the following to your client's MCP config (e.g. claude_desktop_config.json).

Using uvx from the cloned repo (no global install needed):

{
  "mcpServers": {
    "particlephysics": {
      "command": "uvx",
      "args": ["--from", "/absolute/path/to/particlephysics-mcp-server",
               "python", "-m", "particlephysics_mcp_server"]
    }
  }
}

Using a local virtualenv (after pip install -e .):

{
  "mcpServers": {
    "particlephysics": {
      "command": "/absolute/path/to/.venv/bin/python",
      "args": ["-m", "particlephysics_mcp_server"]
    }
  }
}

Tools

search_particle

Input

Example

Canonical name

mu+, pi0, K-, Sigma+, gamma, Lambda, H

English alias

muon, pion, higgs, electron, top quark

Anti-particle

antimuon, anti up quark, ubar, u bar, u_bar, u~, antiproton

Natural-language charge

muon plus, positive tau, pion zero, kaon minus

MC ID

11 (electron), -13 (mu+), 2212 (proton)

Sample call: 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

Same identifier formats as search_particle. Tries exclusive_branching_fractionsbranching_fractionsinclusive_branching_fractions and reports which source it used. Returns an empty decay list with stable=true for stable particles.

Sample call: 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
  }, ...]
}
```

Changelog

See CHANGELOG.md for release notes.

Maintainer

@uzerone

License

MIT — see LICENSE.txt.

Available Tools

2 tools
list_decaysB

List decay modes for a specific particle

ParametersJSON Schema
NameRequiredDescriptionDefault
particle_idYesParticle identifier (PDG ID or name)

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query (particle name, symbol, or property)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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. Dates show when Glama detected each change.

  1. 2 tool updates
    • First observedlist_decays
    • First observedsearch_particle

TDQS

B3.1/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    10
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Provides access to Wolfram Alpha's computational knowledge engine for mathematical calculations, scientific computing, data analysis, and factual information through natural language queries.
    2
    6
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides 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
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/uzerone/ParticlePhysics-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server