github Python re-analysis due

Hereon-InstituteMS/openPASO

github

openPASO (formerly OASiS): an MCP server that lets an AI model run nine finite-element and multiphysics codes, with curated knowledge, verified execution and cross-code coupling. Under active development; contributions welcome.

maintainer
Hereon-InstituteMS
licence
MIT
first seen
2026-09-17
last seen
2026-09-19
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 58 tools
transport stdio counts 58 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • audit_results
  • benchmark_poisson_cross_solver
  • benchmark_problem
  • browse_solver_tests
  • build_source
  • check_input
  • check_simulation_quality
  • compare_solvers
  • couple
  • couple_levels
  • couple_precice
  • coupled_solve
  • deep_validate
  • developer
  • discover
  • discover_sources
  • ensure_source
  • examples
  • fetch_source
  • generate_mesh
  • get_example_input
  • get_example_inputs
  • get_input_file_guide
  • get_input_schema
  • get_job_status
  • get_module_info
  • get_solver_architecture
  • get_solver_capabilities_matrix
  • get_solver_info
  • knowledge
  • list_jobs
  • list_solver_source_files
  • list_solvers
  • list_template_variants
  • list_tutorials
  • parameter_study
  • plot_all_fields
  • plot_result
  • post_process
  • prepare_simulation
  • query_documentation
  • read_solver_test_file
  • recommend_solver_for
  • rediscover_backends
  • reload_catalog
  • restart_simulation
  • run_simulation
  • run_with_generator
  • search_examples
  • session_insights
  • setup_backend
  • submit_critic_review
  • transfer_field
  • validate_physics
  • verify_interface_flux
  • verify_mesh_independence
  • verify_pde_consistency
  • visualize
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 8bae1cf · analyzer v33 · 1d ago

skills & prompt files 3

danger signals5

code evidence vv1.1.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 322

filesystem 150

  • fs Hereon-InstituteMS-openPASO-8bae1cf/check_install.py :24 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/fsi_reference_newtonkrylov.py :38 import shutil
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_dealii.py :31 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_dealii_elastic.py :36 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_dealii_transient.py :61 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_dune.py :9 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_dune_3d.py :113 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_dune_elastic.py :79 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_febio.py :43 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_febio_elastic.py :327 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_fenics.py :15 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_fenics_elastic.py :36 from pathlib import Path
show 28 more
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_fenics_thermoelastic.py :38 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_fenics_transient.py :246 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_fourc.py :16 import shutil
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_fourc_thermoelastic.py :24 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_fsi_fluid_fenics.py :47 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_fsi_solid_fenics.py :25 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_fsi_solid_fourc.py :105 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_fsi_solid_skfem.py :24 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_kratos.py :21 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_kratos_3d.py :130 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_kratos_neumann.py :54 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_ngsolve.py :10 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_ngsolve_elastic.py :34 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_skfem.py :10 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_skfem_elastic.py :52 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_sparta.py :49 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_tsi_mech_fenics.py :37 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_tsi_mech_ngsolve.py :42 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_tsi_mech_skfem.py :40 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_tsi_thermal_fenics.py :45 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_tsi_thermal_ngsolve.py :46 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_tsi_thermal_skfem.py :50 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/data/kratos_knowledge.py :1797 with open("ProjectParameters.json", 'r') as parameter_file:
  • fs (weak) Hereon-InstituteMS-openPASO-8bae1cf/docs/_gen_reference.py :18 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/langgraph_eval/agent.py :38 import shutil
  • fs Hereon-InstituteMS-openPASO-8bae1cf/run_agent.py :24 from pathlib import Path
  • fs Hereon-InstituteMS-openPASO-8bae1cf/src/backends/dealii/backend.py :18 import shutil
  • fs Hereon-InstituteMS-openPASO-8bae1cf/src/backends/dune/backend.py :15 import shutil

110 more not shown — this panel samples each group; the count above is the real total.

shell / exec 36

  • shell Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/fsi_reference_newtonkrylov.py :39 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_dealii.py :29 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_dealii_elastic.py :34 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_dealii_transient.py :59 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_febio.py :41 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_febio_elastic.py :325 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_fourc.py :17 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_fourc_thermoelastic.py :22 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_fsi_solid_fourc.py :102 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/data/coupling_participants/participant_sparta.py :47 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/langgraph_eval/agent.py :40 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/backends/dealii/backend.py :297 import subprocess
