MCP Server for ATLAS AMI metadata interface
Project description
ami-mcp v0.1.0
An MCP server that wraps ATLAS AMI (ATLAS Metadata Interface) and the PMG cross-section database, exposing them as tools for LLMs. Designed for ATLAS physicists who need to discover MC samples, look up cross-sections and filter efficiencies, and validate PMG hashtag classifications.
What it does
ami-mcp lets Claude (or any MCP-compatible LLM) query ATLAS metadata directly:
- Discover samples: search for MC datasets by PMG hashtag classification (WeakBoson/Vjets/Baseline), by name pattern, or by arbitrary AMI query
- Look up metadata: retrieve cross-sections, filter efficiencies, k-factors, dataset provenance, and AMI processing tag info
- Query cross-section DB: look up DSID entries in the PMG xsec database files (PMGxsecDB_mc16.txt, etc.)
- Validate samples: check hashtag classifications and compare metadata against the PMG cross-section database
- General queries: execute arbitrary AMI command strings formulated by the
LLM using the
ami://query-languageresource as a guide
Installation
pip install ami-mcp
Or with pixi (recommended for ATLAS facilities):
pixi add ami-mcp
Requirements
- Python 3.10 or 3.11 (pyAMI requires
<3.12) - A valid VOMS proxy (
voms-proxy-init -voms atlas) - Grid CA certificates (available on CVMFS at ATLAS sites)
Quick start
1. Set up authentication
voms-proxy-init -voms atlas
On CVMFS-based facilities (e.g. UChicago Analysis Facility, CERN lxplus):
export X509_CERT_DIR=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/etc/grid-security-emi/certificates
2. Test the server
ami-mcp serve
The server speaks MCP over stdio. Configure your MCP client to launch it.
3. Configure Claude Code
Add to your .mcp.json (project) or ~/.claude.json (global):
{
"mcpServers": {
"ami": {
"command": "ami-mcp",
"args": ["serve"],
"env": {
"X509_CERT_DIR": "/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/etc/grid-security-emi/certificates",
"ATLAS_PMGXSEC_PATH": "/cvmfs/atlas.cern.ch/repo/sw/database/GroupData/dev/PMGTools"
}
}
}
}
4. Configure Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"ami": {
"command": "ami-mcp",
"args": ["serve"],
"env": {
"X509_CERT_DIR": "/path/to/ca-certificates",
"ATLAS_PMGXSEC_PATH": "/path/to/PMGTools"
}
}
}
}
Available tools
AMI queries
| Tool | Description |
|---|---|
ami_execute |
Execute any AMI command string (primary power tool) |
ami_get_dataset_info |
Get metadata for a dataset (nFiles, nEvents, status, etc.) |
ami_get_dataset_prov |
Get provenance chain (EVNT→HITS→RDO→AOD→DAOD) |
ami_list_datasets |
Search for datasets matching a name pattern |
PMG hashtags
| Tool | Description |
|---|---|
ami_search_by_hashtags |
Find datasets by hashtag combination (e.g. WeakBoson/Vjets/Baseline) |
ami_get_dataset_hashtags |
Look up PMGL1–PMGL4 classification for a dataset |
Physics metadata
| Tool | Description |
|---|---|
ami_get_physics_params |
Get cross-section, filter efficiency, k-factor from AMI |
ami_get_ami_tag |
Get AMI processing tag info (e.g. e8351, p5855) |
Cross-section database
| Tool | Description |
|---|---|
ami_list_xsec_databases |
List available PMGxsecDB_*.txt files |
ami_lookup_xsec |
Look up DSID cross-section, filter eff, k-factor in xsec DB |
Validation
| Tool | Description |
|---|---|
ami_validate_sample |
Check hashtag classification and compare metadata to xsec DB |
Example prompts
Once configured, you can ask Claude things like:
- "Find all Baseline WeakBoson/Vjets samples in mc21_13TeV"
- "What are the cross-section and filter efficiency for DSID 700320?"
- "Look up the hashtag classification for this EVNT dataset"
- "Validate these samples against the mc21 cross-section database"
- "Show me the provenance chain for this DAOD dataset"
- "What AMI tag e8351 corresponds to — which generator version?"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ami_mcp-0.1.0.tar.gz.
File metadata
- Download URL: ami_mcp-0.1.0.tar.gz
- Upload date:
- Size: 91.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d88cc433894e9a75e3e16aa89fff35d93a7a00e4fc0e2d89d14b0403539cfb7a
|
|
| MD5 |
1291350ad8f9ad581fcc82b5f4247323
|
|
| BLAKE2b-256 |
2af5ff37c780324f5654cbbd131a452eb0c9f69000e0bfaac1b51f067e1579f3
|
Provenance
The following attestation bundles were made for ami_mcp-0.1.0.tar.gz:
Publisher:
cd.yml on kratsg/ami-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ami_mcp-0.1.0.tar.gz -
Subject digest:
d88cc433894e9a75e3e16aa89fff35d93a7a00e4fc0e2d89d14b0403539cfb7a - Sigstore transparency entry: 1188215271
- Sigstore integration time:
-
Permalink:
kratsg/ami-mcp@e3ce2f2685b98dd192272f7f49936d189f1ec6b5 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/kratsg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@e3ce2f2685b98dd192272f7f49936d189f1ec6b5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file ami_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ami_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 29.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f028ee16835a71351d7eeaa0e70a5b1d192576e3a50d240fd4afdb383370f5a4
|
|
| MD5 |
6de790c5fe3b623441d9b18a3a2989c1
|
|
| BLAKE2b-256 |
e815c3277e3a057b2c660829252a1a4d48d8f0acd100b45307eb4869fd70ccb4
|
Provenance
The following attestation bundles were made for ami_mcp-0.1.0-py3-none-any.whl:
Publisher:
cd.yml on kratsg/ami-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ami_mcp-0.1.0-py3-none-any.whl -
Subject digest:
f028ee16835a71351d7eeaa0e70a5b1d192576e3a50d240fd4afdb383370f5a4 - Sigstore transparency entry: 1188215322
- Sigstore integration time:
-
Permalink:
kratsg/ami-mcp@e3ce2f2685b98dd192272f7f49936d189f1ec6b5 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/kratsg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@e3ce2f2685b98dd192272f7f49936d189f1ec6b5 -
Trigger Event:
release
-
Statement type: