Skip to main content

Plugins for scientific work

MCP servers, skills, agents and hooks are individual components. A plugin bundles the components needed for a workflow; it can include any of these types without requiring all four. The six primary bundles and task-specific packages are both plugins. A component collection groups components of one type, such as the scientific I/O skills or the planning/review agents.

ChooseExampleProvides
Individual componentHDF5 MCPTools for HDF5 files
Component collectionclio-scientific-io-skillsScientific I/O procedures, without MCPs
Broad workflow pluginclio-scientific-ioScientific I/O MCPs and skills
Task pluginclio-dataset-reportMCPs, report skill, agents and a verification hook

Catalogue types and installation packages​

Claude Code calls every native installation package a plugin, including a single MCP wrapper. CLIO Kit keeps these wrappers for individual installation and shared dependencies, but does not count them as workflow plugins. The website's Plugins filter combines broad bundles and task plugins. MCPs, skills, agents, hooks and component collections have their own filters. An agent or hook detail page names its containing package when installation also brings other components.

The catalogue derives maintained component types from local manifests and their dependencies. Mixed-component packages and declared workflows are plugins; single-type packages are component collections (or MCP entries). It does not infer external contents from names or descriptions: indexed upstream packages appear under External packages until their contents are classified. Catalogue entry counts include collections and their browsable members, so they are not counts of installed packages or unique executables.

This follows the host's distinction between standalone components and distributable plugin packages. The project installer resolves maintained and indexed packages for six clients. Codex, Claude Code and OpenCode also receive supported agent and hook adapters. Unsupported components require an explicit partial installation; native manifest formats remain host-specific. Install the launcher first using Getting Started.

Primary bundles​

The six primary bundles provide convenient starting points. They reuse server and skill plugins through dependencies rather than copying their content.

BundlePurposeMCP servers
clio-hpcPrepare software and run work on a clusterjarvis, lmod, node-hardware, slurm, spack
clio-performanceInvestigate job performance and logschronolog, darshan, parallel-sort
clio-scientific-ioInspect scientific files and read safelyadios, compression, hdf5, parquet
clio-analysisSummarize results and create figurespandas, paraview, plot
clio-geoscienceInspect maps, terrain and waveformsgeo, seismology, terrain
clio-researchFind papers and research datasetsarxiv, ndp, scientific-catalog, web
claude plugin install clio-hdf5@clio-kit # one MCP
claude plugin install clio-scientific-io@clio-kit # primary bundle + skills

Each server belongs to exactly one primary bundle in mcp-server-versions.toml. This coverage check catches forgotten servers and accidental changes to those six collections. It does not restrict how task plugins reuse components.

Task plugins​

You can now add a handwritten package directly under plugins/<name>/, with its native manifest and whichever components it needs. The marketplace generator discovers it without a TOML entry or mandatory dependencies. Skills-only, agents-only and hooks-only packages use the same route in their corresponding directories. See folder contributions.

Scientific dataset report​

clio-dataset-report combines HDF5, Pandas and Plot with the dataset-report skill, the clio-agents reviewer, and a read-only PostToolUse verification hook. It produces a CSV, PNG, Markdown report and evidence manifest from a small numeric HDF5 table.

claude plugin install clio-dataset-report@clio-kit

Invoke /clio-dataset-report:dataset-report with the source file, dataset path, column meanings/units and a new output directory. Install the launcher first; the helper and native hook also require python3.

The helper verifies count, mean, median, min/max, unchanged source and output presence. Limits are 64 MiB per source/CSV and 100,000 CSV rows. The hook gives feedback after Write/Edit of this workflow's manifest or report. It does not block writes, run on shell/MCP writes or certify report prose; the skill requires an explicit final check. Review HDF5-to-CSV fidelity, figure meaning and scientific interpretation separately.

The skill and helper can also be downloaded independently:

clio-kit skill install dataset-report --target .agents/skills

Installing that skill alone does not configure tools or hooks. Use clio-kit plugin install clio-dataset-report --client CLIENT --project /path/to/project for the complete supported package in Claude Code, Codex or OpenCode. See client support for hook trust and agent invocation.

Run the installed workflow and native hook acceptance check:

uv run --frozen python scripts/verify_dataset_report.py --output /tmp/clio-dataset-report-check

It performs actual MCP calls and uses a scripted model to exercise the real client's hook feedback. Add --live for a separate authenticated model run. The September 17 deterministic/native-client checks passed; the fresh live composite-skill evaluation was blocked by account quota before execution. Add --external to test the same packed components from a separate local Git publisher, indexed through a community entry. This also validates the submission entry, native skill/reviewer loading, hook feedback and shared-dependency removal. It does not open a public PR.

Author another task​

A maintained task plugin may depend on components from several primary bundles. For example, the following authoring example is not a published plugin:

# Add to mcp-server-versions.toml after reviewing the task.
[workflows.clio-inspect-and-plot]
version = "1.0.0"
description = "Inspect scientific data and prepare a bounded summary plot."
dependencies = ["clio-hdf5", "clio-pandas", "clio-plot"]

This registers those three MCPs, without pulling in either entire primary bundle. It does not supply a new procedure or automatically transfer data between servers. Add the skills needed for a complete workflow, and document how their inputs and outputs connect before calling it an end-to-end solution.

Dependencies are plugin names, not skill folder names. They can name existing maintained MCP, skill-collection, agent or primary-bundle plugins: the generated ones, such as clio-hdf5, clio-analysis-skills, clio-agents or clio-scientific-io. A package you added as a folder under plugins/, skills/, agents/ or hooks/ cannot be a [workflows.*] dependency, because tasks are generated before folders are discovered. To build on such a package, list dependencies in that package's own plugin.json instead. Selecting a collection installs its whole collection; selecting a primary bundle installs its dependencies. A skills-only dependency does not register its suggested MCPs. Several task plugins may reuse the same components.

For this TOML-generated route, task-to-task and external plugin dependencies are rejected. Unknown names, collisions, repeated dependencies and malformed versions fail generation. External authors continue to use the community contribution route.

Website start/build and CI regenerate both catalogues automatically. To inspect a local native installation before either runs, use the optional command:

clio-kit marketplace sync --root .

This lightweight generator leaves server code and metadata untouched. It writes plugins/<name>/.claude-plugin/plugin.json and the marketplace entry from the TOML definition. Edit the TOML for these generated tasks, not their generated manifest. Handwritten package manifests are preserved. README files and other component files are preserved. When retiring a task, remove both its TOML definition and its generated plugin directory, then regenerate.

What a workflow should explain​

A complete task plugin can combine MCP tools, a skill that connects their inputs and outputs, an agent that reviews the evidence, and hooks for useful lifecycle checks. These components are optional: include each for a specific purpose. The dataset-report plugin uses HDF5, Pandas and Plot, guides the data handoff, and provides evidence for review. Deterministic checks can verify artifacts and calculations; an agent review alone cannot certify scientific conclusions. A task definition composes dependencies; local skill and hook files can add the task behavior.

Keep a short README beside each workflow plugin: its intended task, required inputs and system prerequisites, included components, expected output and verification limits. Add a new skill, agent or hook only when the task needs it; see Authoring components.

Before publishing a task, use the automatic CI checks or local sync above, then claude plugin validate plugins/<name> --strict. Use clio-kit plugin validate plugins/<name> --maintained for the kit's structural checks when the package uses the reserved clio- prefix. Install the task in a disposable client profile and check that only the intended dependencies are enabled. Exercise the procedure on known data, check its result against expected values, and test refresh/removal alongside another plugin that shares a dependency. Successful installation alone does not establish scientific correctness.