show 24 more
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/backends/dune/backend.py :90 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/backends/febio/backend.py :62 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/backends/fenics/backend.py :83 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/backends/fourc/backend.py :147 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/backends/kratos/backend.py :72 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/backends/kratos/generators/cosimulation.py :32 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/backends/kratos/generators/shape_optimization.py :29 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/backends/ngsolve/backend.py :58 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/backends/skfem/backend.py :40 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/backends/sparta/backend.py :383 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/core/autodiscovery.py :24 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/core/backend_setup.py :35 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/core/coupling_driver.py :84 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/core/field_series.py :21 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/core/precice_config.py :471 import subprocess
  • shell (weak) Hereon-InstituteMS-openPASO-8bae1cf/src/core/smoke_tests.py :12 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/core/source_build.py :21 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/core/source_discovery.py :23 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/core/source_fetch.py :18 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :672 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/tools/fourc_deck_lint.py :17 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/tools/participant_lint.py :733 import subprocess # noqa: PLC0415
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/tools/simulation.py :64 import subprocess
  • shell Hereon-InstituteMS-openPASO-8bae1cf/src/tools/workspace_advisor.py :413 result = subprocess.run(cmd, cwd=work_dir, capture_output=True, ...)

secrets 2

  • secrets Hereon-InstituteMS-openPASO-8bae1cf/check_install.py :154 in_shell = bool(os.environ.get("OPENROUTER_API_KEY", "").strip())
  • secrets Hereon-InstituteMS-openPASO-8bae1cf/run_agent.py :258 api_key = os.environ.get("OPENROUTER_API_KEY", "").strip()

tool registrations 64

  • benchmark_problem Hereon-InstituteMS-openPASO-8bae1cf/src/tools/benchmark.py :21
  • benchmark_poisson_cross_solver Hereon-InstituteMS-openPASO-8bae1cf/src/tools/benchmark.py :182
  • knowledge Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :3571
  • discover Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :3647
  • examples Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :3834
  • submit_critic_review Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :4056
  • run_with_generator Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :4187
  • check_input Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :4396
  • run_simulation Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :4438
  • verify_pde_consistency Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :4844
  • verify_interface_flux Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :4863
  • audit_results Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :5076
show 28 more
  • verify_mesh_independence Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :5120
  • coupled_solve Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :5351
  • couple Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :5452
  • couple_levels Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :6757
  • couple_precice Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :6934
  • visualize Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :7084
  • developer Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :7288
  • prepare_simulation Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :7390
  • transfer_field Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :7758
  • generate_mesh Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :7855
  • reload_catalog Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :7919
  • rediscover_backends Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :7987
  • setup_backend Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :8029
  • session_insights Hereon-InstituteMS-openPASO-8bae1cf/src/tools/consolidated.py :8097
  • transfer_field Hereon-InstituteMS-openPASO-8bae1cf/src/tools/coupling.py :1013
  • coupled_solve Hereon-InstituteMS-openPASO-8bae1cf/src/tools/coupling.py :1086
  • couple Hereon-InstituteMS-openPASO-8bae1cf/src/tools/coupling.py :1193
  • get_solver_architecture Hereon-InstituteMS-openPASO-8bae1cf/src/tools/developer.py :231
  • list_solver_source_files Hereon-InstituteMS-openPASO-8bae1cf/src/tools/developer.py :273
  • get_solver_capabilities_matrix Hereon-InstituteMS-openPASO-8bae1cf/src/tools/developer.py :309
  • discover_sources Hereon-InstituteMS-openPASO-8bae1cf/src/tools/developer.py :356
  • fetch_source Hereon-InstituteMS-openPASO-8bae1cf/src/tools/developer.py :388
  • build_source Hereon-InstituteMS-openPASO-8bae1cf/src/tools/developer.py :406
  • ensure_source Hereon-InstituteMS-openPASO-8bae1cf/src/tools/developer.py :429
  • list_solvers Hereon-InstituteMS-openPASO-8bae1cf/src/tools/discovery.py :12
  • get_solver_info Hereon-InstituteMS-openPASO-8bae1cf/src/tools/discovery.py :40
  • recommend_solver_for Hereon-InstituteMS-openPASO-8bae1cf/src/tools/discovery.py :74
  • get_example_inputs Hereon-InstituteMS-openPASO-8bae1cf/src/tools/examples_search.py :64

24 more not shown — this panel samples each group; the count above is the real total.

declared dependencies 9

  • sympy@*
  • fenics-dolfinx@>=0.8
  • gmsh@>=4.12
  • ngsolve@>=6.2
  • scikit-fem@>=10.0
  • KratosMultiphysics@>=10.0
  • dune-fem@>=2.10
  • mpi4py@>=3.0
  • pyprecice@>=3.0