Skip to main content
Glama

Physics MCP Server

by BlinkZer0
tools_manifest.js96 kB
// Auto-generated by scripts/generate-tools-manifest.ts module.exports = { "mcp_tools_manifest": { "server_info": { "name": "phys-mcp", "version": "0.1.0", "description": "Physics/Numerics MCP tool suite for scientific computing with GPU acceleration, advanced visualization, and comprehensive mathematical operations.", "protocol_version": "1.0.0" }, "tools": [ { "name": "cas", "description": "Computer Algebra System operations: evaluate expressions, differentiate, integrate, solve equations and ODEs, propagate uncertainty", "category": "cas", "input_schema": { "type": "object", "properties": { "action": { "type": "string", "description": "CAS operation to perform", "enum": [ "evaluate", "diff", "integrate", "solve_equation", "solve_ode", "propagate_uncertainty" ] }, "expr": { "type": "string", "description": "Mathematical expression to process" }, "vars": { "type": "object", "description": "Variables to substitute in the expression", "additionalProperties": { "anyOf": [ { "type": "number" }, { "type": "object", "properties": { "value": { "type": "number" }, "unit": { "type": "string" }, "sigma": { "type": "number", "description": "Standard uncertainty (for uncertainty propagation)" } }, "required": [ "value" ] } ] } }, "symbol": { "type": "string", "description": "Variable to differentiate/integrate with respect to, or solve for" }, "order": { "type": "integer", "description": "Order of differentiation", "default": 1, "minimum": 1 }, "bounds": { "type": "array", "description": "Integration bounds [lower, upper] for definite integral", "items": { "type": "number" }, "minItems": 2, "maxItems": 2 }, "equation": { "type": "string", "description": "Equation to solve (e.g., 'x^2 - 4 = 0')" }, "ode": { "type": "string", "description": "Differential equation (e.g., 'y'' + y = 0')" }, "func": { "type": "string", "description": "Dependent function name for ODE (e.g., 'y')" }, "ics": { "type": "object", "description": "Initial conditions for ODE", "additionalProperties": { "type": "number" } } }, "required": [ "action" ] }, "example_usage": [ "Calculate the derivative of x^2 + 3x + 1", "Solve the equation x^2 - 4 = 0", "Integrate sin(x) from 0 to π" ], "capabilities": [ "integration", "differentiation", "equation_solving", "action_evaluate", "action_diff", "action_integrate", "action_solve_equation", "action_solve_ode", "action_propagate_uncertainty" ] }, { "name": "constants_get", "description": "Get a physical constant by name. Available constants include CODATA values (c, h, hbar, e, m_e, m_p, k_B, N_A, epsilon_0, mu_0, G, R, sigma, a_0, alpha) and astrophysical constants (M_sun, pc, ly, au).", "category": "constants", "input_schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the physical constant (e.g., 'c', 'h', 'e', 'k_B', 'G', 'M_sun', 'pc', 'ly')" } }, "required": [ "name" ] }, "example_usage": [ "Get the speed of light constant", "Retrieve Planck's constant" ], "capabilities": [] }, { "name": "data", "description": "Data processing operations: import/export scientific formats (HDF5, FITS, ROOT), signal processing (FFT, filtering, spectrograms, wavelets)", "category": "dataio", "input_schema": { "type": "object", "properties": { "action": { "type": "string", "description": "Data operation to perform", "enum": [ "import_hdf5", "import_fits", "import_root", "export_hdf5", "fft", "filter", "spectrogram", "wavelet" ] }, "file_path": { "type": "string", "description": "Path to input/output file" }, "dataset_path": { "type": "string", "description": "Path to dataset within HDF5 file" }, "hdu_index": { "type": "integer", "default": 0, "description": "HDU index for FITS files" }, "tree_name": { "type": "string", "description": "Tree name for ROOT files" }, "branches": { "type": "array", "items": { "type": "string" }, "description": "Branch names for ROOT files" }, "max_entries": { "type": "integer", "default": 10000, "description": "Max entries to read from ROOT" }, "data": { "type": "object", "description": "Data to export" }, "compression": { "type": "string", "enum": [ "gzip", "lzf", "szip", "none" ], "default": "gzip", "description": "Compression for export" }, "metadata": { "type": "object", "description": "Metadata for export" }, "signal_data": { "type": "array", "items": { "type": "number" }, "description": "Input signal data array" }, "sample_rate": { "type": "number", "description": "Sample rate in Hz" }, "window": { "type": "string", "enum": [ "hann", "hamming", "blackman", "bartlett", "none" ], "default": "hann", "description": "Window function" }, "filter_type": { "type": "string", "enum": [ "lowpass", "highpass", "bandpass", "bandstop" ], "description": "Filter type" }, "cutoff_freq": { "oneOf": [ { "type": "number" }, { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 2 } ], "description": "Cutoff frequency or [low, high] for bandpass/bandstop" }, "filter_order": { "type": "integer", "default": 4, "minimum": 1, "maximum": 10, "description": "Filter order" }, "window_size": { "type": "integer", "default": 256, "description": "Window size for STFT" }, "overlap": { "type": "number", "default": 0.5, "minimum": 0, "maximum": 0.95, "description": "Window overlap fraction" }, "window_type": { "type": "string", "enum": [ "hann", "hamming", "blackman", "bartlett" ], "default": "hann", "description": "Window function for STFT" }, "wavelet": { "type": "string", "enum": [ "morlet", "mexican_hat", "daubechies", "haar" ], "default": "morlet", "description": "Wavelet function" }, "scales": { "type": "array", "items": { "type": "number" }, "description": "Scale values for wavelet transform" }, "emit_plots": { "type": "boolean", "default": true, "description": "Generate diagnostic plots" }, "emit_csv": { "type": "boolean", "default": true, "description": "Export data as CSV" } }, "required": [ "action" ] }, "example_usage": [ "Use data for data processing operations: import/export scientific formats (hdf5, fits, root), signal processing (fft, filtering, spectrograms, wavelets)" ], "capabilities": [ "data_export", "action_import_hdf5", "action_import_fits", "action_import_root", "action_export_hdf5", "action_fft", "action_filter", "action_spectrogram", "action_wavelet" ] }, { "name": "distributed_collaboration", "description": "🌐 **Distributed & Collaborative Computing Tool** - Graphics-at-scale distributed computing with comprehensive collaboration features. Provides job submission, session sharing, lab notebook, and artifact versioning.\n\n**Methods Available:**\n- **job_submit**: Run remote jobs on Slurm or Kubernetes with log streaming and artifact retrieval\n- **session_share**: Create multi-user shares for sessions with read/write access control\n- **lab_notebook**: Append signed, versioned notebook entries with tool-call provenance\n- **artifact_versioning**: Register artifacts with content-addressable hashes and lineage tracking\n\n**Compute Backends:**\n- **Slurm**: Submit batch jobs via sbatch, poll status, retrieve artifacts via rsync/scp\n- **Kubernetes**: Create Jobs/CronJobs, watch pod logs, pull artifacts from volumes/object store\n\n**Graphics-at-Scale Features:**\n- Remote jobs push artifacts back to local registry with full provenance (device, mesh, commit)\n- Contact sheet previews and thumbnail sets for long sweeps/animations\n- Cache keys include device_kind and code_version for reproducibility\n\n**Collaboration Features:**\n- Multi-user session sharing with expiring links and role management\n- Signed notebook entries with tool-call provenance and artifact thumbnails\n- Git/DVC-style artifact versioning with content-addressable hashes and lineage\n\n**Key Features:**\n- Full provenance tracking (device, mesh, commit SHA, duration)\n- Content-addressable artifact registry with lineage\n- Professional collaboration workflows with signatures and versioning\n- Integration with existing Phys-MCP acceleration and graphics contracts", "category": "distributed", "input_schema": { "type": "object", "oneOf": [ { "type": "object", "properties": { "method": { "type": "string", "const": "job_submit" }, "backend": { "type": "string", "enum": [ "slurm", "k8s" ], "description": "Compute backend: Slurm or Kubernetes" }, "job_spec": { "type": "object", "description": "Normalized job specification", "properties": { "resources": { "type": "object", "properties": { "cpu": { "type": "integer", "minimum": 1, "description": "CPU cores" }, "memory": { "type": "string", "description": "Memory (e.g., \"4Gi\", \"8GB\")" }, "gpu": { "type": "integer", "minimum": 0, "description": "GPU count" }, "nodes": { "type": "integer", "minimum": 1, "description": "Node count" }, "time_limit": { "type": "string", "description": "Time limit (e.g., \"1:00:00\")" } } }, "image": { "type": "string", "description": "Container image" }, "command": { "type": "array", "items": { "type": "string" }, "description": "Command to execute", "minItems": 1 }, "env": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Environment variables" }, "mounts": { "type": "array", "items": { "type": "object", "properties": { "source": { "type": "string" }, "target": { "type": "string" }, "readonly": { "type": "boolean", "default": false } }, "required": [ "source", "target" ] }, "description": "Volume mounts" } }, "required": [ "command" ] }, "artifacts_path": { "type": "string", "description": "Remote path where job writes artifacts" }, "stream_logs": { "type": "boolean", "default": true, "description": "Stream job logs in real-time" }, "timeout_sec": { "type": "integer", "default": 3600, "minimum": 60, "maximum": 86400, "description": "Job timeout in seconds" } }, "required": [ "method", "backend", "job_spec", "artifacts_path" ], "additionalProperties": false }, { "type": "object", "properties": { "method": { "type": "string", "const": "session_share" }, "session_id": { "type": "string", "description": "Session ID to share" }, "access": { "type": "string", "enum": [ "read", "write" ], "default": "read", "description": "Access level for participants" }, "expires_in_hours": { "type": "integer", "default": 72, "minimum": 1, "maximum": 8760, "description": "Share expiration in hours" }, "participants": { "type": "array", "items": { "type": "string" }, "description": "List of participant identifiers" } }, "required": [ "method", "session_id" ], "additionalProperties": false }, { "type": "object", "properties": { "method": { "type": "string", "const": "lab_notebook" }, "session_id": { "type": "string", "description": "Session ID for the notebook entry" }, "title": { "type": "string", "description": "Entry title", "minLength": 1, "maxLength": 200 }, "notes_md": { "type": "string", "description": "Markdown notes content" }, "attach_artifacts": { "type": "array", "items": { "type": "string" }, "description": "Artifact paths to attach" }, "sign_as": { "type": "string", "description": "User identity for signature" } }, "required": [ "method", "session_id", "title" ], "additionalProperties": false }, { "type": "object", "properties": { "method": { "type": "string", "const": "artifact_versioning" }, "artifacts": { "type": "array", "items": { "type": "string" }, "description": "Artifact paths to register", "minItems": 1 }, "parents": { "type": "array", "items": { "type": "string" }, "description": "Parent artifact hashes for lineage" }, "params_json": { "type": "object", "description": "Parameters used to generate artifacts" }, "code_version": { "type": "string", "description": "Code version/commit hash" } }, "required": [ "method", "artifacts" ], "additionalProperties": false } ] }, "example_usage": [ "Use distributed_collaboration for 🌐 **distributed & collaborative computing tool** - graphics-at-scale distributed computing with comprehensive collaboration features" ], "capabilities": [ "animation" ] }, { "name": "export_tool", "description": "Export research outputs to various platforms: Overleaf LaTeX projects, GitHub repositories, Zenodo datasets, Jupyter notebooks, VR/AR formats", "category": "export", "input_schema": { "type": "object", "properties": { "export_type": { "type": "string", "description": "Export destination", "enum": [ "overleaf", "github", "zenodo", "jupyter", "vr_export" ] }, "title": { "type": "string", "description": "Title for the export" }, "description": { "type": "string", "description": "Description of the content" }, "project_name": { "type": "string", "description": "Name for the Overleaf project" }, "template": { "type": "string", "enum": [ "article", "report", "book", "beamer", "poster" ], "default": "article", "description": "LaTeX document template" }, "authors": { "type": "array", "items": { "type": "string" }, "description": "List of author names" }, "abstract": { "type": "string", "description": "Document abstract" }, "artifacts": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "figure", "table", "equation" ] }, "content": { "type": "string" }, "caption": { "type": "string" }, "label": { "type": "string" } } }, "description": "Artifacts to include in the document" }, "bibliography": { "type": "array", "items": { "type": "string" }, "description": "BibTeX entries" }, "repository_name": { "type": "string", "description": "GitHub repository name" }, "private": { "type": "boolean", "default": false, "description": "Make repository private" }, "include_artifacts": { "type": "boolean", "default": true, "description": "Include generated artifacts (plots, data)" }, "include_code": { "type": "boolean", "default": true, "description": "Include analysis code and notebooks" }, "license": { "type": "string", "enum": [ "MIT", "Apache-2.0", "GPL-3.0", "BSD-3-Clause", "CC-BY-4.0" ], "default": "MIT", "description": "Repository license" }, "topics": { "type": "array", "items": { "type": "string" }, "description": "GitHub topics/tags" }, "readme_content": { "type": "string", "description": "Custom README content" }, "creators": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "affiliation": { "type": "string" }, "orcid": { "type": "string" } }, "required": [ "name" ] }, "description": "Dataset creators" }, "keywords": { "type": "array", "items": { "type": "string" }, "description": "Keywords for the dataset" }, "upload_type": { "type": "string", "enum": [ "dataset", "software", "publication" ], "default": "dataset", "description": "Type of upload" }, "related_identifiers": { "type": "array", "items": { "type": "object", "properties": { "identifier": { "type": "string" }, "relation": { "type": "string" }, "resource_type": { "type": "string" } } }, "description": "Related publications or datasets" }, "notebook_name": { "type": "string", "description": "Jupyter notebook filename" }, "session_data": { "type": "object", "description": "Session data to convert to notebook" }, "include_outputs": { "type": "boolean", "default": true, "description": "Include cell outputs (plots, results)" }, "kernel": { "type": "string", "enum": [ "python3", "julia", "r" ], "default": "python3", "description": "Jupyter kernel to use" }, "export_format": { "type": "string", "enum": [ "ipynb", "html", "pdf", "slides" ], "default": "ipynb", "description": "Export format" }, "geometry": { "type": "object", "properties": { "vertices": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 3, "maxItems": 3 }, "description": "Array of [x,y,z] coordinates" }, "faces": { "type": "array", "items": { "type": "array", "items": { "type": "integer", "minimum": 0 } }, "description": "Array of vertex indices" }, "normals": { "type": "array", "items": { "type": "array", "items": { "type": "number" } }, "nullable": true, "description": "Optional normals" }, "colors": { "type": "array", "items": { "type": "array", "items": { "type": "number" } }, "nullable": true, "description": "Optional colors" } }, "required": [ "vertices", "faces" ], "description": "3D geometry data" }, "format": { "type": "string", "enum": [ "glb", "ply" ], "default": "glb", "description": "Export format" }, "extras": { "type": "object", "description": "Additional metadata" } }, "required": [ "export_type" ] }, "example_usage": [ "Use export_tool for export research outputs to various platforms: overleaf latex projects, github repositories, zenodo datasets, jupyter notebooks, vr/ar formats" ], "capabilities": [] }, { "name": "api_tools", "description": "Access external scientific APIs: arXiv papers, CERN Open Data, NASA datasets, NIST physical data", "category": "external", "input_schema": { "type": "object", "properties": { "api": { "type": "string", "description": "External API to access", "enum": [ "arxiv", "cern", "nasa", "nist" ] }, "query": { "type": "string", "description": "Search query (title, author, abstract, etc.)" }, "category": { "type": "string", "description": "arXiv category (e.g., 'physics', 'math-ph', 'quant-ph')" }, "sort_by": { "type": "string", "enum": [ "relevance", "lastUpdatedDate", "submittedDate" ], "default": "relevance", "description": "Sort order for results" }, "download_pdfs": { "type": "boolean", "default": false, "description": "Download PDF files for found papers" }, "dataset_name": { "type": "string", "description": "Name or ID of CERN Open Data dataset" }, "experiment": { "type": "string", "enum": [ "CMS", "ATLAS", "ALICE", "LHCb" ], "description": "LHC experiment (optional filter)" }, "data_type": { "type": "string", "enum": [ "AOD", "MINIAOD", "NanoAOD", "derived" ], "description": "Data format type" }, "year": { "type": "integer", "minimum": 2010, "maximum": 2024, "description": "Data collection year" }, "max_files": { "type": "integer", "default": 5, "minimum": 1, "maximum": 50, "description": "Maximum number of files to retrieve" }, "dataset_type": { "type": "string", "enum": [ "astronomy", "earth", "planetary", "heliophysics" ], "description": "Type of NASA dataset" }, "mission": { "type": "string", "description": "Mission name (e.g., 'Hubble', 'Kepler', 'MODIS')" }, "instrument": { "type": "string", "description": "Instrument name" }, "date_range": { "type": "object", "properties": { "start": { "type": "string", "format": "date" }, "end": { "type": "string", "format": "date" } }, "description": "Date range for data collection" }, "coordinates": { "type": "object", "properties": { "ra": { "type": "number", "description": "Right ascension (degrees)" }, "dec": { "type": "number", "description": "Declination (degrees)" }, "radius": { "type": "number", "description": "Search radius (arcminutes)" } }, "description": "Sky coordinates for astronomical data" }, "element": { "type": "string", "description": "Chemical element symbol (for atomic data)" }, "property": { "type": "string", "description": "Physical property to search for" }, "temperature": { "type": "number", "description": "Temperature in Kelvin (for material properties)" }, "pressure": { "type": "number", "description": "Pressure in Pa (for material properties)" }, "format": { "type": "string", "enum": [ "json", "xml", "csv" ], "default": "json", "description": "Output format" }, "max_results": { "type": "integer", "default": 10, "minimum": 1, "maximum": 100, "description": "Maximum number of results to return" } }, "required": [ "api" ] }, "example_usage": [ "Use api_tools for access external scientific apis: arxiv papers, cern open data, nasa datasets, nist physical data" ], "capabilities": [] }, { "name": "graphing_calculator", "description": "🧮 **Comprehensive Graphing Calculator** - Full-featured calculator with CAS, graphing, statistics, and matrix operations.\n\n**Core Operations:**\n- **Basic Math**: evaluate, simplify, expand, factor algebraic expressions\n- **Equation Solving**: solve_equation, solve_system, find_roots (numerical & symbolic)\n- **Calculus**: derivative, integral, limit, series expansions\n- **Graphing**: plot_function, plot_parametric, plot_polar, plot_implicit, plot_inequality\n- **Matrix Ops**: matrix_add, matrix_multiply, matrix_determinant, matrix_inverse, matrix_eigenvalues\n- **Statistics**: stats_descriptive, stats_regression, stats_distribution, stats_hypothesis_test\n- **Data Analysis**: create_list, list_operations, table_values\n- **Programming**: store_variable, recall_variable, define_function, execute_program\n- **Utilities**: convert_units, financial_calc\n\n**Key Features:**\n- Computer Algebra System (CAS) for symbolic computation\n- High-resolution graphing with multiple plot types\n- Comprehensive statistical analysis and regression\n- Matrix operations and linear algebra\n- Variable storage and custom function definitions\n- Unit conversions and financial calculations\n- Export capabilities (CSV data, high-quality plots)\n\n**Graphics-First Outputs:**\n- Professional mathematical plots with customizable styling\n- Statistical charts and regression analysis\n- Matrix visualizations and eigenvalue plots\n- Function analysis with critical points and asymptotes\n- Interactive parameter exploration\n\n**Natural Language Interface:**\n- \"Graph y = x^2 + 2x + 1 from -5 to 5\"\n- \"Solve the system: x + y = 5, 2x - y = 1\"\n- \"Find the derivative of sin(x) * cos(x)\"\n- \"Calculate regression for this data: [1,2,3,4,5] vs [2,4,7,8,10]\"\n- \"What's the determinant of [[1,2],[3,4]]?\"", "category": "graphingcalculator", "input_schema": { "type": "object", "properties": { "operation": { "type": "string", "enum": [ "evaluate", "simplify", "expand", "factor", "solve_equation", "solve_system", "find_roots", "derivative", "integral", "limit", "series", "plot_function", "plot_parametric", "plot_polar", "plot_implicit", "plot_inequality", "plot_data", "matrix_add", "matrix_multiply", "matrix_determinant", "matrix_inverse", "matrix_eigenvalues", "matrix_rref", "stats_descriptive", "stats_regression", "stats_distribution", "stats_hypothesis_test", "create_list", "list_operations", "table_values", "store_variable", "recall_variable", "define_function", "execute_program", "convert_units", "financial_calc" ], "description": "Calculator operation to perform" }, "expression": { "type": "string", "description": "Mathematical expression" }, "variable": { "type": "string", "description": "Variable for calculus operations" }, "variables": { "type": "object", "description": "Variable substitutions" }, "equation": { "type": "string", "description": "Equation to solve" }, "equations": { "type": "array", "items": { "type": "string" }, "description": "System of equations" }, "function": { "type": "string", "description": "Function to graph" }, "x_range": { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 2, "description": "X-axis range [min, max]" }, "y_range": { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 2, "description": "Y-axis range [min, max]" }, "matrix": { "type": "array", "items": { "type": "array", "items": { "type": "number" } }, "description": "Matrix A" }, "matrix_b": { "type": "array", "items": { "type": "array", "items": { "type": "number" } }, "description": "Matrix B" }, "data": { "type": "array", "items": { "type": "number" }, "description": "Data for statistical analysis" }, "data_x": { "type": "array", "items": { "type": "number" }, "description": "X-data for regression" }, "data_y": { "type": "array", "items": { "type": "number" }, "description": "Y-data for regression" }, "regression_type": { "type": "string", "enum": [ "linear", "quadratic", "cubic", "exponential", "logarithmic", "power", "sinusoidal" ], "description": "Regression type" }, "list_name": { "type": "string", "description": "List identifier" }, "list_data": { "type": "array", "items": { "type": "number" }, "description": "List data" }, "var_name": { "type": "string", "description": "Variable name" }, "var_value": { "description": "Variable value" }, "from_unit": { "type": "string", "description": "Source unit" }, "to_unit": { "type": "string", "description": "Target unit" }, "value": { "type": "number", "description": "Value to convert" }, "format": { "type": "string", "enum": [ "exact", "decimal", "fraction" ], "default": "decimal", "description": "Output format" }, "precision": { "type": "number", "default": 6, "description": "Decimal precision" }, "plot_title": { "type": "string", "description": "Plot title" }, "show_grid": { "type": "boolean", "default": true, "description": "Show grid on plots" }, "export_data": { "type": "boolean", "default": false, "description": "Export plot data as CSV" } }, "required": [ "operation" ] }, "example_usage": [ "Evaluate 2 + 3 * 4", "Find the roots of x^2 - 5x + 6 = 0", "Calculate the matrix determinant of [[1,2],[3,4]]" ], "capabilities": [ "symbolic_computation", "visualization", "equation_solving", "unit_conversion", "operation_evaluate", "operation_simplify", "operation_expand", "operation_factor", "operation_solve_equation", "operation_solve_system", "operation_find_roots", "operation_derivative", "operation_integral", "operation_limit", "operation_series", "operation_plot_function", "operation_plot_parametric", "operation_plot_polar", "operation_plot_implicit", "operation_plot_inequality", "operation_plot_data", "operation_matrix_add", "operation_matrix_multiply", "operation_matrix_determinant", "operation_matrix_inverse", "operation_matrix_eigenvalues", "operation_matrix_rref", "operation_stats_descriptive", "operation_stats_regression", "operation_stats_distribution", "operation_stats_hypothesis_test", "operation_create_list", "operation_list_operations", "operation_table_values", "operation_store_variable", "operation_recall_variable", "operation_define_function", "operation_execute_program", "operation_convert_units", "operation_financial_calc" ] }, { "name": "ml_ai_augmentation", "description": "🧠 **ML/AI Augmentation Tool** - GPU-first machine learning capabilities for scientific computing with graphics-first outputs. Provides symbolic regression, PDE surrogates, pattern recognition, and derivation explanation.\n\n**Methods Available:**\n- **symbolic_regression_train**: Discover interpretable equations from data using PySR or genetic programming\n- **surrogate_pde_train**: Train physics-informed neural networks (PINNs) or data-driven PDE surrogates \n- **pattern_recognition_infer**: Detection/segmentation/classification on scientific imagery using YOLO/U-Net\n- **explain_derivation**: LLM-powered mathematical derivation and explanation with LaTeX output\n\n**GPU Acceleration:**\n- Automatic device selection (CUDA/HIP/MPS/XPU) with CPU fallback\n- VRAM monitoring and automatic batch size adjustment\n- Memory-efficient processing with configurable caps\n\n**Graphics-First Outputs:**\n- Training curves and loss plots for all methods\n- Prediction vs truth overlays and error visualizations \n- Confusion matrices for classification tasks\n- Optional MP4/WebM/GIF animations for PDE field evolution\n- Professional LaTeX formatting for mathematical explanations\n\n**Key Features:**\n- Caching by parameter hash for reproducibility\n- Early stopping and timeout protection\n- Comprehensive error handling and validation\n- Integration with Phase 5 visualization pipeline\n- Natural language interface ready", "category": "ml", "input_schema": { "type": "object", "oneOf": [ { "type": "object", "properties": { "method": { "type": "string", "const": "symbolic_regression_train" }, "X": { "type": "string", "description": "Path to CSV/NPZ or inline base64 CSV; features" }, "y": { "type": "string", "description": "Path or base64; target" }, "features": { "type": "array", "items": { "type": "string" }, "description": "Optional feature names" }, "ops": { "type": "array", "items": { "type": "string" }, "default": [ "+", "-", "*", "/", "sin", "cos", "exp", "log", "pow" ], "description": "Mathematical operations to use in symbolic regression" }, "max_depth": { "type": "integer", "default": 12, "minimum": 1, "maximum": 20, "description": "Maximum expression tree depth" }, "pop_size": { "type": "integer", "default": 1000, "minimum": 10, "maximum": 10000, "description": "Population size for genetic programming" }, "trials": { "type": "integer", "default": 1, "minimum": 1, "maximum": 10, "description": "Number of independent trials" }, "metric": { "type": "string", "enum": [ "mse", "mae", "r2" ], "default": "mse", "description": "Fitness metric for symbolic regression" }, "seed": { "type": "integer", "default": 0, "description": "Random seed for reproducibility" }, "use_pysr": { "type": "boolean", "default": true, "description": "Use PySR if available, otherwise fallback to internal SR" } }, "required": [ "method", "X", "y" ], "additionalProperties": false }, { "type": "object", "properties": { "method": { "type": "string", "const": "surrogate_pde_train" }, "problem": { "type": "string", "enum": [ "pinn", "data" ], "default": "pinn", "description": "PINN (physics-informed) or data-driven approach" }, "equations": { "type": "string", "description": "For PINN: PDE in symbolic form; For data: operator form or metadata" }, "domain": { "type": "object", "description": "Bounds & BC/IC specs", "properties": { "bounds": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 2 }, "description": "Spatial/temporal domain bounds" }, "boundary_conditions": { "type": "object", "description": "Boundary condition specifications" }, "initial_conditions": { "type": "object", "description": "Initial condition specifications" } } }, "train_data": { "type": "string", "description": "Optional path/base64 to (x,t,u) samples for data-driven" }, "epochs": { "type": "integer", "default": 200, "minimum": 1, "maximum": 10000, "description": "Training epochs" }, "batch_size": { "type": "integer", "default": 1024, "minimum": 1, "maximum": 65536, "description": "Training batch size" }, "lr": { "type": "number", "default": 0.001, "minimum": 0.000001, "maximum": 1, "description": "Learning rate" }, "animate": { "type": "boolean", "default": false, "description": "Generate field animation" }, "fps": { "type": "integer", "default": 24, "minimum": 1, "maximum": 60, "description": "Animation frames per second" }, "format": { "type": "string", "enum": [ "mp4", "webm", "gif" ], "default": "mp4", "description": "Animation output format" } }, "required": [ "method", "problem", "equations", "domain" ], "additionalProperties": false }, { "type": "object", "properties": { "method": { "type": "string", "const": "pattern_recognition_infer" }, "task": { "type": "string", "enum": [ "detect", "segment", "classify" ], "default": "detect", "description": "Computer vision task type" }, "images": { "type": "array", "items": { "type": "string" }, "description": "Paths or base64 images", "minItems": 1 }, "model": { "type": "string", "description": "Pretrained tag or path (e.g., \"yolo11n.pt\" or \"unet_fluorescence.pt\")" }, "threshold": { "type": "number", "default": 0.25, "minimum": 0, "maximum": 1, "description": "Detection/classification confidence threshold" }, "labels": { "type": "array", "items": { "type": "string" }, "description": "Class labels for classification/detection" } }, "required": [ "method", "task", "images", "model" ], "additionalProperties": false }, { "type": "object", "properties": { "method": { "type": "string", "const": "explain_derivation" }, "goal": { "type": "string", "enum": [ "derive", "explain" ], "default": "explain", "description": "Derive new result or explain existing one" }, "context_expr_sympy": { "type": "string", "description": "SymPy expression to explain/derive from" }, "assumptions": { "type": "array", "items": { "type": "string" }, "description": "Mathematical assumptions and constraints" }, "audience_level": { "type": "string", "enum": [ "undergrad", "grad", "expert" ], "default": "grad", "description": "Target audience complexity level" } }, "required": [ "method", "goal" ], "additionalProperties": false } ] }, "example_usage": [ "Train symbolic regression to discover equation from data", "Train a physics-informed neural network for PDE solving" ], "capabilities": [ "symbolic_computation", "visualization", "equation_solving", "machine_learning", "animation" ] }, { "name": "nli_parse", "description": "Parse natural language physics requests into structured tool calls", "category": "nli", "input_schema": { "type": "object", "properties": { "text": { "type": "string", "description": "Natural language request to parse into a structured tool call" } }, "required": [ "text" ] }, "example_usage": [ "Use nli_parse for parse natural language physics requests into structured tool calls" ], "capabilities": [] }, { "name": "experiment_orchestrator", "description": "🔬 **Unified Digital Physics Lab (Experiment Orchestrator)** - Graphics-centric orchestration for complex physics experiments. Provides DAG definition, validation, execution, report publishing, and collaboration.\n\n**Methods Available:**\n- **define_dag**: Create validated Directed Acyclic Graphs from NL or JSON with declared visual outputs\n- **validate_dag**: Static checks for acyclic structure, schema validation, caps enforcement, and graphics audit\n- **run_dag**: Execute DAGs locally or via distributed computing with parallelization and caching\n- **publish_report**: Generate paper-like PDFs with auto-captioned figures and BibTeX integration\n- **collaborate_share**: Share DAG + artifacts + reports with participants using session sharing\n\n**DAG Features:**\n- **Node Types**: Support for all existing Phys-MCP tools (cas, plot, data, quantum, ml_ai_augmentation, etc.)\n- **Visual Outputs**: Every numeric node declares emit_plots, emit_csv, emit_animation\n- **Parallelization**: GPU-friendly nodes executed in parallel where safe\n- **Caching**: Parameter-based caching with content-addressable artifacts\n- **Provenance**: Full lineage tracking with device, mesh, commit SHA, duration\n\n**Graphics-Centric Design:**\n- **Auto-Captions**: Figures captioned from tool parameters and metadata\n- **Thumbnails**: Link to full-resolution artifacts in reports\n- **Contact Sheets**: Preview grids for bulk visualizations\n- **Professional Output**: LaTeX-quality PDFs with proper figure placement\n\n**Execution Policies:**\n- **local_first**: Prefer local execution, offload only when necessary\n- **remote_first**: Prefer distributed execution via job_submit\n- **auto**: Intelligent scheduling based on resource requirements and availability\n\n**Integration Features:**\n- **Distributed Computing**: Seamless integration with distributed_collaboration.job_submit\n- **Session Management**: Built on session_share infrastructure for collaboration\n- **Artifact Registry**: Content-addressable storage with Git/DVC-style versioning\n- **Safety Contracts**: Honors all acceleration, graphics, and safety caps from previous phases", "category": "orchestrator", "input_schema": { "type": "object", "oneOf": [ { "type": "object", "properties": { "method": { "type": "string", "const": "define_dag" }, "spec": { "type": "object", "description": "Explicit DAG JSON specification", "properties": { "nodes": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique node identifier" }, "tool": { "type": "string", "description": "Tool name to execute" }, "method": { "type": "string", "description": "Optional method for consolidated tools" }, "params": { "type": "object", "description": "Parameters for the tool/method" }, "dependencies": { "type": "array", "items": { "type": "string" }, "description": "Node IDs this node depends on" }, "visual_outputs": { "type": "object", "properties": { "static": { "type": "boolean", "description": "Produces static plots/images" }, "series": { "type": "boolean", "description": "Produces data series/CSV" }, "animation": { "type": "boolean", "description": "Produces animations/videos" } }, "description": "Declared visual output types" } }, "required": [ "id", "tool", "params" ] }, "minItems": 1 }, "edges": { "type": "array", "items": { "type": "object", "properties": { "from": { "type": "string", "description": "Source node ID" }, "to": { "type": "string", "description": "Target node ID" }, "data_key": { "type": "string", "description": "Optional data key for parameter passing" } }, "required": [ "from", "to" ] } }, "metadata": { "type": "object", "properties": { "title": { "type": "string" }, "description": { "type": "string" }, "author": { "type": "string" }, "version": { "type": "string" } } } }, "required": [ "nodes", "edges" ] }, "natural_language": { "type": "string", "description": "Natural language description to translate to DAG" } }, "oneOf": [ { "required": [ "method", "spec" ] }, { "required": [ "method", "natural_language" ] } ], "additionalProperties": false }, { "type": "object", "properties": { "method": { "type": "string", "const": "validate_dag" }, "dag_id": { "type": "string", "description": "DAG ID to validate" } }, "required": [ "method", "dag_id" ], "additionalProperties": false }, { "type": "object", "properties": { "method": { "type": "string", "const": "run_dag" }, "dag_id": { "type": "string", "description": "DAG ID to execute" }, "parallelism": { "type": "integer", "default": 2, "minimum": 1, "maximum": 16, "description": "Maximum parallel node execution" }, "offload_policy": { "type": "string", "enum": [ "local_first", "remote_first", "auto" ], "default": "auto", "description": "Policy for offloading nodes to remote compute" } }, "required": [ "method", "dag_id" ], "additionalProperties": false }, { "type": "object", "properties": { "method": { "type": "string", "const": "publish_report" }, "run_id": { "type": "string", "description": "Run ID to generate report for" }, "title": { "type": "string", "description": "Report title" }, "authors": { "type": "array", "items": { "type": "string" }, "description": "Report authors" }, "bib": { "type": "array", "items": { "type": "string" }, "description": "BibTeX entries" } }, "required": [ "method", "run_id" ], "additionalProperties": false }, { "type": "object", "properties": { "method": { "type": "string", "const": "collaborate_share" }, "dag_id": { "type": "string", "description": "DAG ID to share" }, "access": { "type": "string", "enum": [ "read", "write" ], "description": "Access level for participants" }, "participants": { "type": "array", "items": { "type": "string" }, "description": "List of participant identifiers", "minItems": 1 } }, "required": [ "method", "dag_id", "access", "participants" ], "additionalProperties": false } ] }, "example_usage": [ "Generate visualization using experiment_orchestrator" ], "capabilities": [ "visualization", "integration", "quantum_computing", "animation" ] }, { "name": "plot", "description": "Generate various types of plots: 2D functions, parametric curves, vector fields, phase portraits, 3D surfaces, contour plots, volume visualizations, animations, interactive plots", "category": "plot", "input_schema": { "type": "object", "properties": { "plot_type": { "type": "string", "description": "Type of plot to generate", "enum": [ "function_2d", "parametric_2d", "field_2d", "phase_portrait", "surface_3d", "contour_2d", "volume_3d", "animation", "interactive" ] }, "f": { "type": "string", "description": "Function expression f(x) or f(x,y)" }, "x_t": { "type": "string", "description": "Parametric x(t) expression" }, "y_t": { "type": "string", "description": "Parametric y(t) expression" }, "fx": { "type": "string", "description": "X-component of vector field F_x(x,y)" }, "fy": { "type": "string", "description": "Y-component of vector field F_y(x,y)" }, "dx": { "type": "string", "description": "dx/dt expression for dynamical system" }, "dy": { "type": "string", "description": "dy/dt expression for dynamical system" }, "x_min": { "type": "number", "description": "Minimum x value" }, "x_max": { "type": "number", "description": "Maximum x value" }, "y_min": { "type": "number", "description": "Minimum y value" }, "y_max": { "type": "number", "description": "Maximum y value" }, "t_min": { "type": "number", "description": "Minimum parameter value" }, "t_max": { "type": "number", "description": "Maximum parameter value" }, "x": { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 3, "description": "[min,max,steps?]" }, "y": { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 3 }, "z": { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 3 }, "x_range": { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 3 }, "t_range": { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 3 }, "samples": { "type": "integer", "description": "Number of sample points", "default": 1000, "minimum": 10 }, "grid_points": { "type": "integer", "description": "Grid points per axis", "default": 20, "minimum": 5 }, "levels": { "type": "integer", "description": "Number of contour levels", "default": 15, "minimum": 5 }, "plot_type_field": { "type": "string", "description": "Type of field plot", "enum": [ "quiver", "stream" ], "default": "quiver" }, "frame_expr": { "type": "string", "description": "Expression producing frame array or 2D function value at (x,t)" }, "expr": { "type": "string", "description": "Mathematical expression for interactive plots" }, "mode": { "type": "string", "enum": [ "slices", "isosurface" ], "default": "slices", "description": "Volume rendering mode" }, "iso_level": { "type": "number", "description": "Used when mode='isosurface'" }, "renderer": { "type": "string", "enum": [ "imshow", "contour", "line", "surface" ], "default": "imshow", "description": "Rendering method" }, "emit_animation": { "type": "boolean", "default": false, "description": "Generate animation" }, "animate_axis": { "type": "string", "enum": [ "x", "y", "z" ], "default": "z", "description": "Animation axis" }, "fps": { "type": "integer", "default": 24, "description": "Frames per second" }, "format": { "type": "string", "enum": [ "mp4", "webm", "gif" ], "default": "mp4", "description": "Output format" }, "emit_frames": { "type": "boolean", "default": false, "description": "Export individual frames" }, "emit_csv": { "type": "boolean", "default": false, "description": "Export data as CSV" }, "frames_cap": { "type": "integer", "default": 300, "description": "Maximum frames" }, "samples_cap": { "type": "integer", "default": 160, "description": "Maximum samples" }, "allow_large": { "type": "boolean", "default": false, "description": "Allow large computations" }, "grid_limit": { "type": "integer", "default": 24, "description": "Grid limit for interactive plots" }, "controls": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "min": { "type": "number" }, "max": { "type": "number" }, "step": { "type": "number" }, "default": { "type": "number" } }, "required": [ "name", "min", "max", "step", "default" ] }, "description": "Interactive control parameters" }, "title": { "type": "string", "description": "Plot title" }, "xlabel": { "type": "string", "description": "X-axis label" }, "ylabel": { "type": "string", "description": "Y-axis label" }, "zlabel": { "type": "string", "description": "Z-axis label" }, "dpi": { "type": "integer", "description": "Image DPI", "default": 100, "minimum": 50 }, "width": { "type": "number", "description": "Figure width in inches", "default": 8 }, "height": { "type": "number", "description": "Figure height in inches", "default": 6 } }, "required": [ "plot_type" ] }, "example_usage": [ "Plot the function y = x^2 from -5 to 5", "Create a 3D surface plot of z = sin(x)*cos(y)", "Generate a phase portrait for a dynamical system" ], "capabilities": [ "visualization", "3d_visualization", "animation", "plot_function_2d", "plot_parametric_2d", "plot_field_2d", "plot_phase_portrait", "plot_surface_3d", "plot_contour_2d", "plot_volume_3d", "plot_animation", "plot_interactive" ] }, { "name": "accel_caps", "description": "Report device acceleration capabilities and mode (ACCEL_MODE/ACCEL_DEVICE)", "category": "plot", "input_schema": { "type": "object", "properties": {}, "additionalProperties": false }, "example_usage": [ "Use accel_caps for report device acceleration capabilities and mode (accel_mode/accel_device)" ], "capabilities": [] }, { "name": "quantum", "description": "Quantum computing operations: operator utilities (commutators, matrix representations), quantum solver for standard problems or custom Hamiltonians, quantum state visualization (Bloch sphere, probability density) - scaffold", "category": "quantum", "input_schema": { "type": "object", "properties": { "action": { "type": "string", "description": "Quantum operation to perform", "enum": [ "ops", "solve", "visualize" ] }, "operators": { "type": "array", "items": { "type": "string" }, "description": "Operator names/definitions" }, "task": { "type": "string", "enum": [ "commutator", "matrix_rep" ], "description": "Operation to perform" }, "problem": { "type": "string", "enum": [ "sho", "particle_in_box", "custom" ], "description": "Preset or custom" }, "hamiltonian": { "type": "string", "description": "Hamiltonian expression (for custom)" }, "params": { "type": "object", "additionalProperties": true, "description": "Problem parameters" }, "state": { "type": "string", "description": "State vector or density matrix in a simple string form" }, "kind": { "type": "string", "enum": [ "bloch", "prob_density" ], "description": "Visualization type" } }, "required": [ "action" ] }, "example_usage": [ "Solve the quantum harmonic oscillator", "Visualize a quantum state on the Bloch sphere" ], "capabilities": [ "visualization", "equation_solving", "quantum_computing", "action_ops", "action_solve", "action_visualize" ] }, { "name": "data_fft", "description": "GPU-accelerated Fast Fourier Transform with comprehensive diagnostic plots", "category": "signal", "input_schema": { "type": "object", "properties": { "signal_data": { "type": "array", "items": { "type": "number" }, "description": "Input signal data array" }, "sample_rate": { "type": "number", "description": "Sample rate in Hz" }, "window": { "type": "string", "enum": [ "hann", "hamming", "blackman", "bartlett", "none" ], "default": "hann", "description": "Window function to apply before FFT" }, "emit_plots": { "type": "boolean", "default": true, "description": "Generate comprehensive FFT analysis plots" }, "emit_csv": { "type": "boolean", "default": true, "description": "Export frequency and spectrum data as CSV" } }, "required": [ "signal_data", "sample_rate" ], "additionalProperties": false }, "example_usage": [ "Generate visualization using data_fft" ], "capabilities": [ "visualization" ] }, { "name": "data_filter", "description": "GPU-accelerated digital filtering (IIR/FIR) with response analysis", "category": "signal", "input_schema": { "type": "object", "properties": { "signal_data": { "type": "array", "items": { "type": "number" }, "description": "Input signal data array" }, "sample_rate": { "type": "number", "description": "Sample rate in Hz" }, "filter_type": { "type": "string", "enum": [ "lowpass", "highpass", "bandpass", "bandstop" ], "description": "Type of filter to apply" }, "cutoff_freq": { "oneOf": [ { "type": "number" }, { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 2 } ], "description": "Cutoff frequency (Hz) or [low, high] for bandpass/bandstop" }, "filter_order": { "type": "integer", "default": 4, "minimum": 1, "maximum": 10, "description": "Filter order (higher = steeper rolloff)" }, "emit_plots": { "type": "boolean", "default": true, "description": "Generate filter response and comparison plots" }, "emit_csv": { "type": "boolean", "default": true, "description": "Export filtered signal data as CSV" } }, "required": [ "signal_data", "sample_rate", "filter_type", "cutoff_freq" ], "additionalProperties": false }, "example_usage": [ "Use data_filter for gpu-accelerated digital filtering (iir/fir) with response analysis" ], "capabilities": [] }, { "name": "data_spectrogram", "description": "Time-frequency analysis with Short-Time Fourier Transform", "category": "signal", "input_schema": { "type": "object", "properties": { "signal_data": { "type": "array", "items": { "type": "number" }, "description": "Input signal data array" }, "sample_rate": { "type": "number", "description": "Sample rate in Hz" }, "window_size": { "type": "integer", "default": 256, "description": "Window size for STFT" }, "overlap": { "type": "number", "default": 0.5, "minimum": 0, "maximum": 0.95, "description": "Window overlap fraction" }, "window_type": { "type": "string", "enum": [ "hann", "hamming", "blackman", "bartlett" ], "default": "hann", "description": "Window function for STFT" }, "emit_plots": { "type": "boolean", "default": true, "description": "Generate time-frequency spectrogram plot" }, "emit_csv": { "type": "boolean", "default": true, "description": "Export spectrogram data as CSV" } }, "required": [ "signal_data", "sample_rate" ], "additionalProperties": false }, "example_usage": [ "Use data_spectrogram for time-frequency analysis with short-time fourier transform" ], "capabilities": [] }, { "name": "data_wavelet", "description": "Continuous wavelet transform for time-scale analysis", "category": "signal", "input_schema": { "type": "object", "properties": { "signal_data": { "type": "array", "items": { "type": "number" }, "description": "Input signal data array" }, "sample_rate": { "type": "number", "description": "Sample rate in Hz" }, "wavelet": { "type": "string", "enum": [ "morlet", "mexican_hat", "daubechies", "haar" ], "default": "morlet", "description": "Wavelet function to use" }, "scales": { "type": "array", "items": { "type": "number" }, "description": "Scale values for wavelet transform (optional, auto-generate if not provided)" }, "emit_plots": { "type": "boolean", "default": true, "description": "Generate wavelet scalogram plot" }, "emit_csv": { "type": "boolean", "default": true, "description": "Export wavelet coefficients as CSV" } }, "required": [ "signal_data", "sample_rate" ], "additionalProperties": false }, "example_usage": [ "Convert data using data_wavelet" ], "capabilities": [] }, { "name": "tensor_algebra", "description": "Compute Christoffel symbols, curvature tensors, and geodesics (scaffold)", "category": "tensor", "input_schema": { "type": "object", "properties": { "metric": { "description": "Metric tensor components as nested array in chosen coordinates", "type": "array", "items": { "type": "array", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] } } }, "coords": { "description": "Coordinate names (e.g., ['t','r','theta','phi'])", "type": "array", "items": { "type": "string" } }, "compute": { "description": "Quantities to compute", "type": "array", "items": { "type": "string", "enum": [ "christoffel", "riemann", "ricci", "ricci_scalar", "geodesics" ] } } }, "required": [ "metric", "coords", "compute" ] }, "example_usage": [ "Use tensor_algebra for compute christoffel symbols, curvature tensors, and geodesics (scaffold)" ], "capabilities": [] }, { "name": "report_generate", "description": "Generate a session report (Markdown) summarizing tool events and artifacts.", "category": "report", "input_schema": { "type": "object", "properties": { "session_id": { "type": "string", "description": "Target session ID to summarize" }, "format": { "type": "string", "enum": [ "markdown" ], "default": "markdown" }, "title": { "type": "string", "description": "Report title" }, "author": { "type": "string", "description": "Author name(s)" }, "include": { "type": "array", "items": { "type": "string", "enum": [ "cas", "plots", "constants", "units", "events", "artifacts" ] }, "description": "Sections to include in the report" } }, "required": [ "session_id" ] }, "example_usage": [ "Use report_generate for generate a session report (markdown) summarizing tool events and artifacts" ], "capabilities": [] }, { "name": "units_convert", "description": "Convert between different units using Pint unit registry. Supports SI, imperial, and specialized physics units.", "category": "units", "input_schema": { "type": "object", "properties": { "quantity": { "type": "object", "properties": { "value": { "type": "number" }, "unit": { "type": "string" } }, "required": [ "value", "unit" ], "description": "Input quantity with value and unit" }, "to": { "type": "string", "description": "Target unit for conversion" } }, "required": [ "quantity", "to" ] }, "example_usage": [ "Convert 1 meter to feet", "Convert 100 joules to calories" ], "capabilities": [ "differentiation", "unit_conversion" ] }, { "name": "statmech_partition", "description": "Calculate partition function and thermodynamic quantities from energy levels", "category": "statmech", "input_schema": { "type": "object", "properties": { "energy_levels": { "type": "array", "items": { "type": "number" }, "description": "Energy levels in Joules" }, "temperature": { "type": "number", "description": "Temperature in Kelvin", "default": 300 }, "degeneracies": { "type": "array", "items": { "type": "number" }, "description": "Degeneracies for each energy level (optional, defaults to 1)" } }, "required": [ "energy_levels" ] }, "example_usage": [ "Use statmech_partition for calculate partition function and thermodynamic quantities from energy levels" ], "capabilities": [] } ], "tool_categories": { "cas": [ "cas" ], "constants": [ "constants_get" ], "dataio": [ "data" ], "distributed": [ "distributed_collaboration" ], "export": [ "export_tool" ], "external": [ "api_tools" ], "graphingcalculator": [ "graphing_calculator" ], "ml": [ "ml_ai_augmentation" ], "nli": [ "nli_parse" ], "orchestrator": [ "experiment_orchestrator" ], "plot": [ "plot", "accel_caps" ], "quantum": [ "quantum" ], "signal": [ "data_fft", "data_filter", "data_spectrogram", "data_wavelet" ], "tensor": [ "tensor_algebra" ], "report": [ "report_generate" ], "units": [ "units_convert" ], "statmech": [ "statmech_partition" ] }, "use_case_workflows": { "solve_physics_problem": [ "cas", "plot", "units_convert" ], "quantum_simulation": [ "quantum", "plot", "constants_get" ], "data_analysis": [ "graphing_calculator", "plot", "ml_ai_augmentation" ], "scientific_visualization": [ "plot", "export_tool", "data" ], "symbolic_math": [ "cas", "graphing_calculator", "constants_get" ] }, "integration_examples": { "natural_language": [ "Calculate the derivative of x^2 + 3x + 1", "Plot a sine wave from 0 to 2π", "Convert 100 meters to feet", "Solve the quantum harmonic oscillator", "Generate a 3D surface plot of z = x^2 + y^2" ] } } };

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BlinkZer0/Phys-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server