A collection of Standard Names used in the Fusion Conventions and logic for creating a static website for documentation.
Project description
IMAS Standard Names
MCP server and Python library for working with IMAS Standard Names — a controlled vocabulary for fusion data variables.
Quick Start
MCP Server
Configure your AI assistant to use the standard names tools:
# Install the MCP server
uv tool install imas-standard-names
# Or with pip
pip install imas-standard-names
Add to your MCP configuration (e.g., Claude Desktop, VS Code):
{
"mcpServers": {
"imas-standard-names": {
"command": "standard-names-mcp"
}
}
}
Python Library
from imas_standard_names import StandardNameCatalog
catalog = StandardNameCatalog()
entry = catalog.get("electron_temperature")
print(f"{entry.name}: {entry.unit} — {entry.description}")
Installation
The tools and catalog are distributed separately:
| Package | Purpose |
|---|---|
imas-standard-names |
MCP server, grammar, validation tools |
imas-standard-names-catalog |
Standard names catalog (YAML + SQLite) |
Basic Installation
# Tools + catalog (recommended)
pip install imas-standard-names[catalog]
# Tools only
pip install imas-standard-names
Catalog Options
The catalog can be accessed in several ways:
# Option 1: Install catalog package (recommended)
pip install imas-standard-names-catalog
# Option 2: Download pre-built database
wget https://github.com/iterorganization/imas-standard-names-catalog/releases/latest/download/catalog.db
export STANDARD_NAMES_CATALOG_DB=./catalog.db
# Option 3: Clone catalog repository (for editing)
git clone https://github.com/iterorganization/imas-standard-names-catalog.git
export STANDARD_NAMES_CATALOG_ROOT=./imas-standard-names-catalog/standard_names
Development Setup
git clone https://github.com/iterorganization/imas-standard-names.git
cd imas-standard-names
uv sync
Architecture
This project uses a two-repository architecture:
- imas-standard-names (this repo): MCP server, grammar, validation, Python API
- imas-standard-names-catalog: YAML source files and pre-built SQLite database
This separation allows independent versioning — catalog content evolves separately from tooling.
Documentation
Full documentation: iterorganization.github.io/IMAS-Standard-Names
- Grammar Reference — naming rules and vocabulary
- Guidelines — patterns and conventions
- Quick Start — creating new standard names
MCP Tools
The MCP server provides tools for AI assistants to work with standard names:
Discovery & Search
| Tool | Purpose |
|---|---|
search_standard_names |
Find names by concept using semantic search |
list_standard_names |
List all names with filtering by status, tags, kind |
fetch_standard_names |
Get complete metadata for specific names |
check_standard_names |
Fast batch validation of name existence |
Grammar & Schema
| Tool | Purpose |
|---|---|
get_grammar |
Grammar rules, patterns, and composition guidance |
get_schema |
Entry schema for creating standard names |
get_vocabulary |
Controlled vocabulary tokens by segment |
Composition & Parsing
| Tool | Purpose |
|---|---|
compose_standard_name |
Build valid names from structured parts |
parse_standard_name |
Parse names into grammatical components |
Editing & Persistence
| Tool | Purpose |
|---|---|
create_standard_names |
Create new catalog entries (in-memory) |
edit_standard_names |
Modify, rename, or delete entries (in-memory) |
write_standard_names |
Persist pending changes to disk |
Validation & Reference
| Tool | Purpose |
|---|---|
validate_catalog |
Check catalog integrity and grammar |
manage_vocabulary |
Vocabulary gap detection and management |
get_tokamak_parameters |
Reference tokamak machine parameters |
License
MIT
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 imas_standard_names-0.7.0rc2.tar.gz.
File metadata
- Download URL: imas_standard_names-0.7.0rc2.tar.gz
- Upload date:
- Size: 657.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
828aefe86bcd1822bae309529b5ab43ad3b1132da090ef8a9cb1f8023c38f13a
|
|
| MD5 |
5d8e49943b64c12c63c5ba449d06d016
|
|
| BLAKE2b-256 |
26d8adcf860a3586aa213cc0d9e6ed4c73392920a940b91de1fa9bc452da14fd
|
Provenance
The following attestation bundles were made for imas_standard_names-0.7.0rc2.tar.gz:
Publisher:
release.yml on iterorganization/IMAS-Standard-Names
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
imas_standard_names-0.7.0rc2.tar.gz -
Subject digest:
828aefe86bcd1822bae309529b5ab43ad3b1132da090ef8a9cb1f8023c38f13a - Sigstore transparency entry: 1270491054
- Sigstore integration time:
-
Permalink:
iterorganization/IMAS-Standard-Names@9d0733659e3dd160b29f8404789e70ebadb44f2e -
Branch / Tag:
refs/tags/v0.7.0rc2 - Owner: https://github.com/iterorganization
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9d0733659e3dd160b29f8404789e70ebadb44f2e -
Trigger Event:
push
-
Statement type:
File details
Details for the file imas_standard_names-0.7.0rc2-py3-none-any.whl.
File metadata
- Download URL: imas_standard_names-0.7.0rc2-py3-none-any.whl
- Upload date:
- Size: 310.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
453ae5f96c552578ef449ad632c768b56b44af30b75be7f7989fd19b2dac8027
|
|
| MD5 |
73a7edd63a9d24450cbfb99f8e1d5212
|
|
| BLAKE2b-256 |
646cf6e7cf8abd22ce908f37964997d76e36e1f8ffeaf40c8f94f5d4d07cf5fe
|
Provenance
The following attestation bundles were made for imas_standard_names-0.7.0rc2-py3-none-any.whl:
Publisher:
release.yml on iterorganization/IMAS-Standard-Names
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
imas_standard_names-0.7.0rc2-py3-none-any.whl -
Subject digest:
453ae5f96c552578ef449ad632c768b56b44af30b75be7f7989fd19b2dac8027 - Sigstore transparency entry: 1270491079
- Sigstore integration time:
-
Permalink:
iterorganization/IMAS-Standard-Names@9d0733659e3dd160b29f8404789e70ebadb44f2e -
Branch / Tag:
refs/tags/v0.7.0rc2 - Owner: https://github.com/iterorganization
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9d0733659e3dd160b29f8404789e70ebadb44f2e -
Trigger Event:
push
-
Statement type: