clio-kit 2.1.2__tar.gz → 2.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {clio_kit-2.1.2 → clio_kit-2.2.0}/PKG-INFO +1 -1
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/server.json +14 -6
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/server.json +2 -2
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/compression/server.json +2 -2
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/darshan/server.json +2 -2
- clio_kit-2.2.0/clio-kit-mcp-servers/geo/.claude-plugin/plugin.json +5 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geo/.mcp.json +9 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geo/README.md +147 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geo/pyproject.toml +55 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geo/server.json +65 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geo/src/geo_mcp/__init__.py +5 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geo/src/geo_mcp/implementation/__init__.py +21 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geo/src/geo_mcp/implementation/arcgis.py +365 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geo/src/geo_mcp/implementation/geocode.py +161 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geo/src/geo_mcp/implementation/map_render.py +379 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geo/src/geo_mcp/implementation/overlap.py +134 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geo/src/geo_mcp/implementation/proximity.py +303 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geo/src/geo_mcp/server.py +390 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geo/uv.lock +3711 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geojson/.claude-plugin/plugin.json +5 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geojson/.mcp.json +9 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geojson/README.md +148 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geojson/pyproject.toml +48 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geojson/server.json +57 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geojson/src/geojson_mcp/__init__.py +5 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geojson/src/geojson_mcp/implementation/__init__.py +21 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geojson/src/geojson_mcp/implementation/inspect.py +457 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geojson/src/geojson_mcp/server.py +219 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/geojson/uv.lock +2165 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/server.json +2 -2
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/server.json +2 -2
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/lmod/server.json +2 -2
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/ndp/README.md +4 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/ndp/server.json +6 -2
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/ndp/src/ndp_mcp/server.py +282 -3
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/ndp/uv.lock +14 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/server.json +2 -2
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/README.md +5 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/server.json +6 -2
- clio_kit-2.2.0/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/csv_profiling.py +209 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/src/pandas_mcp/server.py +40 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/server.json +2 -2
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/server.json +2 -2
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/server.json +2 -2
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/plot/README.md +5 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/plot/pyproject.toml +2 -1
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/plot/server.json +6 -2
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/plot/src/plot_mcp/implementation/plot_capabilities.py +250 -3
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/plot/src/plot_mcp/server.py +65 -2
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/plot/uv.lock +12 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/sac/.claude-plugin/plugin.json +5 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/sac/.mcp.json +9 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/sac/README.md +136 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/sac/pyproject.toml +47 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/sac/server.json +53 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/sac/src/sac_mcp/__init__.py +5 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/sac/src/sac_mcp/implementation/__init__.py +14 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/sac/src/sac_mcp/implementation/analysis.py +193 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/sac/src/sac_mcp/implementation/sac_io.py +352 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/sac/src/sac_mcp/server.py +234 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/sac/uv.lock +2871 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/seismic/.claude-plugin/plugin.json +5 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/seismic/.mcp.json +9 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/seismic/README.md +139 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/seismic/pyproject.toml +47 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/seismic/server.json +49 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/seismic/src/seismic_mcp/__init__.py +5 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/seismic/src/seismic_mcp/implementation/__init__.py +23 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/seismic/src/seismic_mcp/implementation/analysis.py +227 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/seismic/src/seismic_mcp/implementation/catalog_io.py +235 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/seismic/src/seismic_mcp/implementation/plotting.py +172 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/seismic/src/seismic_mcp/server.py +218 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/seismic/uv.lock +2871 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/server.json +2 -2
- clio_kit-2.2.0/clio-kit-mcp-servers/terrain/.claude-plugin/plugin.json +5 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/terrain/.mcp.json +9 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/terrain/README.md +127 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/terrain/pyproject.toml +50 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/terrain/server.json +49 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/terrain/src/terrain_mcp/__init__.py +5 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/terrain/src/terrain_mcp/implementation/__init__.py +12 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/terrain/src/terrain_mcp/implementation/_common.py +41 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/terrain/src/terrain_mcp/implementation/dem.py +188 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/terrain/src/terrain_mcp/implementation/errors.py +22 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/terrain/src/terrain_mcp/implementation/pointcloud.py +182 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/terrain/src/terrain_mcp/server.py +216 -0
- clio_kit-2.2.0/clio-kit-mcp-servers/terrain/uv.lock +2506 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/pyproject.toml +1 -1
- {clio_kit-2.1.2 → clio_kit-2.2.0}/.gitignore +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/LICENSE +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/pyproject.toml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/api/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/api/app.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/cli/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/cli/main.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/connectors/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/connectors/filesystem/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/connectors/filesystem/connector.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/connectors/graph_store/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/connectors/graph_store/connector.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/connectors/kv_log_store/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/connectors/kv_log_store/connector.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/connectors/object_store/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/connectors/object_store/connector.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/connectors/vector_store/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/connectors/vector_store/connector.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/core/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/core/connectors.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/core/namespace_config.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/core/namespace_registry.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/core/seeding.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/evals/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/evals/quality_gate.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/evals/scientific.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/indexing/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/indexing/lexical.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/indexing/scientific.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/indexing/text_features.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/jobs.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/models/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/models/contracts.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/retrieval/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/retrieval/ann.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/retrieval/capabilities.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/retrieval/coordinator.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/retrieval/rerank.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/retrieval/scientific.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/retry.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/storage/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/storage/contracts.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/storage/duckdb_store.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/tasks.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/src/clio_agentic_search/telemetry/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-agentic-search/uv.lock +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-clients/wrp_bin/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/.mcp.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/docs/adios_setup.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/docs/basic_install.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/docs/example_uses.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/pyproject.toml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/sample_data/data1.bp/data.0 +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/sample_data/data1.bp/md.0 +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/sample_data/data1.bp/md.idx +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/sample_data/data1.bp/mmd.0 +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/sample_data/data2.bp/data.0 +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/sample_data/data2.bp/md.0 +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/sample_data/data2.bp/md.idx +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/sample_data/data2.bp/mmd.0 +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/sample_data/data3.bp/data.0 +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/sample_data/data3.bp/md.0 +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/sample_data/data3.bp/md.idx +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/sample_data/data3.bp/mmd.0 +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/sample_data/data4.bp/data.0 +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/sample_data/data4.bp/md.0 +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/sample_data/data4.bp/md.idx +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/sample_data/data4.bp/mmd.0 +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/src/adios_mcp/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/bp5_attributes.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/bp5_inspect_variables.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/bp5_inspect_variables_at_step.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/bp5_list.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/bp5_read_variable_at_step.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/src/adios_mcp/mcp_handlers.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/src/adios_mcp/server.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/adios/uv.lock +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/.mcp.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/demo.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/docs/basic_install.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/pyproject.toml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/arxiv_base.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/category_search.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/date_search.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/download_paper.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/export_utils.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/paper_details.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/text_search.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/mcp_handlers.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/server.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/arxiv/uv.lock +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/.mcp.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/assets/mcp-client.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/assets/mcp-clientstartchronolog.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/assets/mcp-retievecopilot.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/assets/mcp-retrieve-diseasepred.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/docs/Chronolog_setup.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/pyproject.toml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/server.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/src/chronomcp/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/src/chronomcp/capabilities/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/src/chronomcp/capabilities/record_handler.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/src/chronomcp/capabilities/retrieve_handler.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/src/chronomcp/capabilities/start_handler.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/src/chronomcp/capabilities/stop_handler.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/src/chronomcp/reader_script/CMakeLists.txt +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/src/chronomcp/reader_script/HDF5ArchiveReadingAgent.h +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/src/chronomcp/reader_script/reader.cpp +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/src/chronomcp/server.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/src/chronomcp/utils/config.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/src/chronomcp/utils/helpers.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/chronolog/uv.lock +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/compression/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/compression/.mcp.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/compression/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/compression/data/sample_data.csv +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/compression/data/sample_log.txt +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/compression/pyproject.toml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/compression/pytest.ini +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/compression/src/compression_mcp/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/compression/src/compression_mcp/capabilities/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/compression/src/compression_mcp/capabilities/compression_base.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/compression/src/compression_mcp/mcp_handlers.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/compression/src/compression_mcp/server.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/compression/uv.lock +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/darshan/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/darshan/.mcp.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/darshan/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/darshan/pyproject.toml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/darshan/src/darshan_mcp/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/darshan/src/darshan_mcp/capabilities/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/darshan/src/darshan_mcp/capabilities/darshan_parser.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/darshan/src/darshan_mcp/server.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/darshan/uv.lock +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/.mcp.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/TESTING.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/docs/ARCHITECTURE.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/docs/EXAMPLES.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/docs/MIGRATION.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/docs/TOOLS.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/docs/TRANSPORTS.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/examples/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/examples/create_demo_data.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/examples/demo_script.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/pyproject.toml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/src/hdf5_mcp/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/src/hdf5_mcp/config.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/src/hdf5_mcp/resources.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/src/hdf5_mcp/server.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/src/hdf5_mcp/utils.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/hdf5/uv.lock +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/.mcp.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/docs/GUIDE.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 160800.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 162219.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 162322.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 162545.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 162922.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 163023.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 163516.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 163651.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 163759.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/docs/basic_install.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/pyproject.toml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/requirements.txt +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/capabilities/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/capabilities/jarvis_handler.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/server.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/jarvis/uv.lock +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/lmod/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/lmod/.mcp.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/lmod/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/lmod/pyproject.toml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/lmod/src/lmod_mcp/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/lmod/src/lmod_mcp/capabilities/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/lmod/src/lmod_mcp/capabilities/lmod_handler.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/lmod/src/lmod_mcp/server.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/lmod/uv.lock +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/ndp/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/ndp/.mcp.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/ndp/docs/mcp_development_guide.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/ndp/docs/ndp_api.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/ndp/docs/ndp_docs.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/ndp/pyproject.toml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/ndp/src/ndp_mcp/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/.mcp.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/pyproject.toml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/cpu_info.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/disk_info.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/gpu_info.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/hardware_summary.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/memory_info.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/network_info.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/performance_monitor.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/process_info.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/remote_node_info.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/sensor_info.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/system_info.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/utils.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/mcp_handlers.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/server.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/utils/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/utils/output_formatter.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/.mcp.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/example_script/create_sample_data.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/pyproject.toml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/pytest.ini +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/src/pandas_mcp/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/data_cleaning.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/data_io.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/data_profiling.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/filtering.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/memory_optimization.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/output_formatter.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/pandas_statistics.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/time_series.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/transformations.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/validation.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/pandas/src/pandas_mcp/mcp_handlers.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/.mcp.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/USAGE_GUIDE.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/pyproject.toml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/pytest.ini +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/export_handler.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/filter_handler.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/parallel_processor.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/pattern_detection.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/sort_handler.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/statistics_handler.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/mcp_handlers.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/server.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parallel-sort/uv.lock +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/.mcp.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/LICENSE +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/USAGE_README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/prompt.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/pyproject.toml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/pytest.ini +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/requirements.txt +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/scripts/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/scripts/automate_setup.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/scripts/build_paraview.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/scripts/configure_paraview.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/scripts/install_deps.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/scripts/installation_example.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/scripts/launch_gui.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/scripts/launch_server.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/scripts/test_installation.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/src/paraview_mcp/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/src/paraview_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/src/paraview_mcp/implementation/paraview_capabilities.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/src/paraview_mcp/server.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/src/paraview_mcp/viz.html +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/paraview/uv.lock +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/.mcp.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/data/data.csv +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/data/huge_log.txt +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/data/small_log.txt +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/data/weather_data.parquet +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/datasets/batch_1.parquet +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/datasets/batch_large_strings.parquet +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/evaluation.xml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/images/compress.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/images/getResource.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/images/listResources.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/images/listTools.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/images/pandas.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/images/parquet.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/images/sort.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/images/tests.png +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/pyproject.toml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/pytest.ini +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/src/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/src/parquet_mcp/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/src/parquet_mcp/capabilities/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/src/parquet_mcp/capabilities/parquet_handler.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/src/parquet_mcp/server.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/parquet/uv.lock +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/plot/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/plot/.mcp.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/plot/data/sample_data.csv +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/plot/data/temperature.csv +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/plot/pytest.ini +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/plot/src/plot_mcp/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/plot/src/plot_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/.mcp.json +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/docs/MCP_SERVER_GUIDE.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/docs/basic_install.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/docs/run.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/docs/slurm_installation/NATIVE_SLURM_SUCCESS_REPORT.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/docs/slurm_installation/SLURM_INSTALLATION_GUIDE.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/docs/slurm_installation/final_verification.sh +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/docs/slurm_installation/install_slurm.sh +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/docs/slurm_installation/parallel_job.sh +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/docs/slurm_installation/quick_native_test.sh +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/docs/slurm_installation/slurm.conf +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/docs/slurm_installation/slurm_config.conf +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/example_scripts/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/example_scripts/SLURM_SCRIPT_GENERATION_PROMPT.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/example_scripts/array_job.sh +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/example_scripts/data_processing.sh +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/example_scripts/generate_slurm_script.sh +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/example_scripts/hello_world.sh +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/example_scripts/long_simulation.sh +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/example_scripts/python_computation.sh +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/logs/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/pyproject.toml +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/pytest.ini +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/array_jobs.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/cluster_info.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_cancellation.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_details.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_listing.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_output.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_status.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_submission.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/node_allocation.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/node_info.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/queue_info.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/slurm_handler.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/utils.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/mcp_handlers.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-mcp-servers/slurm/src/slurm_mcp/server.py +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-website/README.md +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-website/src/components/HomepageFeatures/index.js +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-website/src/components/HomepageFeatures/styles.module.css +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-website/src/components/MCPDetail/index.js +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-website/src/components/MCPDetail/styles.module.css +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-website/src/components/MCPShowcase/index.js +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-website/src/components/MCPShowcase/styles.module.css +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-website/src/css/custom.css +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-website/src/data/mcpData.js +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-website/src/pages/index.js +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio-kit-website/src/pages/index.module.css +0 -0
- {clio_kit-2.1.2 → clio_kit-2.2.0}/clio_kit/__init__.py +0 -0
|
@@ -2,16 +2,24 @@
|
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "io.github.iowarp/adios-mcp",
|
|
4
4
|
"title": "CLIO Adios",
|
|
5
|
-
"description": "Fetch and analyze BP5 data files using ADIOS2
|
|
6
|
-
"version": "2.0
|
|
7
|
-
"repository": {
|
|
5
|
+
"description": "Fetch and analyze BP5 data files using ADIOS2. Access scientific data, metadata, and attributes...",
|
|
6
|
+
"version": "2.2.0",
|
|
7
|
+
"repository": {
|
|
8
|
+
"url": "https://github.com/iowarp/clio-kit",
|
|
9
|
+
"source": "github"
|
|
10
|
+
},
|
|
8
11
|
"packages": [
|
|
9
12
|
{
|
|
10
13
|
"registryType": "pypi",
|
|
11
14
|
"identifier": "clio-kit",
|
|
12
|
-
"version": "2.0
|
|
13
|
-
"transport": {
|
|
14
|
-
|
|
15
|
+
"version": "2.2.0",
|
|
16
|
+
"transport": {
|
|
17
|
+
"type": "stdio"
|
|
18
|
+
},
|
|
19
|
+
"arguments": [
|
|
20
|
+
"clio-kit",
|
|
21
|
+
"adios"
|
|
22
|
+
]
|
|
15
23
|
}
|
|
16
24
|
],
|
|
17
25
|
"tools": [
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "io.github.iowarp/arxiv-mcp",
|
|
4
4
|
"title": "CLIO Arxiv",
|
|
5
5
|
"description": "ArXiv MCP server implementation using Model Context Protocol",
|
|
6
|
-
"version": "2.0
|
|
6
|
+
"version": "2.2.0",
|
|
7
7
|
"repository": {
|
|
8
8
|
"url": "https://github.com/iowarp/clio-kit",
|
|
9
9
|
"source": "github"
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
{
|
|
13
13
|
"registryType": "pypi",
|
|
14
14
|
"identifier": "clio-kit",
|
|
15
|
-
"version": "2.0
|
|
15
|
+
"version": "2.2.0",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "io.github.iowarp/compression-mcp",
|
|
4
4
|
"title": "CLIO Compression",
|
|
5
5
|
"description": "Compression MCP server implementation using Model Context Protocol",
|
|
6
|
-
"version": "2.0
|
|
6
|
+
"version": "2.2.0",
|
|
7
7
|
"repository": {
|
|
8
8
|
"url": "https://github.com/iowarp/clio-kit",
|
|
9
9
|
"source": "github"
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
{
|
|
13
13
|
"registryType": "pypi",
|
|
14
14
|
"identifier": "clio-kit",
|
|
15
|
-
"version": "2.0
|
|
15
|
+
"version": "2.2.0",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "io.github.iowarp/darshan-mcp",
|
|
4
4
|
"title": "CLIO Darshan",
|
|
5
5
|
"description": "Darshan I/O profiler MCP server for analyzing I/O trace files",
|
|
6
|
-
"version": "2.0
|
|
6
|
+
"version": "2.2.0",
|
|
7
7
|
"repository": {
|
|
8
8
|
"url": "https://github.com/iowarp/clio-kit",
|
|
9
9
|
"source": "github"
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
{
|
|
13
13
|
"registryType": "pypi",
|
|
14
14
|
"identifier": "clio-kit",
|
|
15
|
-
"version": "2.0
|
|
15
|
+
"version": "2.2.0",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Geo MCP
|
|
2
|
+
|
|
3
|
+
Renders GeoJSON vector layers into map images. Any tool that returns GeoJSON
|
|
4
|
+
features — catalog feature queries, file inspection, analysis output — can be
|
|
5
|
+
visualized as a single layered map with an optional web-tile basemap.
|
|
6
|
+
|
|
7
|
+
## Tool: `render_feature_map`
|
|
8
|
+
|
|
9
|
+
Render one or more layers (polygons, lines, points) to a PNG.
|
|
10
|
+
|
|
11
|
+
Each layer:
|
|
12
|
+
|
|
13
|
+
```jsonc
|
|
14
|
+
{
|
|
15
|
+
"name": "fire perimeter",
|
|
16
|
+
"geojson": { /* FeatureCollection | Feature | geometry | list | JSON string | path */ },
|
|
17
|
+
"style": {
|
|
18
|
+
"facecolor": "red", "edgecolor": "darkred", "alpha": 0.55, "linewidth": 2,
|
|
19
|
+
"color": "...", // points / single-color fill
|
|
20
|
+
"markersize": 45, // points
|
|
21
|
+
"zorder": 5, // draw order
|
|
22
|
+
"color_by": "AQI", // property to color by
|
|
23
|
+
"scale": "epa_aqi", // EPA AQI bands, or a matplotlib colormap name
|
|
24
|
+
"category_colors": { "3 - 25": "#ccc" }, // explicit value -> color
|
|
25
|
+
"legend": true
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Top-level args: `output_path`, `title`, `basemap` (CartoDB Positron, needs
|
|
31
|
+
network; degrades gracefully if tiles are unavailable), and an optional
|
|
32
|
+
`bbox` view window `[min_lon, min_lat, max_lon, max_lat]`.
|
|
33
|
+
|
|
34
|
+
Returns `{status, output_path, size_bytes, bounds, basemap, layers}`.
|
|
35
|
+
|
|
36
|
+
### Example — wildfire downwind brief
|
|
37
|
+
|
|
38
|
+
Three layers from live feature queries: a fire perimeter polygon (red), NWS
|
|
39
|
+
smoke-forecast polygons colored by concentration class, and AirNow monitors
|
|
40
|
+
colored by `epa_aqi`. One call produces the full situational map.
|
|
41
|
+
|
|
42
|
+
## Run
|
|
43
|
+
|
|
44
|
+
```sh
|
|
45
|
+
uvx clio-kit geo # via the clio-kit launcher
|
|
46
|
+
geo-mcp # direct entry point
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Test
|
|
50
|
+
|
|
51
|
+
```sh
|
|
52
|
+
uv run --extra dev pytest
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Tests disable the basemap so they run without network access.
|
|
56
|
+
|
|
57
|
+
## Capabilities
|
|
58
|
+
|
|
59
|
+
### `render_feature_map`
|
|
60
|
+
**Description**: Render one or more GeoJSON layers (polygons/lines/points) onto a single map PNG with an optional basemap. Each layer accepts a style with fixed colors or data-driven coloring (color_by + category_colors, an 'epa_aqi' AQI scale, or a matplotlib colormap). Returns the output path and bounds.
|
|
61
|
+
**Hints**: destructive, idempotent
|
|
62
|
+
**Tags**: geojson, geospatial, map, visualization
|
|
63
|
+
|
|
64
|
+
### `points_in_polygons`
|
|
65
|
+
**Description**: Spatial overlap: return which GeoJSON points fall within (optionally buffered) GeoJSON polygons — e.g. which AirNow monitors lie inside the smoke footprint. Accepts inline GeoJSON or file paths. Returns the matched points with their properties and a matched_count.
|
|
66
|
+
**Hints**: read-only, idempotent
|
|
67
|
+
**Tags**: geojson, geospatial, overlap, spatial-join
|
|
68
|
+
|
|
69
|
+
### `bounding_box`
|
|
70
|
+
**Description**: Compute the bounding box [min_lon, min_lat, max_lon, max_lat] of GeoJSON features (inline or file path), optionally padded by buffer_km. A deterministic geometry op for deriving an analysis region from a fire perimeter.
|
|
71
|
+
**Hints**: read-only, idempotent
|
|
72
|
+
**Tags**: bbox, geojson, geospatial, region
|
|
73
|
+
|
|
74
|
+
### `query_arcgis_features`
|
|
75
|
+
**Description**: Query an ArcGIS FeatureServer layer (with optional lon/lat bbox and where clause) and write the returned features to a local GeoJSON file. The saved FeatureCollection can be fed directly into render_feature_map, points_in_polygons, or bounding_box.
|
|
76
|
+
**Hints**: read-only, idempotent
|
|
77
|
+
**Tags**: arcgis, features, geojson, geospatial, retrieval
|
|
78
|
+
|
|
79
|
+
### `geocode`
|
|
80
|
+
**Description**: Look up a free-text place name or location and return real coordinates from OpenStreetMap Nominatim (a lookup, not a model guess). Each match carries lat/lon, a [min_lon, min_lat, max_lon, max_lat] bbox, type, importance, and a provenance source so the region can be grounded and cited.
|
|
81
|
+
**Hints**: read-only, idempotent
|
|
82
|
+
**Tags**: coordinates, geocoding, location
|
|
83
|
+
|
|
84
|
+
### `filter_points_by_radius`
|
|
85
|
+
**Description**: Filter/rank any table of points by great-circle distance to a center. Reads a CSV (or GeoJSON points) of locations, computes the haversine distance from (center_lat, center_lon) to each row, and returns the rows within radius_km sorted ascending by distance, each annotated with distance_km. Latitude/longitude columns are auto-detected from common names (latitude/lat, longitude/lon/long) when not given. Domain-neutral: works for sensors, sites, cities, samples, or any lon/lat table.
|
|
86
|
+
**Hints**: read-only, idempotent
|
|
87
|
+
**Tags**: distance, filter, geospatial, haversine, proximity
|
|
88
|
+
|
|
89
|
+
### Resources
|
|
90
|
+
|
|
91
|
+
- `geo://capabilities` - Describe what the geo MCP server can do.
|
|
92
|
+
|
|
93
|
+
### Prompts
|
|
94
|
+
|
|
95
|
+
- **map_arcgis_layer**: Guided workflow: retrieve an ArcGIS layer and render it on a map.
|
|
96
|
+
## Claude Code
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
claude mcp add clio-geo -- uvx clio-kit geo
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Or install via the CLIO Kit plugin marketplace:
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
/plugin marketplace add iowarp/clio-kit
|
|
106
|
+
/plugin install clio-geo@iowarp-clio-kit
|
|
107
|
+
```
|
|
108
|
+
## Claude Desktop
|
|
109
|
+
|
|
110
|
+
Add to your Claude Desktop config (`claude_desktop_config.json`):
|
|
111
|
+
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"mcpServers": {
|
|
115
|
+
"clio-geo": {
|
|
116
|
+
"command": "uvx",
|
|
117
|
+
"args": [
|
|
118
|
+
"clio-kit",
|
|
119
|
+
"geo"
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
## Gemini CLI
|
|
126
|
+
|
|
127
|
+
Add to `~/.gemini/settings.json`:
|
|
128
|
+
|
|
129
|
+
```json
|
|
130
|
+
{
|
|
131
|
+
"mcpServers": {
|
|
132
|
+
"clio-geo": {
|
|
133
|
+
"command": "uvx",
|
|
134
|
+
"args": [
|
|
135
|
+
"clio-kit",
|
|
136
|
+
"geo"
|
|
137
|
+
]
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Or install the CLIO Kit extension:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
gemini extensions install https://github.com/iowarp/clio-kit
|
|
147
|
+
```
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "geo-mcp"
|
|
3
|
+
version = "1.0.1"
|
|
4
|
+
description = "MCP server for rendering GeoJSON vector layers into map images with basemaps"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
requires-python = ">=3.10"
|
|
7
|
+
license = "BSD-3-Clause"
|
|
8
|
+
authors = [
|
|
9
|
+
{ name = "IoWarp Team - Gnosis Research Center", email = "grc@illinoistech.edu" }
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
keywords = ["MCP", "geospatial", "mapping", "geojson", "visualization", "matplotlib", "geopandas"]
|
|
13
|
+
|
|
14
|
+
dependencies = [
|
|
15
|
+
"fastmcp>=3.0.1",
|
|
16
|
+
"python-dotenv>=1.0.0",
|
|
17
|
+
"matplotlib>=3.6.0",
|
|
18
|
+
"geopandas>=0.14.0",
|
|
19
|
+
"shapely>=2.0.0",
|
|
20
|
+
"contextily>=1.5.0",
|
|
21
|
+
"numpy>=1.24.0",
|
|
22
|
+
"httpx>=0.27.0",
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
[project.urls]
|
|
26
|
+
Homepage = "https://docs.iowarp.ai/"
|
|
27
|
+
Repository = "https://github.com/iowarp/clio-kit"
|
|
28
|
+
|
|
29
|
+
[project.scripts]
|
|
30
|
+
geo-mcp = "geo_mcp.server:main"
|
|
31
|
+
|
|
32
|
+
[dependency-groups]
|
|
33
|
+
dev = [
|
|
34
|
+
"mypy>=1.17.0",
|
|
35
|
+
"pytest>=8.4.0",
|
|
36
|
+
"pytest-asyncio>=1.1.0",
|
|
37
|
+
"pytest-cov>=6.2.1",
|
|
38
|
+
"ruff>=0.12.5",
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
[build-system]
|
|
42
|
+
requires = ["hatchling"]
|
|
43
|
+
build-backend = "hatchling.build"
|
|
44
|
+
|
|
45
|
+
[tool.hatch.build.targets.wheel]
|
|
46
|
+
packages = ["src/geo_mcp"]
|
|
47
|
+
|
|
48
|
+
[tool.ruff]
|
|
49
|
+
line-length = 100
|
|
50
|
+
target-version = "py310"
|
|
51
|
+
|
|
52
|
+
[tool.pytest.ini_options]
|
|
53
|
+
pythonpath = ["src"]
|
|
54
|
+
testpaths = ["tests"]
|
|
55
|
+
asyncio_mode = "auto"
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
|
+
"name": "io.github.iowarp/geo-mcp",
|
|
4
|
+
"title": "CLIO Geo",
|
|
5
|
+
"description": "MCP server for rendering GeoJSON vector layers into map images with basemaps",
|
|
6
|
+
"version": "2.2.0",
|
|
7
|
+
"repository": {
|
|
8
|
+
"url": "https://github.com/iowarp/clio-kit",
|
|
9
|
+
"source": "github"
|
|
10
|
+
},
|
|
11
|
+
"packages": [
|
|
12
|
+
{
|
|
13
|
+
"registryType": "pypi",
|
|
14
|
+
"identifier": "clio-kit",
|
|
15
|
+
"version": "2.2.0",
|
|
16
|
+
"transport": {
|
|
17
|
+
"type": "stdio"
|
|
18
|
+
},
|
|
19
|
+
"arguments": [
|
|
20
|
+
"clio-kit",
|
|
21
|
+
"geo"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"tools": [
|
|
26
|
+
{
|
|
27
|
+
"name": "render_feature_map",
|
|
28
|
+
"description": "Render one or more GeoJSON layers (polygons/lines/points) onto a single map PNG with an optional basemap. Each layer accepts a style with fixed colors or data-driven coloring (color_by + category_colors, an 'epa_aqi' AQI scale, or a matplotlib colormap). Returns the output path and bounds."
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "points_in_polygons",
|
|
32
|
+
"description": "Spatial overlap: return which GeoJSON points fall within (optionally buffered) GeoJSON polygons \u2014 e.g. which AirNow monitors lie inside the smoke footprint. Accepts inline GeoJSON or file paths. Returns the matched points with their properties and a matched_count."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "bounding_box",
|
|
36
|
+
"description": "Compute the bounding box [min_lon, min_lat, max_lon, max_lat] of GeoJSON features (inline or file path), optionally padded by buffer_km. A deterministic geometry op for deriving an analysis region from a fire perimeter."
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "query_arcgis_features",
|
|
40
|
+
"description": "Query an ArcGIS FeatureServer layer (with optional lon/lat bbox and where clause) and write the returned features to a local GeoJSON file. The saved FeatureCollection can be fed directly into render_feature_map, points_in_polygons, or bounding_box."
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "geocode",
|
|
44
|
+
"description": "Look up a free-text place name or location and return real coordinates from OpenStreetMap Nominatim (a lookup, not a model guess). Each match carries lat/lon, a [min_lon, min_lat, max_lon, max_lat] bbox, type, importance, and a provenance source so the region can be grounded and cited."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "filter_points_by_radius",
|
|
48
|
+
"description": "Filter/rank any table of points by great-circle distance to a center. Reads a CSV (or GeoJSON points) of locations, computes the haversine distance from (center_lat, center_lon) to each row, and returns the rows within radius_km sorted ascending by distance, each annotated with distance_km. Latitude/longitude columns are auto-detected from common names (latitude/lat, longitude/lon/long) when not given. Domain-neutral: works for sensors, sites, cities, samples, or any lon/lat table."
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"resources": [
|
|
52
|
+
{
|
|
53
|
+
"uri": "geo://capabilities",
|
|
54
|
+
"name": "capabilities",
|
|
55
|
+
"description": "Describe what the geo MCP server can do."
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"prompts": [
|
|
59
|
+
{
|
|
60
|
+
"name": "map_arcgis_layer",
|
|
61
|
+
"description": "Guided workflow: retrieve an ArcGIS layer and render it on a map."
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"tags": []
|
|
65
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"""Implementation helpers for the geo MCP server."""
|
|
2
|
+
|
|
3
|
+
from .arcgis import ArcGISQueryError, query_arcgis_features
|
|
4
|
+
from .geocode import GeocodeError, geocode
|
|
5
|
+
from .map_render import MapRenderError, render_map
|
|
6
|
+
from .overlap import bounding_box, points_in_polygons
|
|
7
|
+
from .proximity import ProximityError, filter_points_by_radius, haversine_km
|
|
8
|
+
|
|
9
|
+
__all__ = [
|
|
10
|
+
"MapRenderError",
|
|
11
|
+
"render_map",
|
|
12
|
+
"points_in_polygons",
|
|
13
|
+
"bounding_box",
|
|
14
|
+
"ArcGISQueryError",
|
|
15
|
+
"query_arcgis_features",
|
|
16
|
+
"GeocodeError",
|
|
17
|
+
"geocode",
|
|
18
|
+
"ProximityError",
|
|
19
|
+
"filter_points_by_radius",
|
|
20
|
+
"haversine_km",
|
|
21
|
+
]
|