ParticlePhysics MCP Server

Fornece acesso contínuo a dados de física de partículas do Particle Data Group (PDG) para assistentes de IA e aplicações.

Documentação

ParticlePhysics MCP Server

Version

Um servidor Model Context Protocol que permite ao Claude Desktop, IDEs e outros clientes MCP consultar propriedades de partículas e modos de decaimento.

Suporta consultas em linguagem natural (muon plus, pion zero, antiproton, anti up quark), busca sem distinção de maiúsculas/minúsculas, IDs MC (-13) e retorna tanto texto legível por humanos quanto um payload JSON estruturado.

Sumário

Recursos

  • search_particle — massa (MeV + GeV), carga, spin, cor, paridade / C / I / G, vida média ou largura, MCID, ID de revisão
  • list_decays — frações de ramificação exclusivas / inclusivas com o método de origem nomeado
  • Entrada em linguagem natural — muon plus, positive tau, pion zero, kaon minus
  • Suporte a antipartículas — antimuon, anti up quark, ubar, u bar, u_bar, u~, antineutron; resolvido via negação de MCID, sem adivinhar nomes
  • Consulta por ID MC — consulte diretamente com 11, -2212, etc.
  • Ciente de autoconjugação — anti photon resolve para gamma, anti pi0 para pi0
  • Saída estruturada — toda resposta inclui um bloco delimitado ```json junto ao texto legível por humanos

Instalação

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

Configure seu cliente MCP

Adicione uma das opções abaixo à configuração MCP do seu cliente (ex.: claude_desktop_config.json).

Usando uvx a partir do repositório clonado (sem necessidade de instalação global):

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

Usando um virtualenv local (após pip install -e .):

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

Ferramentas

search_particle

EntradaExemplo
Nome canônicomu+, pi0, K-, Sigma+, gamma, Lambda, H
Alias em inglêsmuon, pion, higgs, electron, top quark
Antipartículaantimuon, anti up quark, ubar, u bar, u_bar, u~, antiproton
Carga em linguagem naturalmuon plus, positive tau, pion zero, kaon minus
ID MC11 (elétron), -13 (mu+), 2212 (próton)

Exemplo de chamada: 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

Mesmos formatos de identificador que search_particle. Tenta exclusive_branching_fractionsbranching_fractionsinclusive_branching_fractions e informa qual fonte usou. Retorna uma lista de decaimento vazia com stable=true para partículas estáveis.

Exemplo de chamada: 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

Consulte CHANGELOG.md para as notas de versão.

Mantenedor

@uzerone

Licença

MIT — consulte LICENSE.txt.