Skip to main content

A collection of Standard Names used in the Fusion Conventions and logic for creating a static website for documentation.

Project description

pre-commit Ruff Python versions CI/CD status Coverage status Documentation

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:

This separation allows independent versioning — catalog content evolves separately from tooling.

Documentation

Full documentation: iterorganization.github.io/IMAS-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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imas_standard_names-0.7.0rc2.tar.gz (657.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

imas_standard_names-0.7.0rc2-py3-none-any.whl (310.2 kB view details)

Uploaded Python 3

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

Hashes for imas_standard_names-0.7.0rc2.tar.gz
Algorithm Hash digest
SHA256 828aefe86bcd1822bae309529b5ab43ad3b1132da090ef8a9cb1f8023c38f13a
MD5 5d8e49943b64c12c63c5ba449d06d016
BLAKE2b-256 26d8adcf860a3586aa213cc0d9e6ed4c73392920a940b91de1fa9bc452da14fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for imas_standard_names-0.7.0rc2.tar.gz:

Publisher: release.yml on iterorganization/IMAS-Standard-Names

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file imas_standard_names-0.7.0rc2-py3-none-any.whl.

File metadata

File hashes

Hashes for imas_standard_names-0.7.0rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 453ae5f96c552578ef449ad632c768b56b44af30b75be7f7989fd19b2dac8027
MD5 73a7edd63a9d24450cbfb99f8e1d5212
BLAKE2b-256 646cf6e7cf8abd22ce908f37964997d76e36e1f8ffeaf40c8f94f5d4d07cf5fe

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page