Two MCP servers: signal-processing and geometry analysis of 3D mesh dumps, renders and telemetry, plus local Blender/MPFB body-mesh generation
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · http counts 55 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
analyze_corrugation
-
analyze_mesh_topology
-
analyze_photometric_consistency
-
bankers_check
-
bode
-
classify_eval
-
cluster
-
compare_depth_renders
-
compare_dump_ripples
-
compare_geometry_signals
-
compare_wavelet_signatures
-
convolve_signals
-
create_body_mesh
-
describe
-
enhance_image
-
erlang_blocking
-
evaluate_occlusion_boundaries
-
evaluate_perceptual_similarity
-
evaluate_spatiotemporal_frequencies
-
extract_mesh_telemetry
-
feature_engineer_dump
-
filter_image
-
fit_distribution
-
fourier_series
-
get_bodymesh_job
-
group_delay
-
hypothesis_test
-
inspect_bodymesh_runtime
-
laplace_transform
-
lbs_differential
-
linear_algebra
-
list_bodymesh_parameters
-
little_law
-
localize_defect
-
lti_response
-
page_replacement_sim
-
pole_zero
-
predict
-
prepare_bodymesh_job
-
queueing_calc
-
reduce_dims
-
regression_fit
-
render_identity_set
-
residues_and_integrals
-
restore_image
-
sampling_check
-
schedule_sim
-
score_bake
-
segment_image
-
solve_ode
-
state_space_analysis
-
verify_brdf_energy
-
verify_camera_projection
-
verify_identity_coherence
-
verify_motion_consistency
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit eb1d70b · analyzer v33 · 3d ago
skills & prompt files 2
- agent-rules hgner-dsp-geometry-engine-eb1d70b/AGENTS.md
- agent-rules hgner-dsp-geometry-engine-eb1d70b/CLAUDE.md
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 98
filesystem 60
- fs hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/blender_bridge.py :12
from pathlib import Path, PurePosixPath - fs hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/blender_scripts/engine_retarget_worker.py :18
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/blender_scripts/identity_render_worker.py :17
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/blender_scripts/mpfb_worker.py :17
from pathlib import Path, PurePosixPath - fs hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/config.py :6
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/engine_contract.py :16
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/environment.py :9
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/identity_render.py :7
import shutil - fs hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/jobs.py :9
import shutil - fs hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/locking.py :6
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/paths.py :8
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/cxx_bridge/engine_cli.py :23
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/config.py :9
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/engine/image2d.py :21
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/engine/lbs.py :33
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/engine/ply.py :22
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/engine/scoring.py :23
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/engine/tabular.py :14
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/engine/transforms.py :17
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/engine/video.py :14
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/plots.py :2
saved :class:`~pathlib.Path` is returned so tools can put it in their JSON payload. - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/__init__.py :14
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/engmath.py :25
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/geometry.py :19
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/imaging.py :20
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/ml.py :23
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/perceptual.py :24
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/rendering.py :22
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/stats.py :20
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/systems.py :23
from pathlib import Path - fs hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/video.py :33
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/conftest.py :10
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/stub_blender.py :8
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/stub_character_bake.py :7
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/stub_engine.py :16
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/synth2d.py :10
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_advsystems.py :14
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_bodymesh_server.py :8
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_bridge.py :14
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_comparison_gate_e2e.py :21
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_dsp.py :10
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_engmath.py :10
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_geometry_gate.py :13
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_hardening.py :11
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_imaging_v2.py :11
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_lbs.py :10
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_ml.py :9
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_netqueue.py :15
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_os_sim.py :13
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_perceptual.py :12
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_rendering.py :14
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_review_regressions.py :11
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_scoring.py :12
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_server.py :11
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_stats.py :12
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_systems.py :12
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_tool_cli.py :8
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_topology.py :13
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_video.py :16
from pathlib import Path - fs (weak) hgner-dsp-geometry-engine-eb1d70b/tests/test_wavelets.py :26
from pathlib import Path
shell / exec 3
- shell hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/blender_bridge.py :8
import subprocess - shell hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/environment.py :7
import subprocess - shell hgner-dsp-geometry-engine-eb1d70b/src/cxx_bridge/engine_cli.py :17
import subprocess
secrets 1
- secrets hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/config.py :93
return os.environ.get("DSP_AUTH_TOKEN") or None
tool registrations 55
- inspect_bodymesh_runtime hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/tools.py :136
- list_bodymesh_parameters hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/tools.py :147
- prepare_bodymesh_job hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/tools.py :158
- create_body_mesh hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/tools.py :191
- get_bodymesh_job hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/tools.py :219
- render_identity_set hgner-dsp-geometry-engine-eb1d70b/src/bodymesh_server/tools.py :225
- solve_ode hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/engmath.py :838
- laplace_transform hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/engmath.py :861
- linear_algebra hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/engmath.py :880
- residues_and_integrals hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/engmath.py :900
- fourier_series hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/engmath.py :917
- extract_mesh_telemetry hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/geometry.py :647
- analyze_corrugation hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/geometry.py :667
- compare_geometry_signals hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/geometry.py :687
- localize_defect hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/geometry.py :710
- lbs_differential hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/geometry.py :727
- score_bake hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/geometry.py :749
- analyze_mesh_topology hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/geometry.py :772
- compare_depth_renders hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/imaging.py :669
- enhance_image hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/imaging.py :687
- filter_image hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/imaging.py :708
- segment_image hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/imaging.py :731
- restore_image hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/imaging.py :773
- compare_wavelet_signatures hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/imaging.py :796
- feature_engineer_dump hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/ml.py :856
- cluster hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/ml.py :878
- reduce_dims hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/ml.py :905
- classify_eval hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/ml.py :930
- predict hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/ml.py :974
- queueing_calc hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/netqueue.py :252
- little_law hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/netqueue.py :272
- erlang_blocking hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/netqueue.py :287
- schedule_sim hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/os_sim.py :299
- page_replacement_sim hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/os_sim.py :315
- bankers_check hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/os_sim.py :328
- evaluate_perceptual_similarity hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/perceptual.py :199
- verify_identity_coherence hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/perceptual.py :221
- verify_brdf_energy hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/rendering.py :201
- describe hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/stats.py :690
- fit_distribution hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/stats.py :709
- hypothesis_test hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/stats.py :730
- regression_fit hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/stats.py :758
- compare_dump_ripples hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/stats.py :780
- lti_response hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/systems.py :1027
- pole_zero hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/systems.py :1070
- bode hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/systems.py :1090
- sampling_check hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/systems.py :1114
- convolve_signals hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/systems.py :1143
- group_delay hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/systems.py :1186
- state_space_analysis hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/systems.py :1235
- evaluate_spatiotemporal_frequencies hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/video.py :593
- verify_motion_consistency hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/video.py :619
- verify_camera_projection hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/video.py :641
- analyze_photometric_consistency hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/video.py :665
- evaluate_occlusion_boundaries hgner-dsp-geometry-engine-eb1d70b/src/dsp_server/toolsets/video.py :687
declared dependencies 10
- mcp@>=1.2,<2
- pydantic@>=2.7
- numpy@>=1.26
- scipy@>=1.13
- matplotlib@>=3.9
- pillow@>=10.3
- sympy@>=1.14.0
- scikit-learn@>=1.9.0
- joblib@>=1.4
- pywavelets@>=1.9.0