netcdf-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_file_structureA | Get the complete structure of a NetCDF file. Returns dimensions, coordinates, data variables, and global attributes. Args: file_path: Path to the NetCDF file. Returns: JSON string containing the file structure. |
| list_variablesA | List all data variables in a NetCDF file with their shapes, dtypes, and units. Args: file_path: Path to the NetCDF file. Returns: JSON string with variable names, shapes, dtypes, and units. |
| get_global_attributesA | Get all global attributes (metadata) from a NetCDF file. Returns title, institution, history, conventions, and other file-level metadata. Args: file_path: Path to the NetCDF file. Returns: JSON string with all global attributes. |
| get_variable_infoA | Get detailed information about a specific variable in a NetCDF file. Returns dtype, shape, dimensions, all attributes, and fill value. Args: file_path: Path to the NetCDF file. variable_name: Name of the variable to inspect. Returns: JSON string with detailed variable information. |
| get_variable_statsA | Get statistical summary of a variable: min, max, mean, std, NaN count, percentiles. Args: file_path: Path to the NetCDF file. variable_name: Name of the variable to analyze. Returns: JSON string with statistical summary. |
| get_variable_sampleA | Extract a sample of actual data values from a variable for inspection. Args: file_path: Path to the NetCDF file. variable_name: Name of the variable to sample. max_samples: Maximum number of samples to return (default: 100). Returns: JSON string with sample values and their indices. |
| get_dimension_valuesA | Get values along a dimension (e.g., time steps, lat/lon coordinates). Args: file_path: Path to the NetCDF file. dimension_name: Name of the dimension/coordinate to get values for. max_values: Maximum number of values to return (default: 100). Returns: JSON string with dimension values. |
| check_data_qualityB | Check a variable for data quality issues: NaN/missing values, outliers, suspicious patterns. Args: file_path: Path to the NetCDF file. variable_name: Name of the variable to check. Returns: JSON string with data quality report. |
| compare_variablesB | Compare two variables for shape compatibility, range differences, and correlation. Args: file_path: Path to the NetCDF file. variable1: Name of the first variable. variable2: Name of the second variable. Returns: JSON string with comparison results. |
| get_time_rangeA | Get the time range of a NetCDF file in human-readable format. Handles CF-compliant time coordinates with various calendars. Args: file_path: Path to the NetCDF file. Returns: JSON string with time range information. |
| get_spatial_boundsA | Get the geographic extent (lat/lon bounds) of a NetCDF file. Args: file_path: Path to the NetCDF file. Returns: JSON string with spatial bounds. |
| check_cf_complianceB | Check if a NetCDF file follows CF (Climate and Forecast) conventions. Performs basic checks for common CF requirements. Args: file_path: Path to the NetCDF file. Returns: JSON string with compliance report. |
| explain_variableA | Generate a human-readable explanation of what a variable represents. Uses standard_name, long_name, units, and other attributes. Args: file_path: Path to the NetCDF file. variable_name: Name of the variable to explain. Returns: JSON string with human-readable explanation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Most tools have clearly distinct inspection purposes, but get_variable_stats and check_data_quality overlap in their statistical/quality reporting, and get_file_structure subsumes list_variables and get_global_attributes. Overall, descriptions are clear enough to guide correct selection.
All tool names follow a consistent snake_case verb_noun pattern, using get_, list_, check_, compare_, and explain_ appropriately by action. There are no mixed naming conventions or unpredictable style shifts.
Thirteen tools is well within the ideal range for a focused NetCDF inspection server. Each tool covers a distinct aspect of file exploration without feeling redundant or bloated.
The server provides comprehensive read-only coverage for NetCDF files: structure, variables, attributes, dimensions, spatial/time bounds, statistics, samples, quality checks, comparisons, and CF compliance. There are no obvious dead ends for typical inspection workflows.