clio-kit 2.0.0__py3-none-any.whl
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/__init__.py +334 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/.claude-plugin/plugin.json +5 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/.gitignore +27 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/.mcp.json +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/README.md +323 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/docs/adios_setup.md +86 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/docs/basic_install.md +110 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/docs/example_uses.md +113 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/pyproject.toml +57 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/sample_data/data1.bp/data.0 +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/sample_data/data1.bp/md.0 +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/sample_data/data1.bp/md.idx +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/sample_data/data1.bp/mmd.0 +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/sample_data/data2.bp/data.0 +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/sample_data/data2.bp/md.0 +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/sample_data/data2.bp/md.idx +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/sample_data/data2.bp/mmd.0 +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/sample_data/data3.bp/data.0 +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/sample_data/data3.bp/md.0 +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/sample_data/data3.bp/md.idx +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/sample_data/data3.bp/mmd.0 +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/sample_data/data4.bp/data.0 +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/sample_data/data4.bp/md.0 +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/sample_data/data4.bp/md.idx +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/sample_data/data4.bp/mmd.0 +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/server.json +56 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/src/adios_mcp/__init__.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/__init__.py +21 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/bp5_attributes.py +52 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/bp5_inspect_variables.py +36 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/bp5_inspect_variables_at_step.py +46 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/bp5_list.py +16 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/bp5_read_variable_at_step.py +39 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/src/adios_mcp/mcp_handlers.py +100 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/src/adios_mcp/server.py +164 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/tests/__init__.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/tests/test_bp5_attributes.py +140 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/tests/test_bp5_inspect_variables.py +165 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/tests/test_bp5_inspect_variables_at_step.py +166 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/tests/test_bp5_list.py +152 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/tests/test_bp5_read_variable_at_step.py +196 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/tests/test_mcp_handlers.py +468 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/tests/test_server.py +350 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/adios/uv.lock +1840 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/.claude-plugin/plugin.json +5 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/.gitignore +30 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/.mcp.json +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/README.md +366 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/demo.py +91 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/docs/basic_install.md +115 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/pyproject.toml +45 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/server.json +87 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/__init__.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/__init__.py +21 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/arxiv_base.py +183 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/category_search.py +89 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/date_search.py +55 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/download_paper.py +201 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/export_utils.py +110 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/paper_details.py +145 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/text_search.py +107 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/mcp_handlers.py +370 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/server.py +300 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/tests/__init__.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/tests/test_advanced_scenarios.py +463 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/tests/test_arxiv_base.py +393 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/tests/test_arxiv_base_errors.py +512 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/tests/test_category_search.py +97 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/tests/test_date_search.py +245 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/tests/test_download_paper.py +220 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/tests/test_edge_cases.py +342 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/tests/test_export_utils.py +170 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/tests/test_fastmcp_tools.py +415 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/tests/test_integration.py +201 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/tests/test_mcp_handlers.py +826 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/tests/test_paper_details.py +146 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/tests/test_server.py +934 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/tests/test_text_search.py +123 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/arxiv/uv.lock +1769 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/.claude-plugin/plugin.json +5 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/.mcp.json +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/README.md +224 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/assets/mcp-client.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/assets/mcp-clientstartchronolog.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/assets/mcp-retievecopilot.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/assets/mcp-retrieve-diseasepred.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/docs/Chronolog_setup.md +146 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/pyproject.toml +63 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/server.json +51 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/src/chronomcp/__init__.py +21 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/src/chronomcp/capabilities/__init__.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/src/chronomcp/capabilities/record_handler.py +18 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/src/chronomcp/capabilities/retrieve_handler.py +45 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/src/chronomcp/capabilities/start_handler.py +37 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/src/chronomcp/capabilities/stop_handler.py +25 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/src/chronomcp/reader_script/CMakeLists.txt +46 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/src/chronomcp/reader_script/HDF5ArchiveReadingAgent.h +140 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/src/chronomcp/reader_script/reader.cpp +113 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/src/chronomcp/server.py +115 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/src/chronomcp/utils/config.py +47 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/src/chronomcp/utils/helpers.py +37 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/tests/__init__.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/tests/test_helpers.py +36 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/tests/test_integration.py +61 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/tests/test_record_handler.py +67 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/tests/test_retrieve_handler.py +71 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/tests/test_server.py +113 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/tests/test_start_handler.py +39 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/tests/test_stop_handler.py +49 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/tests/test_utils.py +47 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/chronolog/uv.lock +1830 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/.claude-plugin/plugin.json +5 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/.gitignore +54 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/.mcp.json +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/README.md +291 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/data/sample_data.csv +51 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/data/sample_log.txt +93 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/pyproject.toml +44 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/pytest.ini +6 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/server.json +43 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/src/compression_mcp/__init__.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/src/compression_mcp/capabilities/__init__.py +21 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/src/compression_mcp/capabilities/compression_base.py +99 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/src/compression_mcp/mcp_handlers.py +40 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/src/compression_mcp/server.py +108 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/tests/__init__.py +1 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/tests/test_compression_handler.py +109 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/tests/test_integration.py +34 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/tests/test_mcp_handlers.py +33 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/tests/test_server_basic.py +155 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/tests/test_server_coverage_completion.py +104 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/tests/test_server_execution_simple.py +132 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/compression/uv.lock +1781 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/.claude-plugin/plugin.json +5 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/.mcp.json +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/README.md +334 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/pyproject.toml +62 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/server.json +75 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/src/darshan_mcp/__init__.py +21 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/src/darshan_mcp/capabilities/__init__.py +1 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/src/darshan_mcp/capabilities/darshan_parser.py +857 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/src/darshan_mcp/server.py +315 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/tests/__init__.py +1 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/tests/test_darshan_parser.py +400 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/tests/test_darshan_parser_error_paths.py +454 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/tests/test_darshan_parser_posix_mpiio.py +460 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/tests/test_darshan_parser_text_parsing.py +519 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/tests/test_darshan_parser_timeline.py +506 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/tests/test_server.py +360 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/tests/test_server_main.py +156 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/darshan/uv.lock +2525 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/.claude-plugin/plugin.json +5 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/.gitignore +88 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/.mcp.json +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/README.md +725 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/TESTING.md +291 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/docs/ARCHITECTURE.md +425 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/docs/EXAMPLES.md +421 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/docs/MIGRATION.md +257 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/docs/TOOLS.md +499 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/docs/TRANSPORTS.md +274 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/examples/README.md +103 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/examples/create_demo_data.py +70 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/examples/demo_script.py +106 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/pyproject.toml +66 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/server.json +165 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/src/hdf5_mcp/__init__.py +21 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/src/hdf5_mcp/config.py +409 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/src/hdf5_mcp/resources.py +610 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/src/hdf5_mcp/server.py +2363 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/src/hdf5_mcp/utils.py +384 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/tests/conftest.py +145 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/tests/test_config_module.py +836 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/tests/test_placeholder.py +6 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/tests/test_resources_module.py +870 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/tests/test_utils_module.py +720 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/hdf5/uv.lock +2103 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/.claude-plugin/plugin.json +5 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/.mcp.json +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/README.md +582 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/docs/GUIDE.md +105 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 160800.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 162219.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 162322.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 162545.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 162922.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 163023.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 163516.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 163651.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 163759.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/docs/basic_install.md +93 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/pyproject.toml +55 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/requirements.txt +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/server.json +150 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/__init__.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/capabilities/__init__.py +21 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/capabilities/jarvis_handler.py +144 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/server.py +612 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/tests/__init__.py +1 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/tests/conftest.py +180 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/tests/run_tests.py +150 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/tests/test_basic.py +267 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/tests/test_edge_cases.py +361 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/tests/test_integration.py +395 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/tests/test_jarvis_handler.py +479 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/tests/test_performance.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/tests/test_server.py +700 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/tests/test_server_direct.py +655 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/tests/utils.py +593 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/jarvis/uv.lock +2081 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/lmod/.claude-plugin/plugin.json +5 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/lmod/.mcp.json +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/lmod/README.md +328 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/lmod/pyproject.toml +44 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/lmod/server.json +75 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/lmod/src/lmod_mcp/__init__.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/lmod/src/lmod_mcp/capabilities/__init__.py +21 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/lmod/src/lmod_mcp/capabilities/lmod_handler.py +397 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/lmod/src/lmod_mcp/server.py +275 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/lmod/tests/__init__.py +1 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/lmod/tests/test_lmod_handler.py +446 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/lmod/tests/test_server.py +462 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/lmod/uv.lock +1749 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/.claude-plugin/plugin.json +5 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/.mcp.json +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/README.md +282 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/docs/mcp_development_guide.md +660 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/docs/ndp_api.md +220 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/docs/ndp_docs.md +305 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/pyproject.toml +71 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/server.json +47 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/src/ndp_mcp/__init__.py +8 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/src/ndp_mcp/server.py +395 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/tests/__init__.py +1 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/tests/conftest.py +61 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/tests/test_init.py +31 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/tests/test_main.py +135 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/tests/test_mcp_tool_handlers.py +509 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/tests/test_mcp_tools.py +35 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/tests/test_ndp_client.py +324 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/tests/test_server.py +129 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/ndp/uv.lock +1976 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/.claude-plugin/plugin.json +5 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/.gitignore +257 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/.mcp.json +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/README.md +305 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/pyproject.toml +48 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/server.json +78 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/__init__.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/__init__.py +21 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/cpu_info.py +104 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/disk_info.py +112 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/gpu_info.py +118 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/hardware_summary.py +91 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/memory_info.py +71 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/network_info.py +127 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/performance_monitor.py +128 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/process_info.py +101 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/remote_node_info.py +478 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/sensor_info.py +132 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/system_info.py +78 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/utils.py +107 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/mcp_handlers.py +819 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/server.py +376 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/utils/__init__.py +21 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/utils/output_formatter.py +347 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/tests/conftest.py +230 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/tests/test_capabilities.py +703 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/tests/test_complete.py +431 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/tests/test_coverage_boost.py +1031 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/tests/test_direct_coverage.py +911 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/tests/test_mcp_handlers.py +428 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/node-hardware/tests/test_server.py +77 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/.claude-plugin/plugin.json +5 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/.gitignore +237 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/.mcp.json +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/README.md +329 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/example_script/create_sample_data.py +273 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/pyproject.toml +72 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/pytest.ini +12 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/server.json +95 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/src/pandas_mcp/__init__.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/__init__.py +21 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/data_cleaning.py +302 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/data_io.py +294 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/data_profiling.py +209 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/filtering.py +378 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/memory_optimization.py +384 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/output_formatter.py +373 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/pandas_statistics.py +203 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/time_series.py +319 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/transformations.py +359 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/validation.py +411 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/src/pandas_mcp/mcp_handlers.py +176 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/src/pandas_mcp/server.py +666 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/tests/__init__.py +1 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/tests/test_capabilities.py +213 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/tests/test_data_cleaning.py +367 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/tests/test_data_io.py +563 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/tests/test_data_profiling.py +313 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/tests/test_filtering.py +498 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/tests/test_mcp_handlers.py +175 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/tests/test_memory_optimization.py +496 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/tests/test_output_formatter.py +398 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/tests/test_pandas_statistics.py +380 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/tests/test_time_series.py +343 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/tests/test_transformations.py +522 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/pandas/tests/test_validation.py +396 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/.claude-plugin/plugin.json +5 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/.gitignore +29 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/.mcp.json +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/README.md +357 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/USAGE_GUIDE.md +188 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/pyproject.toml +46 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/pytest.ini +4 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/server.json +87 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/__init__.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/__init__.py +21 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/export_handler.py +314 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/filter_handler.py +619 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/parallel_processor.py +574 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/pattern_detection.py +536 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/sort_handler.py +133 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/statistics_handler.py +343 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/mcp_handlers.py +164 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/server.py +437 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/tests/__init__.py +3 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/tests/test_edge_cases.py +224 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/tests/test_export_handler.py +268 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/tests/test_filter_advanced.py +455 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/tests/test_filter_handler.py +350 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/tests/test_mcp_handlers.py +270 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/tests/test_mcp_handlers_errors.py +171 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/tests/test_parallel_processor.py +821 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/tests/test_pattern_detection.py +254 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/tests/test_server.py +38 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/tests/test_server_main.py +120 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/tests/test_sort_handler.py +217 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/tests/test_statistics_handler.py +177 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parallel-sort/uv.lock +1946 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/.claude-plugin/plugin.json +5 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/.gitignore +140 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/.mcp.json +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/LICENSE +38 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/README.md +559 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/USAGE_README.md +263 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/prompt.md +12 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/pyproject.toml +72 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/pytest.ini +6 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/requirements.txt +2 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/scripts/__init__.py +3 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/scripts/automate_setup.py +490 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/scripts/build_paraview.py +265 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/scripts/configure_paraview.py +267 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/scripts/install_deps.py +273 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/scripts/installation_example.py +40 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/scripts/launch_gui.py +79 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/scripts/launch_server.py +121 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/scripts/test_installation.py +355 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/server.json +139 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/src/paraview_mcp/__init__.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/src/paraview_mcp/implementation/__init__.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/src/paraview_mcp/implementation/paraview_capabilities.py +2202 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/src/paraview_mcp/server.py +1066 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/src/paraview_mcp/viz.html +47 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/tests/__init__.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/tests/test_paraview_adios2.py +510 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/tests/test_paraview_capabilities.py +656 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/tests/test_paraview_filters.py +611 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/tests/test_paraview_rendering.py +575 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/tests/test_paraview_utilities.py +527 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/tests/test_server.py +175 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/paraview/uv.lock +2015 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/.claude-plugin/plugin.json +5 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/.gitignore +57 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/.mcp.json +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/README.md +368 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/data/data.csv +76 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/data/huge_log.txt +10 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/data/small_log.txt +4 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/data/weather_data.parquet +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/datasets/batch_1.parquet +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/datasets/batch_large_strings.parquet +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/evaluation.xml +43 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/images/compress.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/images/getResource.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/images/listResources.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/images/listTools.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/images/pandas.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/images/parquet.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/images/sort.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/images/tests.png +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/pyproject.toml +48 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/pytest.ini +6 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/server.json +51 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/src/__init__.py +3 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/src/parquet_mcp/__init__.py +3 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/src/parquet_mcp/capabilities/__init__.py +1 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/src/parquet_mcp/capabilities/parquet_handler.py +839 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/src/parquet_mcp/server.py +199 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/README.md +133 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/__init__.py +4 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/conftest.py +68 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_additional_edge_cases.py +233 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_aggregate_column.py +343 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_boundary_rows.py +286 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_column_selection.py +242 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_data_types.py +222 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_default_parameters.py +195 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_estimate_slice_size.py +269 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_filter_edge_cases.py +249 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_filter_operations.py +418 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_filtered_slice.py +273 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_filtering.py +320 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_get_column_preview.py +234 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_json_response_validation.py +351 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_malformed_files.py +234 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_null_handling.py +153 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_path_security.py +222 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_performance.py +309 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_read_slice.py +146 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_response_format.py +269 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_server.py +97 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_summarize.py +54 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/tests/test_tool_consistency.py +280 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/parquet/uv.lock +1855 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/.claude-plugin/plugin.json +5 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/.gitignore +20 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/.mcp.json +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/README.md +351 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/data/sample_data.csv +11 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/data/temperature.csv +48471 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/pyproject.toml +51 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/pytest.ini +15 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/server.json +59 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/src/plot_mcp/__init__.py +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/src/plot_mcp/implementation/__init__.py +21 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/src/plot_mcp/implementation/plot_capabilities.py +387 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/src/plot_mcp/server.py +315 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/tests/__init__.py +3 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/tests/conftest.py +49 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/tests/test_capabilities.py +385 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/tests/test_complete.py +644 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/tests/test_handlers.py +431 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/tests/test_integration.py +479 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/tests/test_server.py +261 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/plot/uv.lock +2250 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/.claude-plugin/plugin.json +5 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/.gitignore +71 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/.mcp.json +9 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/README.md +313 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/docs/MCP_SERVER_GUIDE.md +57 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/docs/basic_install.md +93 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/docs/run.md +375 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/docs/slurm_installation/NATIVE_SLURM_SUCCESS_REPORT.md +139 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/docs/slurm_installation/SLURM_INSTALLATION_GUIDE.md +491 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/docs/slurm_installation/final_verification.sh +209 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/docs/slurm_installation/install_slurm.sh +350 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/docs/slurm_installation/parallel_job.sh +64 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/docs/slurm_installation/quick_native_test.sh +11 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/docs/slurm_installation/slurm.conf +40 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/docs/slurm_installation/slurm_config.conf +32 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/example_scripts/README.md +242 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/example_scripts/SLURM_SCRIPT_GENERATION_PROMPT.md +236 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/example_scripts/array_job.sh +60 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/example_scripts/data_processing.sh +140 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/example_scripts/generate_slurm_script.sh +395 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/example_scripts/hello_world.sh +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/example_scripts/long_simulation.sh +121 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/example_scripts/python_computation.sh +0 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/logs/README.md +39 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/pyproject.toml +48 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/pytest.ini +6 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/server.json +87 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/__init__.py +4 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/__init__.py +21 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/array_jobs.py +118 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/cluster_info.py +63 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_cancellation.py +49 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_details.py +87 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_listing.py +75 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_output.py +91 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_status.py +50 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_submission.py +167 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/node_allocation.py +493 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/node_info.py +52 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/queue_info.py +104 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/slurm_handler.py +59 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/utils.py +24 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/mcp_handlers.py +349 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/src/slurm_mcp/server.py +519 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/tests/__init__.py +4 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/tests/conftest.py +433 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/tests/test_capabilities.py +364 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/tests/test_coverage_improvement.py +1524 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/tests/test_init.py +20 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/tests/test_integration.py +395 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/tests/test_mcp_handlers.py +733 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/tests/test_node_allocation_coverage.py +347 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/tests/test_performance.py +559 -0
- clio_kit-2.0.0.data/data/clio-kit-mcp-servers/slurm/tests/test_server_tools.py +1236 -0
- clio_kit-2.0.0.dist-info/METADATA +345 -0
- clio_kit-2.0.0.dist-info/RECORD +506 -0
- clio_kit-2.0.0.dist-info/WHEEL +4 -0
- clio_kit-2.0.0.dist-info/entry_points.txt +2 -0
- clio_kit-2.0.0.dist-info/licenses/LICENSE +29 -0
clio_kit/__init__.py
ADDED
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
import os
|
|
3
|
+
import sys
|
|
4
|
+
import subprocess
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
import click
|
|
7
|
+
|
|
8
|
+
# Determine if we're running from development or installed package
|
|
9
|
+
MODULE_DIR = Path(__file__).parent
|
|
10
|
+
|
|
11
|
+
def get_servers_path():
|
|
12
|
+
"""Get the path to servers directory (dev or installed)"""
|
|
13
|
+
# First try development path (../../clio-kit-mcp-servers from module)
|
|
14
|
+
dev_path = MODULE_DIR.parent.parent / "clio-kit-mcp-servers"
|
|
15
|
+
if dev_path.exists():
|
|
16
|
+
return dev_path
|
|
17
|
+
|
|
18
|
+
# Try to find shared data in the installed package
|
|
19
|
+
# When installed via wheel, shared data goes to site-packages/
|
|
20
|
+
# Look for clio-kit-mcp-servers directory in various possible locations
|
|
21
|
+
possible_paths = [
|
|
22
|
+
# Standard site-packages installation
|
|
23
|
+
MODULE_DIR.parent / "clio-kit-mcp-servers", # ../clio-kit-mcp-servers from module
|
|
24
|
+
# Alternative installation paths
|
|
25
|
+
MODULE_DIR / "clio-kit-mcp-servers", # ./clio-kit-mcp-servers from module (if included directly)
|
|
26
|
+
# System-wide data directory
|
|
27
|
+
Path(sys.prefix) / "share" / "clio-kit" / "clio-kit-mcp-servers",
|
|
28
|
+
# Local data directory
|
|
29
|
+
Path.home() / ".local" / "share" / "clio-kit" / "clio-kit-mcp-servers",
|
|
30
|
+
]
|
|
31
|
+
|
|
32
|
+
# Try each possible path
|
|
33
|
+
for path in possible_paths:
|
|
34
|
+
if path.exists() and path.is_dir():
|
|
35
|
+
return path
|
|
36
|
+
|
|
37
|
+
# If none found, check if we're in an isolated environment (like uvx)
|
|
38
|
+
# and try to find the data directory relative to the Python executable
|
|
39
|
+
python_path = Path(sys.executable)
|
|
40
|
+
isolated_paths = [
|
|
41
|
+
# uvx style isolated environment - clio-kit-mcp-servers is at the root level
|
|
42
|
+
python_path.parent.parent / "clio-kit-mcp-servers",
|
|
43
|
+
python_path.parent.parent / "share" / "clio-kit-mcp-servers",
|
|
44
|
+
python_path.parent.parent / "purelib" / "clio-kit-mcp-servers",
|
|
45
|
+
python_path.parent.parent / "data" / "clio-kit-mcp-servers",
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
for path in isolated_paths:
|
|
49
|
+
if path.exists() and path.is_dir():
|
|
50
|
+
return path
|
|
51
|
+
|
|
52
|
+
# Last resort: return the dev path even if it doesn't exist
|
|
53
|
+
# so the caller can handle the missing directory appropriately
|
|
54
|
+
return dev_path
|
|
55
|
+
|
|
56
|
+
def get_prompts_path():
|
|
57
|
+
"""Get the path to prompts directory (dev or installed)"""
|
|
58
|
+
# First try development path (../../prompts from module)
|
|
59
|
+
dev_path = MODULE_DIR.parent.parent / "prompts"
|
|
60
|
+
if dev_path.exists():
|
|
61
|
+
return dev_path
|
|
62
|
+
|
|
63
|
+
# Try to find shared data in the installed package
|
|
64
|
+
possible_paths = [
|
|
65
|
+
# Standard site-packages installation
|
|
66
|
+
MODULE_DIR.parent / "prompts", # ../prompts from module
|
|
67
|
+
# Alternative installation paths
|
|
68
|
+
MODULE_DIR / "prompts", # ./prompts from module
|
|
69
|
+
# System-wide data directory
|
|
70
|
+
Path(sys.prefix) / "share" / "clio-kit" / "prompts",
|
|
71
|
+
# Local data directory
|
|
72
|
+
Path.home() / ".local" / "share" / "clio-kit" / "prompts",
|
|
73
|
+
]
|
|
74
|
+
|
|
75
|
+
# Try each possible path
|
|
76
|
+
for path in possible_paths:
|
|
77
|
+
if path.exists() and path.is_dir():
|
|
78
|
+
return path
|
|
79
|
+
|
|
80
|
+
# If none found, check if we're in an isolated environment (like uvx)
|
|
81
|
+
python_path = Path(sys.executable)
|
|
82
|
+
isolated_paths = [
|
|
83
|
+
# uvx style isolated environment
|
|
84
|
+
python_path.parent.parent / "prompts",
|
|
85
|
+
python_path.parent.parent / "share" / "prompts",
|
|
86
|
+
python_path.parent.parent / "purelib" / "prompts",
|
|
87
|
+
python_path.parent.parent / "data" / "prompts",
|
|
88
|
+
]
|
|
89
|
+
|
|
90
|
+
for path in isolated_paths:
|
|
91
|
+
if path.exists() and path.is_dir():
|
|
92
|
+
return path
|
|
93
|
+
|
|
94
|
+
# Last resort: return the dev path
|
|
95
|
+
return dev_path
|
|
96
|
+
|
|
97
|
+
def auto_discover_mcps():
|
|
98
|
+
"""Auto-discover MCP servers from the clio-kit-mcp-servers directory"""
|
|
99
|
+
servers_path = get_servers_path()
|
|
100
|
+
if not servers_path.exists():
|
|
101
|
+
return {}, {}
|
|
102
|
+
|
|
103
|
+
server_command_map = {}
|
|
104
|
+
dir_name_map = {}
|
|
105
|
+
|
|
106
|
+
# Scan for directories containing pyproject.toml
|
|
107
|
+
for item in servers_path.iterdir():
|
|
108
|
+
if item.is_dir() and not item.name.startswith('.'):
|
|
109
|
+
pyproject_file = item / "pyproject.toml"
|
|
110
|
+
if pyproject_file.exists():
|
|
111
|
+
# Read pyproject.toml to extract entry point
|
|
112
|
+
try:
|
|
113
|
+
with open(pyproject_file, 'r') as f:
|
|
114
|
+
content = f.read()
|
|
115
|
+
|
|
116
|
+
# Simple parsing to find the entry point
|
|
117
|
+
# Look for lines like: server-name-mcp = "module:main"
|
|
118
|
+
entry_point = None
|
|
119
|
+
for line in content.split('\n'):
|
|
120
|
+
line = line.strip()
|
|
121
|
+
if '-mcp =' in line and '=' in line:
|
|
122
|
+
entry_point = line.split('=')[0].strip().strip('"\'')
|
|
123
|
+
break
|
|
124
|
+
|
|
125
|
+
if entry_point:
|
|
126
|
+
# Create server name by removing -mcp suffix
|
|
127
|
+
server_name = entry_point.replace('-mcp', '').lower()
|
|
128
|
+
# Handle special cases for naming
|
|
129
|
+
if server_name == 'node-hardware':
|
|
130
|
+
server_name = 'node-hardware'
|
|
131
|
+
elif server_name == 'parallel-sort':
|
|
132
|
+
server_name = 'parallel-sort'
|
|
133
|
+
|
|
134
|
+
server_command_map[server_name] = entry_point
|
|
135
|
+
dir_name_map[server_name] = item.name
|
|
136
|
+
|
|
137
|
+
except Exception as e:
|
|
138
|
+
# Skip directories that can't be processed
|
|
139
|
+
continue
|
|
140
|
+
|
|
141
|
+
return server_command_map, dir_name_map
|
|
142
|
+
|
|
143
|
+
def auto_discover_prompts():
|
|
144
|
+
"""Auto-discover prompts from the prompts directory (recursively)"""
|
|
145
|
+
prompts_path = get_prompts_path()
|
|
146
|
+
if not prompts_path.exists():
|
|
147
|
+
return {}
|
|
148
|
+
|
|
149
|
+
prompt_map = {}
|
|
150
|
+
|
|
151
|
+
# Recursively scan for .md files
|
|
152
|
+
for md_file in prompts_path.rglob("*.md"):
|
|
153
|
+
# Get relative path from prompts directory
|
|
154
|
+
relative_path = md_file.relative_to(prompts_path)
|
|
155
|
+
|
|
156
|
+
# Create prompt name from relative path without extension
|
|
157
|
+
# e.g., "code-coverage-prompt.md" -> "code-coverage-prompt"
|
|
158
|
+
# e.g., "testing/foo.md" -> "testing/foo"
|
|
159
|
+
prompt_name = str(relative_path.with_suffix(''))
|
|
160
|
+
|
|
161
|
+
# Also support underscore version
|
|
162
|
+
# "code-coverage-prompt" -> also accessible as "code_coverage_prompt"
|
|
163
|
+
prompt_map[prompt_name] = md_file
|
|
164
|
+
prompt_map[prompt_name.replace('-', '_')] = md_file
|
|
165
|
+
|
|
166
|
+
return prompt_map
|
|
167
|
+
|
|
168
|
+
def list_available_servers():
|
|
169
|
+
"""List all available servers"""
|
|
170
|
+
server_command_map, _ = auto_discover_mcps()
|
|
171
|
+
return sorted(server_command_map.keys())
|
|
172
|
+
|
|
173
|
+
def list_available_prompts():
|
|
174
|
+
"""List all available prompts"""
|
|
175
|
+
prompt_map = auto_discover_prompts()
|
|
176
|
+
# Remove duplicates (dash vs underscore versions)
|
|
177
|
+
unique_prompts = set()
|
|
178
|
+
for name in prompt_map.keys():
|
|
179
|
+
# Normalize to dash version for display
|
|
180
|
+
unique_prompts.add(name.replace('_', '-'))
|
|
181
|
+
return sorted(unique_prompts)
|
|
182
|
+
|
|
183
|
+
@click.group(invoke_without_command=True)
|
|
184
|
+
@click.pass_context
|
|
185
|
+
def main(ctx):
|
|
186
|
+
"""clio-kit: Unified launcher for MCP servers and AI prompts"""
|
|
187
|
+
if ctx.invoked_subcommand is None:
|
|
188
|
+
click.echo("clio-kit: Unified launcher for MCP servers and AI prompts")
|
|
189
|
+
click.echo("\nAvailable commands:")
|
|
190
|
+
click.echo(" mcp-server Run an MCP server")
|
|
191
|
+
click.echo(" mcp-servers List all available MCP servers")
|
|
192
|
+
click.echo(" prompt Print a prompt to stdout")
|
|
193
|
+
click.echo(" prompts List all available prompts")
|
|
194
|
+
click.echo("\nUsage:")
|
|
195
|
+
click.echo(" uvx clio-kit mcp-server <server-name>")
|
|
196
|
+
click.echo(" uvx clio-kit prompt <prompt-name>")
|
|
197
|
+
click.echo("\nFor more help: uvx clio-kit <command> --help")
|
|
198
|
+
|
|
199
|
+
@main.command("mcp-server")
|
|
200
|
+
@click.argument('server', required=False)
|
|
201
|
+
@click.option('-b', '--branch', help='Git branch to use (for development)')
|
|
202
|
+
@click.argument('args', nargs=-1, type=click.UNPROCESSED)
|
|
203
|
+
def mcp_server(server, branch, args):
|
|
204
|
+
"""Run an MCP server. List all if no server specified."""
|
|
205
|
+
|
|
206
|
+
server_command_map, dir_name_map = auto_discover_mcps()
|
|
207
|
+
|
|
208
|
+
if not server:
|
|
209
|
+
click.echo("Available MCP servers:")
|
|
210
|
+
for s in sorted(server_command_map.keys()):
|
|
211
|
+
click.echo(f" - {s}")
|
|
212
|
+
click.echo("\nUsage: uvx clio-kit mcp-server <server-name>")
|
|
213
|
+
click.echo(" or: clio-kit mcp-server <server-name> (if installed)")
|
|
214
|
+
return
|
|
215
|
+
|
|
216
|
+
# Normalize server name to lowercase
|
|
217
|
+
server_lower = server.lower()
|
|
218
|
+
|
|
219
|
+
if server_lower not in server_command_map:
|
|
220
|
+
click.echo(f"Error: Unknown server '{server}'")
|
|
221
|
+
click.echo(f"Available servers: {', '.join(sorted(server_command_map.keys()))}")
|
|
222
|
+
sys.exit(1)
|
|
223
|
+
|
|
224
|
+
# Get the entry point command and directory name
|
|
225
|
+
entry_command = server_command_map[server_lower]
|
|
226
|
+
actual_dir = dir_name_map[server_lower]
|
|
227
|
+
|
|
228
|
+
# Build uvx command
|
|
229
|
+
if branch:
|
|
230
|
+
# Run from git branch
|
|
231
|
+
cmd = [
|
|
232
|
+
"uvx",
|
|
233
|
+
"--from",
|
|
234
|
+
f"git+https://github.com/iowarp/clio-kit.git@{branch}#subdirectory=clio-kit-mcp-servers/{actual_dir}",
|
|
235
|
+
entry_command
|
|
236
|
+
]
|
|
237
|
+
else:
|
|
238
|
+
# Run from local path in development mode
|
|
239
|
+
servers_path = get_servers_path()
|
|
240
|
+
server_path = servers_path / actual_dir
|
|
241
|
+
|
|
242
|
+
if server_path.exists():
|
|
243
|
+
# Development mode - run from local path
|
|
244
|
+
cmd = [
|
|
245
|
+
"uvx",
|
|
246
|
+
"--from",
|
|
247
|
+
str(server_path),
|
|
248
|
+
entry_command
|
|
249
|
+
]
|
|
250
|
+
else:
|
|
251
|
+
# Not in development, try to run the command directly (if installed)
|
|
252
|
+
cmd = [entry_command]
|
|
253
|
+
|
|
254
|
+
# Add any additional arguments
|
|
255
|
+
cmd.extend(args)
|
|
256
|
+
|
|
257
|
+
# Execute the command
|
|
258
|
+
try:
|
|
259
|
+
subprocess.run(cmd, check=True)
|
|
260
|
+
except subprocess.CalledProcessError as e:
|
|
261
|
+
sys.exit(e.returncode)
|
|
262
|
+
except FileNotFoundError:
|
|
263
|
+
if cmd[0] == "uvx":
|
|
264
|
+
click.echo("Error: uvx not found. Please install uv: https://github.com/astral-sh/uv")
|
|
265
|
+
else:
|
|
266
|
+
click.echo(f"Error: {entry_command} not found. Please install the server package.")
|
|
267
|
+
sys.exit(1)
|
|
268
|
+
|
|
269
|
+
@main.command("mcp-servers")
|
|
270
|
+
def list_mcp_servers():
|
|
271
|
+
"""List all available MCP servers"""
|
|
272
|
+
servers = list_available_servers()
|
|
273
|
+
if servers:
|
|
274
|
+
click.echo("Available MCP servers:")
|
|
275
|
+
for s in servers:
|
|
276
|
+
click.echo(f" - {s}")
|
|
277
|
+
else:
|
|
278
|
+
click.echo("No MCP servers found.")
|
|
279
|
+
|
|
280
|
+
@main.command("prompt")
|
|
281
|
+
@click.argument('prompt_name', required=False)
|
|
282
|
+
def prompt(prompt_name):
|
|
283
|
+
"""Print a prompt to stdout. List all if no name specified."""
|
|
284
|
+
|
|
285
|
+
prompt_map = auto_discover_prompts()
|
|
286
|
+
|
|
287
|
+
if not prompt_name:
|
|
288
|
+
# List all prompts
|
|
289
|
+
prompts = list_available_prompts()
|
|
290
|
+
if prompts:
|
|
291
|
+
click.echo("Available prompts:")
|
|
292
|
+
for p in prompts:
|
|
293
|
+
click.echo(f" - {p}")
|
|
294
|
+
else:
|
|
295
|
+
click.echo("No prompts found.")
|
|
296
|
+
click.echo("\nUsage: uvx clio-kit prompt <prompt-name>")
|
|
297
|
+
click.echo(" or: clio-kit prompt <prompt-name> (if installed)")
|
|
298
|
+
return
|
|
299
|
+
|
|
300
|
+
# Normalize prompt name (support both dash and underscore)
|
|
301
|
+
prompt_lower = prompt_name.lower()
|
|
302
|
+
|
|
303
|
+
if prompt_lower not in prompt_map:
|
|
304
|
+
click.echo(f"Error: Unknown prompt '{prompt_name}'")
|
|
305
|
+
click.echo(f"Available prompts: {', '.join(list_available_prompts())}")
|
|
306
|
+
sys.exit(1)
|
|
307
|
+
|
|
308
|
+
# Read and print the prompt file
|
|
309
|
+
prompt_file = prompt_map[prompt_lower]
|
|
310
|
+
try:
|
|
311
|
+
with open(prompt_file, 'r') as f:
|
|
312
|
+
content = f.read()
|
|
313
|
+
click.echo(content)
|
|
314
|
+
except Exception as e:
|
|
315
|
+
click.echo(f"Error reading prompt file: {e}")
|
|
316
|
+
sys.exit(1)
|
|
317
|
+
|
|
318
|
+
@main.command("prompts")
|
|
319
|
+
def list_prompts_cmd():
|
|
320
|
+
"""List all available prompts"""
|
|
321
|
+
prompts = list_available_prompts()
|
|
322
|
+
if prompts:
|
|
323
|
+
click.echo("Available prompts:")
|
|
324
|
+
for p in prompts:
|
|
325
|
+
click.echo(f" - {p}")
|
|
326
|
+
else:
|
|
327
|
+
click.echo("No prompts found.")
|
|
328
|
+
|
|
329
|
+
def cli():
|
|
330
|
+
"""Entry point for the CLI"""
|
|
331
|
+
main()
|
|
332
|
+
|
|
333
|
+
if __name__ == "__main__":
|
|
334
|
+
main()
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
|
|
2
|
+
.venv/
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
__pycache__/
|
|
6
|
+
*.pyc
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
*.gz
|
|
10
|
+
*.png
|
|
11
|
+
*.log
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
*.coverage
|
|
15
|
+
.coverage
|
|
16
|
+
htmlcov/
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
.vscode/
|
|
20
|
+
.idea/
|
|
21
|
+
|
|
22
|
+
# Python packaging artifacts
|
|
23
|
+
*.egg-info/
|
|
24
|
+
*.egg-info
|
|
25
|
+
build/
|
|
26
|
+
dist/
|
|
27
|
+
*.egg
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
# Adios MCP Server
|
|
2
|
+
|
|
3
|
+
[](https://opensource.org/licenses/MIT)
|
|
4
|
+
[](https://pypi.org/project/adios-mcp/)
|
|
5
|
+
[](https://www.python.org/)
|
|
6
|
+
|
|
7
|
+
**Part of [CLIO Kit](https://toolkit.iowarp.ai/) - Gnosis Research Center**
|
|
8
|
+
|
|
9
|
+
ADIOS MCP is a comprehensive Model Context Protocol (MCP) server that enables Language Learning Models (LLMs) to access and analyze scientific simulation and real-time data through the ADIOS2 framework. This server provides read-only access to BP5 datasets with intelligent data handling and seaml...
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
uvx clio-kit mcp-server adios
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Documentation
|
|
18
|
+
|
|
19
|
+
- **Full Documentation**: [CLIO Kit Website](https://toolkit.iowarp.ai/)
|
|
20
|
+
- **Installation Guide**: See [INSTALLATION.md](../../../CLAUDE.md#setup--installation)
|
|
21
|
+
- **Contributing**: See [Contribution Guide](https://github.com/iowarp/clio-kit/wiki/Contribution)
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Description
|
|
26
|
+
|
|
27
|
+
ADIOS MCP is a comprehensive Model Context Protocol (MCP) server that enables Language Learning Models (LLMs) to access and analyze scientific simulation and real-time data through the ADIOS2 framework. This server provides read-only access to BP5 datasets with intelligent data handling and seamless integration with AI coding assistants.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
**Key Features:**
|
|
32
|
+
- **High-Performance Data Access**: Read-only access to ADIOS2 BP5 files with optimized I/O operations
|
|
33
|
+
- **Intelligent Data Processing**: Automatic variable type detection, shape analysis, and step-based data handling
|
|
34
|
+
- **Multiple Data Operations**: Variable inspection, attribute reading, data slicing, and statistical analysis
|
|
35
|
+
- **Scientific Computing Support**: Time-series analysis, multi-dimensional arrays, and metadata handling
|
|
36
|
+
- **Cross-Platform Compatibility**: Pure Python implementation for Linux, macOS, and Windows
|
|
37
|
+
- **MCP Integration**: Full Model Context Protocol compliance for seamless LLM integration
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## 🛠️ Installation
|
|
42
|
+
|
|
43
|
+
### Requirements
|
|
44
|
+
|
|
45
|
+
- Python 3.10 or higher
|
|
46
|
+
- [uv](https://docs.astral.sh/uv/) package manager (recommended)
|
|
47
|
+
- Linux/macOS environment (Windows supported)
|
|
48
|
+
|
|
49
|
+
<details>
|
|
50
|
+
<summary><b>Install in Cursor</b></summary>
|
|
51
|
+
|
|
52
|
+
Go to: `Settings` -> `Cursor Settings` -> `MCP` -> `Add new global MCP server`
|
|
53
|
+
|
|
54
|
+
Pasting the following configuration into your Cursor `~/.cursor/mcp.json` file is the recommended approach. You may also install in a specific project by creating `.cursor/mcp.json` in your project folder. See [Cursor MCP docs](https://docs.cursor.com/context/model-context-protocol) for more info.
|
|
55
|
+
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"mcpServers": {
|
|
59
|
+
"adios-mcp": {
|
|
60
|
+
"command": "uvx",
|
|
61
|
+
"args": ["clio-kit", "mcp-server", "adios"]
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
</details>
|
|
68
|
+
|
|
69
|
+
<details>
|
|
70
|
+
<summary><b>Install in VS Code</b></summary>
|
|
71
|
+
|
|
72
|
+
Add this to your VS Code MCP config file. See [VS Code MCP docs](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) for more info.
|
|
73
|
+
|
|
74
|
+
```json
|
|
75
|
+
"mcp": {
|
|
76
|
+
"servers": {
|
|
77
|
+
"adios-mcp": {
|
|
78
|
+
"type": "stdio",
|
|
79
|
+
"command": "uvx",
|
|
80
|
+
"args": ["clio-kit", "mcp-server", "adios"]
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
</details>
|
|
87
|
+
|
|
88
|
+
<details>
|
|
89
|
+
<summary><b>Install in Claude Code</b></summary>
|
|
90
|
+
|
|
91
|
+
Run this command. See [Claude Code MCP docs](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/tutorials#set-up-model-context-protocol-mcp) for more info.
|
|
92
|
+
|
|
93
|
+
```sh
|
|
94
|
+
claude mcp add adios-mcp -- uvx clio-kit mcp-server adios
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
</details>
|
|
98
|
+
|
|
99
|
+
<details>
|
|
100
|
+
<summary><b>Install in Claude Desktop</b></summary>
|
|
101
|
+
|
|
102
|
+
Add this to your Claude Desktop `claude_desktop_config.json` file. See [Claude Desktop MCP docs](https://modelcontextprotocol.io/quickstart/user) for more info.
|
|
103
|
+
|
|
104
|
+
```json
|
|
105
|
+
{
|
|
106
|
+
"mcpServers": {
|
|
107
|
+
"adios-mcp": {
|
|
108
|
+
"command": "uvx",
|
|
109
|
+
"args": ["clio-kit", "mcp-server", "adios"]
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
</details>
|
|
116
|
+
|
|
117
|
+
<details>
|
|
118
|
+
<summary><b>Manual Setup</b></summary>
|
|
119
|
+
|
|
120
|
+
**Linux/macOS:**
|
|
121
|
+
```bash
|
|
122
|
+
CLONE_DIR=$(pwd)
|
|
123
|
+
git clone https://github.com/iowarp/clio-kit.git
|
|
124
|
+
uv --directory=$CLONE_DIR/clio-kit/clio-kit-mcp-servers/adios run adios-mcp --help
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**Windows CMD:**
|
|
128
|
+
```cmd
|
|
129
|
+
set CLONE_DIR=%cd%
|
|
130
|
+
git clone https://github.com/iowarp/clio-kit.git
|
|
131
|
+
uv --directory=%CLONE_DIR%\clio-kit\clio-kit-mcp-servers\adios run adios-mcp --help
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Windows PowerShell:**
|
|
135
|
+
```powershell
|
|
136
|
+
$env:CLONE_DIR=$PWD
|
|
137
|
+
git clone https://github.com/iowarp/clio-kit.git
|
|
138
|
+
uv --directory=$env:CLONE_DIR\clio-kit\clio-kit-mcp-servers\adios run adios-mcp --help
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
</details>
|
|
142
|
+
|
|
143
|
+
## Capabilities
|
|
144
|
+
|
|
145
|
+
### `list_bp5`
|
|
146
|
+
**Description**: Lists all BP5 files in a given directory. The 'directory' parameter must be an absolute path.
|
|
147
|
+
**Hints**: read-only, idempotent
|
|
148
|
+
**Tags**: adios, scientific-io
|
|
149
|
+
|
|
150
|
+
### `inspect_variables`
|
|
151
|
+
**Description**: Inspects variables in a BP5 file, returning type, shape, and steps. Optionally filters by variable name.
|
|
152
|
+
**Hints**: read-only, idempotent
|
|
153
|
+
**Tags**: adios, variables
|
|
154
|
+
|
|
155
|
+
### `inspect_variables_at_step`
|
|
156
|
+
**Description**: Inspects a specific variable at a given step in a BP5 file. All parameters are required.
|
|
157
|
+
**Hints**: read-only, idempotent
|
|
158
|
+
**Tags**: adios, variables
|
|
159
|
+
|
|
160
|
+
### `inspect_attributes`
|
|
161
|
+
**Description**: Reads global or variable-specific attributes from a BP5 file. The 'variable_name' is optional.
|
|
162
|
+
**Hints**: read-only, idempotent
|
|
163
|
+
**Tags**: adios, attributes
|
|
164
|
+
|
|
165
|
+
### `read_variable_at_step`
|
|
166
|
+
**Description**: Reads a named variable at a specific step from a BP5 file. All parameters are required.
|
|
167
|
+
**Hints**: read-only, idempotent
|
|
168
|
+
**Tags**: adios, variables
|
|
169
|
+
|
|
170
|
+
### Resources
|
|
171
|
+
|
|
172
|
+
- `adios://capabilities` - ADIOS2 file format capabilities and supported engines.
|
|
173
|
+
|
|
174
|
+
### Prompts
|
|
175
|
+
|
|
176
|
+
- **explore_bp_file**: Guided workflow for exploring an ADIOS2 BP file.
|
|
177
|
+
## Claude Code
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
claude mcp add clio-adios -- uvx clio-kit adios
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Or install via the CLIO Kit plugin marketplace:
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
/plugin marketplace add iowarp/clio-kit
|
|
187
|
+
/plugin install clio-adios@iowarp-clio-kit
|
|
188
|
+
```
|
|
189
|
+
## Claude Desktop
|
|
190
|
+
|
|
191
|
+
Add to your Claude Desktop config (`claude_desktop_config.json`):
|
|
192
|
+
|
|
193
|
+
```json
|
|
194
|
+
{
|
|
195
|
+
"mcpServers": {
|
|
196
|
+
"clio-adios": {
|
|
197
|
+
"command": "uvx",
|
|
198
|
+
"args": [
|
|
199
|
+
"clio-kit",
|
|
200
|
+
"adios"
|
|
201
|
+
]
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
```
|
|
206
|
+
## Gemini CLI
|
|
207
|
+
|
|
208
|
+
Add to `~/.gemini/settings.json`:
|
|
209
|
+
|
|
210
|
+
```json
|
|
211
|
+
{
|
|
212
|
+
"mcpServers": {
|
|
213
|
+
"clio-adios": {
|
|
214
|
+
"command": "uvx",
|
|
215
|
+
"args": [
|
|
216
|
+
"clio-kit",
|
|
217
|
+
"adios"
|
|
218
|
+
]
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Or install the CLIO Kit extension:
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
gemini extensions install https://github.com/iowarp/clio-kit
|
|
228
|
+
```
|
|
229
|
+
## Examples
|
|
230
|
+
|
|
231
|
+
### 1. Scientific Data Structure Analysis
|
|
232
|
+
```
|
|
233
|
+
I have a BP5 simulation file at /data/simulation_results.bp. Can you first analyze the data structure and then show me the temperature variable evolution over time?
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**Tools called:**
|
|
237
|
+
- `inspect_variables` - Analyze the dataset structure and available variables
|
|
238
|
+
- `read_variable_at_step` - Read temperature data at specific time steps
|
|
239
|
+
|
|
240
|
+
This prompt will:
|
|
241
|
+
- Use `inspect_variables` to analyze the BP5 file structure and discover all variables
|
|
242
|
+
- Extract temperature variable data using `read_variable_at_step` at different time steps
|
|
243
|
+
- Provide insights about the simulation data structure and temporal evolution
|
|
244
|
+
|
|
245
|
+
### 2. Multi-Variable Scientific Analysis
|
|
246
|
+
```
|
|
247
|
+
Using the file /data/fluid_dynamics.bp, perform a comprehensive analysis showing:
|
|
248
|
+
1. All available variables and their properties
|
|
249
|
+
2. Pressure field at step 50
|
|
250
|
+
3. Variable metadata and attributes for the pressure field
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
**Tools called:**
|
|
254
|
+
- `inspect_variables` - List all available variables and properties
|
|
255
|
+
- `read_variable_at_step` - Extract pressure field at step 50
|
|
256
|
+
- `inspect_attributes` - Get pressure variable metadata
|
|
257
|
+
|
|
258
|
+
This prompt will:
|
|
259
|
+
- Generate comprehensive variable inventory using `inspect_variables`
|
|
260
|
+
- Extract specific time step data using `read_variable_at_step`
|
|
261
|
+
- Analyze variable metadata with `inspect_attributes`
|
|
262
|
+
- Provide detailed analysis of fluid dynamics simulation data
|
|
263
|
+
|
|
264
|
+
### 3. Time-Series Variable Inspection
|
|
265
|
+
```
|
|
266
|
+
From /data/climate_model.bp, I want to understand the temperature variable structure across different time steps and inspect its properties at step 25.
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
**Tools called:**
|
|
270
|
+
- `inspect_variables` - Get temperature variable structure and available steps
|
|
271
|
+
- `inspect_variables_at_step` - Detailed inspection at step 25
|
|
272
|
+
|
|
273
|
+
This prompt will:
|
|
274
|
+
- Use `inspect_variables` to understand overall variable structure
|
|
275
|
+
- Use `inspect_variables_at_step` to get detailed information at a specific time step
|
|
276
|
+
- Provide comprehensive time-series data structure analysis
|
|
277
|
+
|
|
278
|
+
### 4. High-Performance Computing Data Analysis
|
|
279
|
+
```
|
|
280
|
+
Analyze the simulation output at /data/parallel_computation.bp - show me the variable structure, read specific computational domain data, and extract metadata attributes.
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
**Tools called:**
|
|
284
|
+
- `inspect_variables` - Analyze computational variables and structure
|
|
285
|
+
- `inspect_attributes` - Extract simulation metadata and parameters
|
|
286
|
+
- `read_variable_at_step` - Read domain-specific data
|
|
287
|
+
|
|
288
|
+
This prompt will:
|
|
289
|
+
- Use `inspect_variables` to understand parallel computation structure
|
|
290
|
+
- Extract simulation parameters with `inspect_attributes`
|
|
291
|
+
- Read specific computational domain data using `read_variable_at_step`
|
|
292
|
+
- Provide HPC-focused data analysis
|
|
293
|
+
|
|
294
|
+
### 5. Scientific Data Validation and Exploration
|
|
295
|
+
```
|
|
296
|
+
I need to validate the integrity of my ADIOS dataset at /data/experimental_results.bp - check all variables, their step-wise properties, and ensure metadata completeness.
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
**Tools called:**
|
|
300
|
+
- `inspect_variables` - Comprehensive variable structure validation
|
|
301
|
+
- `inspect_variables_at_step` - Step-specific variable validation
|
|
302
|
+
- `inspect_attributes` - Metadata integrity check
|
|
303
|
+
|
|
304
|
+
This prompt will:
|
|
305
|
+
- Use `inspect_variables` to validate overall data structure integrity
|
|
306
|
+
- Perform step-specific analysis with `inspect_variables_at_step`
|
|
307
|
+
- Check metadata completeness with `inspect_attributes`
|
|
308
|
+
- Provide comprehensive data quality assessment for scientific workflows
|
|
309
|
+
|
|
310
|
+
### 6. Quick BP5 File Discovery
|
|
311
|
+
```
|
|
312
|
+
Show me all BP5 files in my simulation directory at /data/simulations/ and provide a quick overview of their contents and structure.
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
**Tools called:**
|
|
316
|
+
- `list_bp5` - Directory-wide BP5 file discovery
|
|
317
|
+
- `inspect_variables` - Quick structure overview for each file
|
|
318
|
+
|
|
319
|
+
This prompt will:
|
|
320
|
+
- Use `list_bp5` to discover all BP5 files in the directory
|
|
321
|
+
- Use `inspect_variables` to provide structural overview of discovered files
|
|
322
|
+
- Generate comprehensive overview of available simulation datasets
|
|
323
|
+
- Suggest optimal data access strategies based on file contents
|