Pythia MCP
Pythia MCP is a server that wraps the Lilith-2 library, giving AI assistants access to Higgs boson phenomenology tools for constraining beyond-Standard-Model physics from LHC measurements.
Core Analysis
Compute likelihoods (-2 log L) for BSM scenarios using reduced couplings (κ-framework) or signal strengths
Compute SM reference likelihoods and p-values for statistical compatibility
Run 1D/2D parameter scans to profile likelihoods and generate contour plots
Experimental Data Management
Browse built-in ATLAS, CMS, and Tevatron datasets; inspect best-fit values, uncertainties, and correlations
Search and fetch records from HEPData by decay channel, production mode, year, or collaboration
Update the local database with new signal-strength publications; retrieve the latest Higgs data aggregated from HEPData and CERN Open Data
Physics Model Analysis
Analyze Two-Higgs-Doublet Models (Types I, II, Lepton-specific, Flipped) given tan(β) and sin(β−α)
Evaluate Higgs singlet mixing extensions with optional invisible branching ratios
Retrieve SM predictions for cross sections and branching ratios at 7–14 TeV
Convert reduced couplings to signal strengths across all production/decay modes
Validate Lilith XML input format without running a full calculation
CERN Open Data Integration
Search the CERN Open Data portal for Higgs-related datasets and analysis code
Retrieve record metadata and list downloadable files (with optional regex filtering)
Supported Parameters
Couplings: C_V, C_t, C_b, C_c, C_tau, C_mu, C_g, C_γ, C_Zγ
Production modes: ggH, VBF, WH, ZH, ttH, tH, bbH
Decay channels: γγ, ZZ, WW, bb, ττ, μμ, cc, Zγ, gg, invisible
Allows fetching and analyzing particle physics experimental data and records from the HEPData repository using INSPIRE identifiers.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Pythia MCPWhat constraints does LHC data place on a two-Higgs doublet model?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Constrain beyond-Standard-Model physics from LHC Higgs measurements, directly from Claude.
Pythia wraps the Lilith library as an MCP server, giving AI assistants access to 24 particle physics analysis tools.
⚸   ☽   ✦   ☾   ⚸
the oracle speaks for the Higgs; the night-engine does the math
The Oracle & the Night  •  Getting Started  •  Tools  •  Examples  •  Architecture  •  Citations
Lilith Attribution — All physics calculations are performed by Lilith-2, developed by Sabine Kraml and collaborators at LPSC Grenoble. Pythia is an MCP interface layer. Please star the original repo and cite the Lilith papers in any research output.
Overview
The 125 GeV Higgs boson, discovered at CERN in 2012, is the cornerstone of electroweak symmetry breaking. Precision measurements of its couplings to other particles provide one of the most powerful probes for physics beyond the Standard Model (BSM).
Pythia bridges this frontier physics with conversational AI. Instead of manually running Python scripts and parsing XML, you ask Claude:
"What constraints does LHC data place on a Type-II two-Higgs-doublet model with tan(beta) = 2?"
Under the hood, Pythia generates validated XML input, invokes Lilith's likelihood engine against the full ATLAS + CMS dataset, and returns structured results, all through the Model Context Protocol.
⚸  •  ☽  •  ✦  •  ☾  •  ⚸
Related MCP server: axiomatic-mcp
⚸ The Oracle and the Night
Two names sit at the heart of this project, and both were chosen on purpose.
Pythia, here, is not the event generator but the Pythia herself: the priestess of the Oracle at Delphi. She breathed the vapors that rose from the cleft in the rock and gave answers to the questions mortals feared to ask. This server is her modern tripod. You put a question to the Higgs sector in plain language, and the oracle answers from the data.
Lilith ⚸ is the engine beneath the floor. Its authors named it Light Likelihood Fit for the Higgs, and also, knowingly, after the lady of the night from the older stories. Pythia keeps the double meaning. The ⚸ glyph is the Black Moon, Lilith's own sigil: the empty focus of the Moon's orbit, the point you find only by where everything else turns around it. Fitting, for a hunt after new physics in the places the Standard Model leaves dark.
The sigils are a lens for thinking, never evidence. Every number Pythia returns comes from ATLAS and CMS, not from omens. The Higgs, so far, is stubbornly Standard-Model-like, and saying so honestly is the whole point of a likelihood fit.
☾  •  ✦  •  ⚸  •  ✦  •  ☽
Getting Started
Prerequisites
Requirement | Version |
Node.js | >= 18.0 |
Python | >= 3.6 |
NumPy + SciPy | latest |
Install
git clone https://github.com/consigcody94/pythia-mcp.git
cd pythia-mcp
npm install
npm run build
pip install numpy scipyConfigure Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"pythia": {
"command": "node",
"args": ["/path/to/pythia-mcp/dist/index.js"],
"env": {
"LILITH_DIR": "/path/to/pythia-mcp/lilith",
"PYTHON_CMD": "python3"
}
}
}
}Verify
cd lilith
python run_lilith.py userinput/example_couplings.xmlYou should see a -2log(likelihood) value printed to stdout.
Tools
Pythia exposes 24 tools organized into five categories.
Core Analysis
Tool | Description |
| Compute -2 log(L) for any BSM coupling or signal-strength scenario |
| Standard Model reference likelihood |
| P-value for model comparison against SM or best-fit |
| 1D parameter scan with likelihood profile (parallel execution) |
| 2D parameter scan for contour plots (parallel execution) |
Data Management
Tool | Description |
| Browse Lilith's built-in ATLAS/CMS/Tevatron datasets |
| Inspect a specific experimental XML measurement file |
| Query the HEPData repository for new results |
| Download a HEPData record by INSPIRE ID or record number |
| Check HEPData for new signal-strength publications |
| Aggregate latest measurements from HEPData + CERN Open Data |
Data Ingestion
Turn external measurements into the Lilith <expmu> format the engine actually consumes.
Tool | Description |
| Discover Higgs papers via the INSPIRE-HEP API (works when HEPData's own search is blocked) |
| Convert a HEPData record (by id) or a downloaded table JSON into Lilith |
| Parse an existing |
| Build a valid |
Live HEPData access. HEPData's /search/ and table-download endpoints sit behind a Cloudflare bot challenge, so they are not reliably reachable from automated/server requests. Pythia handles this gracefully: discovery falls back to INSPIRE-HEP, and the ingest pipeline accepts a downloaded table JSON (tableJson) so conversion works fully offline. Generated files are written to the user data directory (LILITH_USER_DATA_DIR), never into the bundled Lilith database.
Physics Models
Tool | Description |
| Two-Higgs-Doublet Model (Types I, II, Lepton-specific, Flipped) |
| Higgs singlet extension with mixing angle |
| SM cross sections and branching ratios at 7-14 TeV |
| Convert reduced couplings to signal-strength values |
| Validate Lilith XML input without running the full calculation |
| Library and database version information |
CERN Open Data
Tool | Description |
| Search the CERN Open Data portal |
| Retrieve record metadata by ID |
| List downloadable files for a record |
Examples
Check SM Consistency
"Compute the Standard Model likelihood and tell me if the Higgs data is consistent with the SM."
Test Modified Couplings
"Calculate the likelihood for C_t = 0.9, C_V = 1.1"
{ "mode": "couplings", "Ct": 0.9, "CV": 1.1 }Two-Higgs-Doublet Model
"Analyze a Type-II 2HDM with tan(beta) = 2 and sin(beta - alpha) = 0.99"
{ "type": "II", "tanBeta": 2, "sinBetaMinusAlpha": 0.99 }Parameter Scan
"Scan the C_V–C_F plane from 0.8 to 1.2"
{
"param1": { "name": "CV", "min": 0.8, "max": 1.2, "steps": 50 },
"param2": { "name": "CF", "min": 0.8, "max": 1.2, "steps": 50 }
}Physics Reference
Reduced Couplings (kappa-framework)
The kappa-framework parameterizes deviations from SM Higgs couplings as multiplicative modifiers:
Parameter | Description | SM Value |
C_V | Vector boson coupling (W, Z) | 1.0 |
C_t | Top quark coupling | 1.0 |
C_b | Bottom quark coupling | 1.0 |
C_c | Charm quark coupling | 1.0 |
C_tau | Tau lepton coupling | 1.0 |
C_mu | Muon coupling | 1.0 |
C_g | Effective gluon coupling (loop-induced) | 1.0 |
C_gamma | Effective photon coupling (loop-induced) | 1.0 |
Signal strength: μ = σ_obs / σ_SM. A value of μ = 1 is consistent with the Standard Model.
Supported Production & Decay Modes
Production: ggH, VBF, WH, ZH, ttH, tH, bbH
Decay: γγ, ZZ, WW, bb, ττ, μμ, cc, Zγ, gg, invisible
Architecture
pythia-mcp/
├── src/
│ ├── index.ts # MCP server, request handlers, tool dispatch
│ ├── utils.ts # Validation, XML generation, physics models
│ ├── ingest.ts # Data ingestion: HEPData -> Lilith <expmu>, parser, builder
│ ├── utils.test.ts # Unit tests (116 tests via Vitest)
│ └── ingest.test.ts # Ingestion tests (16 tests; round-trips all 87 real files)
├── lilith/ # Bundled Lilith-2 library
│ ├── run_lilith.py # CLI entry point
│ ├── lilith/ # Core Python package
│ │ ├── main.py # Lilith class — likelihood engine
│ │ └── internal/ # Couplings, BRs, likelihood computation
│ ├── data/ # Experimental database (ATLAS, CMS, Tevatron)
│ └── userinput/ # Example XML input files
├── .github/workflows/ # CI: build (Node 18/20/22) + test
├── package.json
├── tsconfig.json
└── vitest.config.tsSecurity
Input validation — All coupling, mass, and branching-ratio parameters are range-checked before use.
XML injection prevention — All user-supplied values are escaped before embedding in XML.
Path traversal protection — Dataset paths are resolved and verified against a base directory.
ReDoS prevention — User-supplied regex patterns are length-limited and checked for dangerous constructs.
API safety — HTTP requests enforce 30s timeouts, redirect depth limits, and response caching with TTL. Redirects are only followed to an allowlist of physics-data hosts over HTTPS, so an open-redirect upstream cannot be used for SSRF.
XXE prevention — XML submitted to
validate_inputis rejected if it declares a DOCTYPE or ENTITY, since the underlying parser resolves entities.Subprocess limits — Python process output is capped at 1 MB to prevent memory exhaustion.
Development
npm install # Install dependencies
npm run build # Compile TypeScript
npm test # Run unit tests
npm run test:watch # Run tests in watch mode
npm run dev # Run with ts-node (development)Environment Variables
Variable | Default | Description |
|
| Path to Lilith installation |
|
| Python interpreter command |
|
| Where ingested |
Citations
If you use Pythia in research, you must cite the Lilith papers:
@article{Bernon:2015hsa,
author = "Bernon, J\'er\'emy and Dumont, B\'eranger",
title = "{Lilith: a tool for constraining new physics from Higgs measurements}",
journal = "Eur. Phys. J. C",
volume = "75",
pages = "440",
year = "2015",
doi = "10.1140/epjc/s10052-015-3645-9",
eprint = "1502.04138",
archivePrefix = "arXiv"
}
@article{Kraml:2019sis,
author = "Kraml, Sabine and others",
title = "{Lilith-2: improved constraints on new physics from Higgs measurements}",
year = "2019",
eprint = "1908.03952",
archivePrefix = "arXiv"
}⚸ Dedication
For Sabine Kraml (@sabinekraml) and the Lilith team, who built the engine that does all the physics here. A small dedication, in the old tongue:
Nescio num vere Lilith, Sabina, voces, an iocus iste tuus, noctis an umbra redit. Quidquid agis, faveo tibi plaudoque libenter; si iuvet ulla manus, tu modo, diva, voca.
I do not know whether you are truly calling Lilith, Sabine, or whether this is your jest, or whether night's own shadow returns. Whatever you are doing, I favor it and applaud it gladly; if any hand may help, you, illustrious one, need only call. ⚸
Acknowledgments
Sabine Kraml & Lilith Team | LPSC Grenoble — physics engine |
ATLAS & CMS Collaborations | Higgs boson measurements |
HEPData | Durham / CERN — data archive |
Anthropic | Model Context Protocol |
References
Resource | Link |
Lilith-2 source | |
Lilith paper | |
HEPData | |
CERN Open Data | |
LHC Higgs XS WG | |
Model Context Protocol |
License
GNU General Public License v3.0 — Pythia and the bundled Lilith library are both GPL-3.0 licensed.
⚸   ☽   ✦   ☾   ⚸
"The Higgs boson is the key to understanding the origin of mass in the universe." — Peter Higgs
The oracle answers only from the data. Built for open science and particle physics research.
Available Tools
20 toolsanalyze_2hdmC
Analyze Two-Higgs-Doublet Model (2HDM) parameters in terms of Higgs couplings. Supports Type-I, Type-II, Lepton-specific, and Flipped variants.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | 2HDM type: I, II (MSSM-like), L (lepton-specific), F (flipped) | |
| tanBeta | Yes | Ratio of Higgs VEVs (tan β) | |
| sinBetaMinusAlpha | Yes | sin(β - α) alignment parameter | |
| mass | No | Light Higgs mass (default: 125.09 GeV) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions what the tool does but doesn't describe output format, computational characteristics, error handling, or whether this is a read-only analysis versus something that modifies state. For a physics analysis tool with 4 parameters, this is inadequate.
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 perfectly concise - one sentence that efficiently conveys the core functionality and supported variants. Every word earns its place with no redundancy or unnecessary elaboration.
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?
For a physics analysis tool with 4 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the analysis produces (coupling values? constraints? comparisons?), how results are formatted, or what users can expect from invoking this tool. The context demands more completeness.
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?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond what's in the schema - it mentions supported variants which relates to the 'type' parameter but doesn't provide additional context about parameter interactions or interpretation of results.
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 tool's purpose: analyzing Two-Higgs-Doublet Model parameters in terms of Higgs couplings. It specifies the resource (2HDM parameters) and action (analyze), but doesn't explicitly differentiate from siblings like 'analyze_singlet_extension' or 'compute_sm_predictions' beyond mentioning supported variants.
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?
No guidance is provided about when to use this tool versus alternatives. The description mentions supported variants but doesn't explain when to choose this over sibling tools like 'analyze_singlet_extension' for different models or 'compute_sm_predictions' for Standard Model comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_singlet_extensionC
Analyze Higgs singlet extension model with mixing between SM Higgs and singlet.
| Name | Required | Description | Default |
|---|---|---|---|
| mixingAngle | Yes | Mixing angle (radians) | |
| BRinv | No | Invisible branching ratio from singlet decays |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but lacks behavioral details. It doesn't disclose whether this is a read-only or computational operation, potential side effects, performance characteristics, or output format. The description only states what is analyzed, not how it behaves.
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?
Single sentence, zero waste, front-loaded with the core purpose. Every word earns its place without redundancy or unnecessary elaboration.
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?
For a computational physics tool with 2 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the analysis produces, computational requirements, or how results should be interpreted, leaving significant gaps for an AI agent.
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?
Schema description coverage is 100%, so the schema fully documents both parameters. The description doesn't add any parameter-specific information beyond what's in the schema, such as typical value ranges or physical interpretation context. Baseline 3 is appropriate when 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 ('Analyze') and the target ('Higgs singlet extension model'), specifying the analysis focuses on mixing between SM Higgs and singlet. It distinguishes from siblings like 'analyze_2hdm' by specifying the model type, but doesn't explicitly contrast with other analysis tools like 'scan_1d' or 'scan_2d'.
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?
No explicit guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, when not to use it, or compare with siblings like 'analyze_2hdm', 'scan_1d', or 'compute_likelihood', leaving usage context implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_likelihoodB
Compute the Higgs likelihood (-2 log L) for a given set of reduced couplings or signal strengths. This is the primary analysis function that compares theoretical predictions against LHC experimental data.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Analysis mode: 'couplings' for reduced coupling input, 'signalstrengths' for direct mu values | |
| mass | No | Higgs boson mass in GeV (default: 125.09) | |
| CV | No | Reduced coupling to vector bosons (W, Z) | |
| CF | No | Universal reduced coupling to fermions | |
| Ct | No | Reduced coupling to top quark | |
| Cb | No | Reduced coupling to bottom quark | |
| Cc | No | Reduced coupling to charm quark | |
| Ctau | No | Reduced coupling to tau lepton | |
| Cmu | No | Reduced coupling to muon | |
| Cg | No | Reduced coupling to gluons (loop-induced) | |
| Cgamma | No | Reduced coupling to photons (loop-induced) | |
| CZgamma | No | Reduced coupling for Z-gamma (loop-induced) | |
| BRinv | No | Branching ratio to invisible particles (0-1) | |
| BRundet | No | Branching ratio to undetected particles (0-1) | |
| precision | No | QCD precision for loop calculations | |
| signalStrengths | No | Map of 'prod_decay' to mu values (e.g., {'ggH_gammagamma': 1.0}) | |
| expInput | No | Path to experimental input list (default: data/latest.list) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral disclosure. It mentions the tool computes '-2 log L' but doesn't describe output format, error conditions, computational requirements, or data sources beyond 'LHC experimental data'. For a complex scientific computation tool, this is inadequate.
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?
Two sentences efficiently convey the core purpose without redundancy. The first sentence states what the tool does, the second provides context about its role. However, it could be more front-loaded with key behavioral information given the tool's complexity.
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?
For a complex tool with 17 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what '-2 log L' means in practical terms, how results should be interpreted, what experimental data is used, or any limitations/assumptions. The context signals indicate high complexity that isn't addressed.
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?
Schema description coverage is 100%, so the baseline is 3. The description adds marginal value by mentioning 'reduced couplings or signal strengths' which aligns with the mode parameter, but doesn't provide additional semantics beyond what's already documented in the comprehensive schema descriptions.
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 tool's purpose with specific verbs ('compute', 'compare') and resources ('Higgs likelihood', 'theoretical predictions', 'LHC experimental data'). It distinguishes from siblings by focusing on likelihood computation rather than analysis of specific models (e.g., analyze_2hdm) or auxiliary functions like data fetching.
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 implies usage for comparing theoretical predictions against experimental data but doesn't explicitly state when to use this tool versus alternatives like compute_sm_likelihood or convert_to_signal_strength. It mentions the primary analysis function but lacks explicit guidance on tool selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_pvalueC
Compute the p-value for a given model compared to the Standard Model or best-fit point.
| Name | Required | Description | Default |
|---|---|---|---|
| likelihood | Yes | The -2 log L value from compute_likelihood | |
| ndf | Yes | Number of degrees of freedom | |
| reference | No | Reference point for comparison |
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 tool computes p-values but doesn't explain what statistical method is used (e.g., chi-squared distribution), whether it handles edge cases (e.g., invalid likelihood/ndf values), what the output format is, or any error conditions. For a statistical computation tool with zero annotation coverage, this is insufficient.
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 unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly. Every part of the sentence contributes to understanding the core functionality.
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 complexity of statistical computation, lack of annotations, and no output schema, the description is incomplete. It doesn't explain the statistical methodology, output format, error handling, or how it integrates with sibling tools (especially compute_likelihood). For a tool that performs mathematical calculations with multiple parameters, more context is needed for effective 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?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't clarify the relationship between likelihood and ndf, or how reference affects computation). With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate with extra insights.
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 tool's purpose: 'Compute the p-value for a given model compared to the Standard Model or best-fit point.' It specifies the action (compute) and resource (p-value) with context (comparison to SM or best-fit). However, it doesn't explicitly differentiate from sibling tools like compute_likelihood or compute_sm_likelihood, which prevents a perfect 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 alternatives. It mentions the tool computes p-values for model comparisons but doesn't indicate prerequisites (e.g., needing likelihood values from compute_likelihood), when to choose SM vs. bestfit reference, or how it differs from sibling statistical tools. This leaves usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_sm_likelihoodB
Compute the Standard Model likelihood as a reference point. Returns -2 log L for SM couplings (all C = 1).
| Name | Required | Description | Default |
|---|---|---|---|
| expInput | No | Path to experimental input list |
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 tool computes and returns '-2 log L for SM couplings (all C = 1)', which implies a read-only calculation, but doesn't cover critical aspects like performance characteristics, error handling, or whether it's idempotent. For a computational tool with zero annotation coverage, this leaves significant behavioral gaps.
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 extremely concise and front-loaded: two sentences that directly state the purpose and return value with zero wasted words. Every sentence earns its place by providing essential information about what the tool does and what it returns.
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's computational nature, single parameter, and lack of output schema, the description is minimally complete. It explains what's computed and the return format (-2 log L), but doesn't provide context about the significance of the result or how it fits with other tools. With no annotations and no output schema, it should ideally explain more about the computation's scope or limitations.
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 schema description coverage is 100%, with the single parameter 'expInput' documented as 'Path to experimental input list'. The description adds no additional parameter information beyond what the schema provides. According to the rules, with high schema coverage (>80%), the baseline is 3 even with no param info in the description, which applies here.
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 tool's purpose: 'Compute the Standard Model likelihood as a reference point.' It specifies the verb ('compute') and resource ('Standard Model likelihood'), and distinguishes it from siblings like 'compute_likelihood' by specifying it's for SM couplings with C=1. However, it doesn't explicitly differentiate from 'get_sm_predictions' which might be a related sibling.
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. It doesn't mention when to choose this over 'compute_likelihood' (a sibling tool) or other analysis tools like 'analyze_2hdm'. There's no context about prerequisites, timing, or exclusions, leaving the agent without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_to_signal_strengthC
Convert reduced couplings to signal strength values for all production and decay modes.
| Name | Required | Description | Default |
|---|---|---|---|
| mass | No | ||
| CV | No | ||
| CF | No | ||
| Ct | No | ||
| Cb | No | ||
| Ctau | No | ||
| Cg | No | ||
| Cgamma | No | ||
| BRinv | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but lacks behavioral details. It doesn't disclose whether this is a read-only calculation or has side effects, what the output format is (e.g., numerical values, structured data), error handling, or computational constraints (e.g., rate limits for physics simulations). The description only states the conversion action without operational context.
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 front-loads the core action ('convert') and scope. Every word earns its place—'reduced couplings', 'signal strength values', and 'all production and decay modes' are precise physics terms without redundancy. No extraneous details or fluff are present.
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 complexity (9 parameters, physics domain), no annotations, and no output schema, the description is incomplete. It doesn't cover parameter meanings, output format, error conditions, or usage context. For a tool with significant input requirements and no structured support, more explanation is needed to guide effective 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?
Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain what 'mass', 'CV', 'CF', etc., represent (e.g., particle mass, coupling constants), their units, valid ranges, or interdependencies. With 9 undocumented parameters, the description fails to provide essential semantics beyond the schema's bare types.
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 ('convert') and the transformation ('reduced couplings to signal strength values'), specifying the scope ('for all production and decay modes'). It distinguishes from siblings like 'compute_likelihood' or 'scan_1d' by focusing on unit conversion rather than analysis or scanning. However, it doesn't explicitly differentiate from tools like 'get_sm_predictions' which might involve similar physics concepts.
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. It doesn't mention prerequisites (e.g., needing coupling values first), exclusions, or comparisons to siblings like 'compute_sm_likelihood' for related calculations. Usage is implied only by the conversion purpose, with no explicit context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_hepdata_recordB
Fetch detailed data from a specific HEPData record by its INSPIRE ID or record number.
| Name | Required | Description | Default |
|---|---|---|---|
| inspireId | No | INSPIRE HEP ID (e.g., 'ins2666787') | |
| recordId | No | HEPData record number | |
| table | No | Specific table name to fetch | |
| format | No | Output format |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states what the tool does, not behavioral traits like authentication needs, rate limits, error handling, or what 'detailed data' includes. It mentions fetching by specific identifiers but lacks context on permissions or data freshness.
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 front-loads the purpose with no wasted words. It directly communicates the tool's function and key parameters without unnecessary elaboration.
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?
For a tool with 4 parameters, 100% schema coverage, and no output schema, the description is minimally adequate. It clarifies the tool's focus on specific records but lacks details on return values, error cases, or integration with sibling tools, leaving gaps in contextual understanding.
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?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional meaning beyond implying that 'inspireId' and 'recordId' are alternative identifiers, which is somewhat redundant with the schema. 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 ('fetch detailed data') and resource ('specific HEPData record'), specifying it works by INSPIRE ID or record number. It distinguishes from siblings like 'search_hepdata' (which likely searches broadly) by focusing on fetching a specific record, though it doesn't explicitly mention this distinction.
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 implies usage when you have a specific record identifier (INSPIRE ID or record number), but doesn't explicitly state when to use this versus alternatives like 'search_hepdata' or 'get_dataset_info'. No guidance on prerequisites or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cern_opendata_recordA
Retrieve detailed metadata for a specific CERN Open Data record by its record ID.
| Name | Required | Description | Default |
|---|---|---|---|
| recid | Yes | CERN Open Data record ID |
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 retrieves metadata but does not disclose behavioral traits such as whether it's read-only, requires authentication, has rate limits, or what the output format looks like (e.g., JSON structure). This leaves significant gaps for a tool with no annotation coverage.
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 front-loads the core purpose ('Retrieve detailed metadata') without any wasted words. It is appropriately sized for a simple retrieval tool.
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's low complexity (single parameter, no nested objects) and high schema coverage, the description is minimally adequate. However, with no output schema and no annotations, it fails to explain return values or behavioral aspects, leaving the agent with incomplete context for proper 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 schema description coverage is 100%, with the parameter 'recid' fully documented in the schema. The description adds no additional meaning beyond the schema, such as examples or constraints on the record ID format. Baseline 3 is appropriate as the schema handles parameter documentation.
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 specific action ('Retrieve detailed metadata') and resource ('for a specific CERN Open Data record'), distinguishing it from siblings like 'list_cern_opendata_files' (which lists files) and 'search_cern_opendata' (which searches). It precisely identifies the operation as retrieval by record ID.
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 implies usage context by specifying 'by its record ID,' indicating this tool is for fetching a known record rather than searching or listing. However, it does not explicitly state when to use alternatives like 'search_cern_opendata' or 'list_cern_opendata_files,' missing explicit exclusions or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dataset_infoB
Get detailed information about a specific experimental dataset including best-fit values, uncertainties, and correlations.
| Name | Required | Description | Default |
|---|---|---|---|
| datasetPath | Yes | Path to dataset XML file (e.g., 'ATLAS/Run2/36fb-1/HIGG-2016-21_ggH-VBF-VH-ttH_gammagamma_vn_dim4-fitted.xml') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions what information is returned but doesn't disclose behavioral traits such as whether this is a read-only operation, potential rate limits, authentication needs, error conditions, or response format. For a tool with no annotations, this leaves significant gaps in understanding how it behaves.
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 front-loads the purpose and key details. Every word earns its place, with no redundant information or fluff, 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 provides basic purpose and return content but lacks completeness for a tool that likely returns complex data. It doesn't cover behavioral aspects, error handling, or output structure, which are important for an agent to use it correctly in this context.
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?
Schema description coverage is 100%, with the parameter 'datasetPath' fully documented in the schema. The description doesn't add any parameter-specific semantics beyond what the schema provides (e.g., it doesn't explain path formats or constraints further). Baseline 3 is appropriate since the schema handles parameter documentation.
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 'Get' and the resource 'detailed information about a specific experimental dataset', specifying what information is included (best-fit values, uncertainties, and correlations). It distinguishes from siblings like 'list_experimental_data' (which likely lists datasets) and 'fetch_hepdata_record' (which might fetch raw data), but doesn't explicitly name alternatives.
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 implies usage when detailed dataset information is needed, but doesn't explicitly state when to use this tool versus alternatives like 'fetch_hepdata_record' or 'get_latest_higgs_data'. It provides some context by specifying 'experimental dataset', but lacks clear exclusions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latest_higgs_dataC
Fetch the latest Higgs boson measurement data from both HEPData and CERN Open Data portals. Returns recent signal strength measurements, coupling measurements, and analysis results.
| Name | Required | Description | Default |
|---|---|---|---|
| channel | No | Higgs decay channel to search for | |
| collaboration | No | Which collaboration's data to retrieve | |
| since | No | Only return data published after this date (YYYY-MM-DD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but lacks critical behavioral details. It mentions fetching 'latest' data but doesn't define what 'latest' means (e.g., most recent publication, update timestamp). It doesn't disclose rate limits, authentication needs, data freshness guarantees, or potential data volume/format. The description adds minimal context beyond the basic fetch operation.
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 efficiently structured in two sentences: first states the action and sources, second specifies the return content. It's appropriately sized for the tool's complexity, though could potentially be more front-loaded by integrating return details into the first sentence.
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?
For a data-fetching tool with 3 parameters, no annotations, and no output schema, the description is incomplete. It lacks behavioral transparency (rate limits, auth, freshness), doesn't explain the relationship between parameters, and provides no output format details. The description should compensate for missing structured data but doesn't adequately do so.
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?
Schema description coverage is 100%, providing clear parameter documentation. The description adds no parameter-specific semantics beyond what's in the schema (e.g., doesn't explain how 'channel' interacts with 'collaboration', or default behavior when parameters are omitted). Baseline 3 is appropriate since 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 ('Fetch'), resources ('Higgs boson measurement data from both HEPData and CERN Open Data portals'), and output content ('signal strength measurements, coupling measurements, and analysis results'). It distinguishes from siblings like 'fetch_hepdata_record' and 'get_cern_opendata_record' by specifying it fetches from both sources and focuses on latest Higgs data, but doesn't explicitly contrast with 'search_hepdata' or 'search_cern_opendata'.
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 like 'fetch_hepdata_record', 'get_cern_opendata_record', 'search_hepdata', or 'search_cern_opendata'. It mentions fetching from both portals but doesn't clarify if this is for consolidated latest data versus specific searches or individual portal access.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sm_predictionsB
Get Standard Model predictions for Higgs cross sections and branching ratios at specified mass and energy.
| Name | Required | Description | Default |
|---|---|---|---|
| mass | No | Higgs boson mass in GeV | |
| sqrts | No | Center-of-mass energy in TeV |
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 tool's function but does not cover critical aspects like whether it's read-only, requires authentication, has rate limits, or what the output format entails (e.g., numerical values, plots, or errors). This leaves significant gaps in understanding how the tool behaves beyond its basic purpose.
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 front-loads the core purpose without unnecessary details. Every word contributes directly to explaining what the tool does, making it highly concise and well-structured for quick understanding.
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's moderate complexity (2 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the purpose and parameters indirectly via the schema, but lacks details on output behavior, error handling, or integration with sibling tools. This results in a minimal viable description that meets basic needs but leaves room for improvement in contextual richness.
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, clearly documenting both parameters ('mass' and 'sqrts') with units and enum values. The description adds minimal value beyond the schema by mentioning 'specified mass and energy', but does not provide additional context like typical mass ranges or energy implications. With high schema coverage, a baseline score of 3 is appropriate.
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 ('Get') and resource ('Standard Model predictions for Higgs cross sections and branching ratios'), specifying the scientific context. However, it does not explicitly differentiate from sibling tools like 'get_latest_higgs_data' or 'compute_sm_likelihood', which might offer related Higgs data or computations, leaving some ambiguity in tool selection.
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, such as 'get_latest_higgs_data' for experimental data or 'compute_sm_likelihood' for likelihood calculations. It lacks explicit context, prerequisites, or exclusions, relying solely on the implied need for Standard Model predictions at specific parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_version_infoB
Get version information for Lilith library and experimental database.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. It mentions retrieving version information but doesn't specify whether this is a read-only operation, if it requires authentication, what the output format is, or any rate limits. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
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, clear sentence with no wasted words. It front-loads the key action ('Get version information') and specifies the target resources efficiently, making it easy to parse and understand 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's simplicity (0 parameters, no output schema), the description is adequate but minimal. It covers the basic purpose but lacks details on usage context, behavioral traits, or output format, which could be helpful for an AI agent to use it correctly in a broader workflow.
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 tool has 0 parameters, and the input schema has 100% description coverage (though empty). The description doesn't need to add parameter details, so it meets the baseline expectation. A score of 5 would require extra value, such as explaining why no parameters are needed, which is not present here.
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 'Get' and the resource 'version information for Lilith library and experimental database', making the purpose specific and understandable. However, it doesn't explicitly differentiate this tool from its siblings (e.g., 'get_dataset_info' or 'get_latest_higgs_data'), which would require a 5.
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 like 'get_dataset_info' or 'update_database', nor does it mention any prerequisites or context for usage. It only states what the tool does, not when it should be invoked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_cern_opendata_filesB
List files available for download from a specific CERN Open Data record.
| Name | Required | Description | Default |
|---|---|---|---|
| recid | Yes | CERN Open Data record ID | |
| filterPattern | No | Regex pattern to filter file names |
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 of behavioral disclosure. It mentions listing files for download, which implies a read-only operation, but does not address potential behaviors like pagination, rate limits, authentication needs, or error handling. This leaves significant gaps in understanding how the tool behaves beyond its basic function.
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, clear sentence that efficiently conveys the tool's purpose without unnecessary words. It is front-loaded and every part earns its place, making it highly concise and well-structured for quick comprehension.
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's moderate complexity (2 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose but lacks details on behavioral aspects and usage context relative to siblings. Without annotations or output schema, more guidance on what to expect from the tool would improve completeness.
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?
Schema description coverage is 100%, so the schema fully documents the parameters (recid and filterPattern). The description adds no additional semantic details about the parameters, such as examples or constraints beyond what the schema provides. This meets the baseline for high schema coverage but does not enhance parameter understanding.
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 ('List files available for download') and the resource ('from a specific CERN Open Data record'), making the purpose immediately understandable. However, it does not explicitly differentiate from sibling tools like 'get_cern_opendata_record' or 'search_cern_opendata', which might have overlapping functionality, so it falls short of a perfect 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 minimal guidance by specifying the context ('from a specific CERN Open Data record'), but it does not indicate when to use this tool versus alternatives such as 'search_cern_opendata' or 'get_cern_opendata_record'. There are no explicit when/when-not instructions or named alternatives, leaving usage unclear relative to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_experimental_dataB
List available experimental datasets in the Lilith database, organized by experiment and run period.
| Name | Required | Description | Default |
|---|---|---|---|
| experiment | No | Filter by experiment | |
| runPeriod | No | Filter by LHC run period |
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 of behavioral disclosure. It states the tool lists datasets but doesn't describe output format (e.g., list, table, JSON), pagination, rate limits, or authentication requirements. For a tool with no annotations, this leaves significant gaps in understanding how the tool behaves beyond its basic function.
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 front-loads the core purpose ('List available experimental datasets') and adds organizational context ('organized by experiment and run period'). There is no wasted text, and it's appropriately sized for a simple listing tool with two parameters.
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's low complexity (2 parameters, no output schema, no annotations), the description is minimally adequate. It covers the purpose but lacks behavioral details like output format or usage context. Without annotations or output schema, the description should do more to compensate, but it falls short, resulting in a mediocre completeness score.
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?
Schema description coverage is 100%, with both parameters ('experiment' and 'runPeriod') fully documented in the schema, including enums and descriptions. The description adds no additional parameter semantics beyond implying filtering by experiment and run period, which is already covered in the schema. This meets the baseline of 3 for high schema coverage without extra value from the description.
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 resource ('available experimental datasets in the Lilith database'), specifying organization by experiment and run period. It distinguishes from siblings like 'get_dataset_info' or 'search_hepdata' by focusing on listing datasets rather than retrieving detailed info or searching. However, it doesn't explicitly differentiate from 'list_cern_opendata_files', which might overlap in purpose but targets different data sources.
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. It doesn't mention prerequisites, such as needing database access, or compare to siblings like 'get_dataset_info' for detailed metadata or 'search_ern_opendata' for broader searches. The lack of explicit when/when-not statements leaves the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_1dC
Perform a 1D parameter scan and return likelihood profile.
| Name | Required | Description | Default |
|---|---|---|---|
| param | Yes | ||
| fixedParams | No | Fixed parameter values for other couplings |
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 mentions the tool performs a scan and returns a profile, but doesn't describe computational characteristics (e.g., execution time, resource usage), error handling, or what 'likelihood profile' entails structurally. This is inadequate for a tool with mathematical/statistical operations.
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 function without unnecessary words. It's appropriately sized for a straightforward scanning operation.
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?
For a mathematical scanning tool with no annotations, no output schema, and incomplete parameter documentation, the description is insufficient. It doesn't explain what a 'likelihood profile' contains, how results are formatted, or any computational constraints. The context signals indicate significant gaps in documentation.
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?
Schema description coverage is 50% (only 'fixedParams' has a description). The tool description adds no parameter-specific information beyond what's in the schema. It doesn't explain what 'param' object represents or how 'fixedParams' should be structured. Baseline 3 is appropriate given the partial schema coverage.
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 ('Perform a 1D parameter scan') and the outcome ('return likelihood profile'), which distinguishes it from general analysis tools. However, it doesn't explicitly differentiate from its sibling 'scan_2d' beyond the dimensionality implied in the name.
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?
No guidance is provided on when to use this tool versus alternatives like 'scan_2d', 'compute_likelihood', or other analysis tools. The description lacks context about appropriate scenarios or prerequisites for a 1D scan.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_2dC
Perform a 2D parameter scan (e.g., CV-CF plane) and return likelihood values for contour plotting.
| Name | Required | Description | Default |
|---|---|---|---|
| param1 | Yes | ||
| param2 | Yes | ||
| fixedParams | No | Fixed parameter values for other couplings |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers limited behavioral insight. It mentions the tool returns likelihood values but doesn't disclose computational characteristics (e.g., execution time, resource intensity), error handling, or whether it's read-only versus mutative. The example 'CV-CF plane' hints at physics applications but lacks operational details.
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 front-loads the core purpose. It avoids redundancy and wastes no words, though it could be slightly more informative without losing conciseness.
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?
For a tool with 3 parameters, low schema coverage (33%), no annotations, no output schema, and nested objects, the description is insufficient. It doesn't explain the output format (e.g., array structure for contour data), error conditions, or how the scan relates to sibling tools, leaving the agent with significant uncertainty.
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?
Schema description coverage is low at 33%, with only 'param1.name' and 'fixedParams' having descriptions. The description adds minimal value beyond the schema, mentioning 'CV-CF plane' as an example for parameter names but not explaining the semantics of min/max/steps or how 'fixedParams' should be structured. It partially compensates but leaves significant gaps.
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 tool performs a '2D parameter scan' and returns 'likelihood values for contour plotting', which is specific about the action and output. It distinguishes from sibling tools like 'scan_1d' by specifying 2D scanning, but doesn't explicitly differentiate from other likelihood-related tools like 'compute_likelihood'.
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 minimal guidance, only implying usage for contour plotting. It doesn't specify when to use this tool versus alternatives like 'scan_1d' for 1D scans or 'compute_likelihood' for single-point calculations, nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_cern_opendataC
Search the CERN Open Data portal for Higgs-related datasets, analysis code, and documentation.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search query (default: 'Higgs') | |
| experiment | No | Filter by experiment | |
| type | No | Type of record to search for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It mentions the portal scope and content types but doesn't disclose whether this is a read-only operation, how results are returned (e.g., pagination, format), rate limits, authentication needs, or error conditions. For a search tool with zero annotation coverage, this leaves significant gaps.
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 front-loads the core purpose without unnecessary words. Every element ('Search', 'CERN Open Data portal', 'Higgs-related datasets, analysis code, and documentation') contributes directly to understanding the tool's function.
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?
For a search tool with 3 parameters, no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., result format, limitations), usage context relative to siblings, and output expectations. While concise, it doesn't compensate for the missing structured information, leaving the agent with insufficient guidance.
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?
Schema description coverage is 100%, providing full parameter documentation. The description adds marginal value by implying the search focuses on Higgs-related content (which relates to the default 'query' value) and listing content types that map to the 'type' enum. However, it doesn't provide additional context beyond what the schema already specifies, meeting the baseline for high coverage.
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') and target ('CERN Open Data portal') with specific content focus ('Higgs-related datasets, analysis code, and documentation'). It distinguishes from most siblings like 'analyze_2hdm' or 'compute_likelihood' by being a search tool, though it doesn't explicitly differentiate from 'search_hepdata' or 'get_cern_opendata_record' which have related but distinct purposes.
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?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention when to prefer 'search_hepdata' (which searches HEPData) or 'get_cern_opendata_record' (which retrieves specific records), nor does it specify prerequisites or typical use cases beyond the general search purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_hepdataC
Search HEPData repository for new Higgs measurement data from ATLAS and CMS.
| Name | Required | Description | Default |
|---|---|---|---|
| collaboration | No | Filter by collaboration | |
| year | No | Publication year (e.g., 2024) | |
| decay | No | Decay channel (e.g., 'gammagamma', 'ZZ', 'WW', 'bb', 'tautau') | |
| production | No | Production mode (e.g., 'ggH', 'VBF', 'VH', 'ttH') | |
| query | No | Custom search query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but discloses minimal behavioral traits. It mentions 'search' and 'new Higgs measurement data', implying read-only retrieval, but doesn't cover aspects like rate limits, authentication needs, pagination, result format, or error handling. This is inadequate for a search tool with 5 parameters.
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 zero waste—it directly states the tool's purpose without redundancy. It's appropriately sized and front-loaded, making it easy to parse.
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 complexity (5 parameters, no annotations, no output schema), the description is incomplete. It lacks behavioral context (e.g., how results are returned, error cases), doesn't explain the relationship between parameters (e.g., if 'query' overrides others), and provides no output details, leaving significant gaps for agent usage.
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?
Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description adds no additional parameter semantics beyond implying Higgs-specific filtering, which is partially covered by the schema's enum/descriptions. 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 verb ('search') and resource ('HEPData repository'), specifying the target data ('new Higgs measurement data from ATLAS and CMS'). It distinguishes from some siblings like 'fetch_hepdata_record' (retrieves specific records) or 'list_experimental_data' (lists without filtering), but doesn't explicitly differentiate from 'search_cern_opendata' (which searches different data).
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?
No explicit guidance on when to use this tool versus alternatives like 'search_cern_opendata' (for CERN Open Data) or 'get_latest_higgs_data' (which might retrieve pre-curated data). The description implies usage for Higgs data searches, but lacks context on prerequisites, exclusions, or comparative scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_databaseC
Check for and optionally download new experimental data from HEPData to update the local Lilith database.
| Name | Required | Description | Default |
|---|---|---|---|
| checkOnly | No | Only check for updates without downloading | |
| collaboration | No | Which collaboration's data to update | |
| since | No | Only fetch data published after this date (YYYY-MM-DD) |
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 of behavioral disclosure. It mentions that the tool can 'check for and optionally download' data, implying both read and write operations, but doesn't detail permissions required, whether downloads are destructive or additive, rate limits, or error handling. For a tool that updates a database, this lack of behavioral context is a significant gap.
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 front-loads the core functionality. It avoids redundancy and wastes no words, making it easy to parse. However, it could be slightly more structured by separating the check and download aspects, but this is minor.
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's complexity (updating a database with optional downloads) and lack of annotations and output schema, the description is insufficient. It doesn't cover what happens on success/failure, the format of updates, or how it interacts with the local database. For a mutation tool with no structured safety or output info, more completeness is needed.
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?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds no additional meaning beyond what's in the schema—it doesn't explain parameter interactions, default behaviors, or usage examples. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.
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 tool's purpose: 'Check for and optionally download new experimental data from HEPData to update the local Lilith database.' It specifies the verb ('check for and optionally download'), resource ('new experimental data'), and target ('local Lilith database'). However, it doesn't explicitly differentiate from sibling tools like 'fetch_hepdata_record' or 'get_latest_higgs_data', which prevents a score of 5.
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. It doesn't mention sibling tools like 'fetch_hepdata_record' or 'search_hepdata', nor does it specify prerequisites, exclusions, or contextual triggers for usage. This leaves the agent without clear direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_inputA
Validate XML input format for Lilith without running the full calculation.
| Name | Required | Description | Default |
|---|---|---|---|
| xml | Yes | XML input string to validate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does (validation) but doesn't describe what happens on success/failure, error formats, whether it's read-only (implied but not stated), performance characteristics, or authentication needs. For a validation tool with zero annotation coverage, this leaves significant behavioral gaps.
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 communicates the essential purpose without any wasted words. It's appropriately sized for a simple validation tool and front-loads the key information.
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?
For a single-parameter validation tool with no output schema and no annotations, the description adequately covers the basic purpose but lacks information about return values, error conditions, and behavioral details. It's minimally viable but has clear gaps in completeness given the context.
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?
Schema description coverage is 100%, so the schema already documents the single 'xml' parameter completely. The description adds no additional parameter semantics beyond what's in the schema. Baseline 3 is appropriate when the schema does all the parameter documentation work.
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 specific action ('validate'), the resource ('XML input format for Lilith'), and distinguishes it from alternatives by specifying 'without running the full calculation.' This differentiates it from sibling tools like compute_likelihood or scan_1d that perform calculations.
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 clear context for when to use this tool: when you need to check XML format validity before proceeding with calculations. It implies an alternative (running the full calculation) but doesn't explicitly name when NOT to use it or list specific sibling alternatives for validation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes, with clear separation between data retrieval (e.g., fetch_hepdata_record, get_cern_opendata_record), analysis (e.g., compute_likelihood, scan_1d), and utility functions (e.g., validate_input, update_database). However, some overlap exists between list_experimental_data and search_hepdata/search_cern_opendata, which could cause minor confusion in selection.
Tool names follow a highly consistent verb_noun pattern throughout, such as analyze_2hdm, compute_likelihood, fetch_hepdata_record, and scan_1d. All tools use snake_case with clear, descriptive verbs, making the naming predictable and easy to understand.
With 20 tools, the count is slightly high but reasonable for a specialized Higgs physics analysis server. It covers a broad range of operations from data access to statistical analysis, though it might feel heavy for general use. The tools are well-scoped within the domain, with each serving a specific function.
The tool set provides comprehensive coverage for Higgs model analysis, including data fetching (from HEPData and CERN Open Data), likelihood computation, parameter scanning, model validation, and database management. It supports full CRUD-like operations for experimental data and analysis workflows, with no obvious gaps that would hinder agent performance.
Maintenance
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
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for building and testing AI agents with multi-model experimentation and insights.
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- AlicenseAqualityAmaintenanceAn MCP server that connects LLMs to CERN GitLab to discover and analyze High Energy Physics code, documentation, and analysis examples. It provides 14 tools for repository browsing, dependency parsing, and CI/CD configuration analysis.154AGPL 3.0

axiomatic-mcpofficial
AlicenseBqualityBmaintenanceMCP server enabling AI assistants to access the Axiomatic_AI Platform for scientific computing, document processing, and photonic circuit design.2322MIT- AlicenseBqualityCmaintenanceAn MCP server and CLI tool that allow LLMs to interact with CERN ROOT files.93MIT
- AlicenseAqualityAmaintenanceAn MCP server that integrates InspireHEP high-energy physics literature with LLMs. Search papers, explore citations, retrieve author metrics, and generate formatted references.107AGPL 3.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/consigcody94/pythia-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server