flac-mcp 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- flac_mcp-0.1.0/.dockerignore +30 -0
- flac_mcp-0.1.0/.github/workflows/publish.yml +49 -0
- flac_mcp-0.1.0/.github/workflows/test.yml +19 -0
- flac_mcp-0.1.0/.gitignore +36 -0
- flac_mcp-0.1.0/.gitmodules +3 -0
- flac_mcp-0.1.0/AGENTS.md +118 -0
- flac_mcp-0.1.0/CHANGELOG.md +125 -0
- flac_mcp-0.1.0/CLAUDE.md +142 -0
- flac_mcp-0.1.0/GEMINI.md +117 -0
- flac_mcp-0.1.0/LICENSE +21 -0
- flac_mcp-0.1.0/PKG-INFO +115 -0
- flac_mcp-0.1.0/README.md +94 -0
- flac_mcp-0.1.0/README.zh-CN.md +92 -0
- flac_mcp-0.1.0/WARP.md +117 -0
- flac_mcp-0.1.0/addon.py +99 -0
- flac_mcp-0.1.0/docker/Dockerfile +119 -0
- flac_mcp-0.1.0/docker/README.md +76 -0
- flac_mcp-0.1.0/docker/build.sh +49 -0
- flac_mcp-0.1.0/docker/docker-compose.yml +49 -0
- flac_mcp-0.1.0/docker/entrypoint.sh +79 -0
- flac_mcp-0.1.0/docker/run.sh +35 -0
- flac_mcp-0.1.0/docs/agentic/flac-mcp-bootstrap-claude.md +46 -0
- flac_mcp-0.1.0/docs/agentic/flac-mcp-bootstrap-codex.md +41 -0
- flac_mcp-0.1.0/docs/agentic/flac-mcp-bootstrap-copilot.md +46 -0
- flac_mcp-0.1.0/docs/agentic/flac-mcp-bootstrap-gemini.md +48 -0
- flac_mcp-0.1.0/docs/agentic/flac-mcp-bootstrap-opencode.md +55 -0
- flac_mcp-0.1.0/docs/agentic/flac-mcp-bootstrap-toyoura-nagisa.md +54 -0
- flac_mcp-0.1.0/docs/agentic/flac-mcp-bootstrap.md +261 -0
- flac_mcp-0.1.0/docs/development/source-install.md +154 -0
- flac_mcp-0.1.0/docs/development/source-install.zh-CN.md +154 -0
- flac_mcp-0.1.0/pyproject.toml +74 -0
- flac_mcp-0.1.0/release-notes.md +8 -0
- flac_mcp-0.1.0/scripts/strip_empty_doc_fields.py +69 -0
- flac_mcp-0.1.0/src/flac_mcp/__init__.py +3 -0
- flac_mcp-0.1.0/src/flac_mcp/bridge/__init__.py +5 -0
- flac_mcp-0.1.0/src/flac_mcp/bridge/client.py +297 -0
- flac_mcp-0.1.0/src/flac_mcp/config.py +51 -0
- flac_mcp-0.1.0/src/flac_mcp/contracts.py +128 -0
- flac_mcp-0.1.0/src/flac_mcp/formatting.py +129 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/__init__.py +5 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/adapters/__init__.py +11 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/adapters/api_adapter.py +225 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/adapters/command_adapter.py +127 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/commands/__init__.py +33 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/commands/formatter.py +296 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/commands/loader.py +200 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/commands/models.py +12 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/config.py +25 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/models/__init__.py +10 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/models/document.py +168 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/models/search_result.py +128 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/python_api/__init__.py +60 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/python_api/formatter.py +675 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/python_api/loader.py +643 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/python_api/models.py +80 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/python_api/types/__init__.py +10 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/python_api/types/contact.py +165 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/python_api/types/mappings.py +36 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/query/__init__.py +13 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/query/api_search.py +165 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/query/command_search.py +181 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/references/__init__.py +17 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/references/formatter.py +402 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/references/loader.py +250 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-create.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-delete.json +22 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-export.json +38 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-group.json +33 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-hide.json +22 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-id.json +28 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-import.json +28 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-list.json +63 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-make-hex-only.json +25 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-multiplier.json +22 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-snapon.json +38 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-transform.json +43 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-add-controls.json +35 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-delete.json +22 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-drape.json +38 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-factor.json +22 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-group.json +22 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-id.json +93 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-list.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-ratio-isolate.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-ratio.json +22 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-size.json +22 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-snapon.json +38 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-transform.json +43 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-type.json +38 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-add-controls.json +35 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-cycle.json +22 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-delete.json +22 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-drape.json +38 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-group.json +22 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-id.json +73 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-list.json +53 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-snapon.json +38 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-transform.json +43 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/point-delete.json +22 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/point-drape.json +38 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/point-group.json +22 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/point-list.json +43 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/point-merge.json +22 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/point-move-to.json +40 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/point-snapon.json +38 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/point-transform.json +43 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-arrest-triangle.json +21 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-auto-tolerance.json +21 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-automatic-zone.json +37 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-break-angle.json +21 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-create.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-delete.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-export.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-geometry.json +35 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-import.json +30 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-list.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-select.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-tolerance.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-validate-all.json +21 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/label-create.json +105 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/label-delete.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/label-list.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/label-modify.json +105 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/label-results.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/scalar-create.json +75 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/scalar-delete.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/scalar-export.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/scalar-group.json +60 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/scalar-import.json +45 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/scalar-list.json +75 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/scalar-results.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/tensor-create.json +90 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/tensor-delete.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/tensor-export.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/tensor-group.json +60 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/tensor-import.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/tensor-list.json +90 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/tensor-results.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/vector-create.json +140 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/vector-delete.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/vector-export.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/vector-group.json +60 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/vector-import.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/vector-list.json +105 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/vector-results.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/domain/condition.json +23 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/domain/extent.json +23 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/domain/strain-rate.json +23 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/block-create.json +40 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/block-delete.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/block-group.json +30 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/block-id.json +50 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/block-list.json +40 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/block-multiplier.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/block-position.json +40 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-clear.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-combine.json +30 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-create.json +30 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-delete.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-group.json +30 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-id.json +100 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-list.json +45 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-ratio-isolate.json +21 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-ratio-reverse.json +21 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-ratio.json +25 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-size-default.json +21 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-size.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-zone-length-default.json +22 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-zone-length.json +21 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-gradation.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-list.json +25 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-mode.json +30 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-optimization.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-quad-weight.json +21 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-reset.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-shape-quality.json +21 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-target-size.json +21 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-type.json +30 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/path-clear.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/path-continuous.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/path-ends-parallel.json +23 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/path-extrude-mode.json +37 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/path-translate.json +45 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/point-create.json +30 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/point-delete.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/point-group.json +30 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/point-id.json +35 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/point-list.json +40 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/point-transform.json +50 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/section-circle.json +45 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/section-polygon.json +30 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/section-rectangle.json +45 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-clear.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-create.json +80 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-delete.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-group.json +30 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-id.json +100 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-list.json +40 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-node-create.json +32 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-node-delete.json +21 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-node-group.json +32 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-node-id.json +37 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-node-list.json +37 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-node-transform.json +47 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-ratio-reverse.json +21 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-ratio.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-size.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-zone-length.json +21 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-automatic-validate.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-automatic-zone.json +57 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-clear.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-create.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-delete.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-list.json +45 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-metadata.json +35 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-rename.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-select.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-system.json +40 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-update-polygons.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/automatic-create.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/boolean-convert.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/callback.json +665 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/debug.json +165 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/define.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/history.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/list.json +185 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/operator.json +25 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/result.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/structure.json +25 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/trace.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/aperture.json +150 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/attribute.json +180 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/cluster.json +60 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/combine.json +90 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/compute.json +135 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/connectivity.json +135 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/contact-model.json +150 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/copy.json +60 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/create.json +180 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/delete.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/dfn-extra.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/dfn-group.json +60 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/export.json +90 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/extra.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/generate.json +210 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/group.json +60 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/import.json +240 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/initialize.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/intersections-automatic-update.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/intersections-compute.json +105 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/intersections-delete.json +45 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/intersections-scanline.json +75 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/joint-set.json +143 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/list.json +120 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/property.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/prune.json +60 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/results.json +29 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/set-property.json +75 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/template-create.json +120 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/template-delete.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/template-modify-default.json +120 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/verify-file.json +75 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/assign-groups.json +120 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/copy.json +90 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/delete.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/edge-create.json +130 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/edge-delete.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/edge-export.json +60 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/edge-extra.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/edge-group.json +70 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/export.json +100 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/fill.json +29 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/generate.json +175 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/import.json +110 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/list.json +105 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/move-to.json +85 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/node-create.json +70 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/node-delete.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/node-export.json +70 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/node-extra.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/node-group.json +70 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/paint-extra.json +1010 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/polygon-create.json +130 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/polygon-delete.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/polygon-export.json +70 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/polygon-extra.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/polygon-group.json +70 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/refine.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/results.json +29 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/rotate.json +85 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/select.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/separate.json +95 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/set.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/tessellate.json +120 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/translate.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/triangulate.json +70 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/group/create.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/group/list.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/group/rename.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/group/slot.json +60 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/history/delete.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/history/export.json +135 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/history/interval.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/history/label.json +25 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/history/list.json +90 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/history/purge.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/history/rename.json +25 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/history/results.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/calm.json +84 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/clean.json +115 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/configure.json +228 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/creep.json +120 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/cycle.json +125 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/deterministic.json +152 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/display.json +186 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/domain.json +231 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/dynamic.json +120 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/energy.json +70 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/factor-of-safety.json +250 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/fluid.json +120 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/gravity.json +138 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/history.json +315 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/large-strain.json +91 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/list.json +105 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/mechanical.json +301 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/new.json +139 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/orientation-tracking.json +77 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/precision.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/random.json +87 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/range.json +176 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/restore.json +142 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/results.json +377 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/save.json +261 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/solve.json +614 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/step.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/thermal.json +287 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/title.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/update-interval.json +128 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/active.json +114 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/background.json +111 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/clear.json +85 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/copy.json +137 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/create.json +84 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/current.json +70 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/delete.json +84 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/export.json +248 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/item.json +341 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/rename.json +99 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/title.json +100 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/update.json +111 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/view.json +341 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/automatic-model-save.json +59 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/call.json +90 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/continue.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/customer-title-1.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/customer-title-2.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/directory.json +105 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/echo-line.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/echo.json +60 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/encrypt.json +25 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/exit.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/floating-point-check.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/license.json +49 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/list.json +185 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/load.json +165 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/log-file.json +36 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/log.json +70 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/mail.json +210 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/notice.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/pagination.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/pause.json +60 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/playback.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/quit.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/return.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/stop.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/system.json +85 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/threads.json +60 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/undo.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/warning.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/project/execute.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/project/list.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/project/new.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/project/restore.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/project/save-plugins.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/project/save.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-apply.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-cmodel.json +102 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-create.json +222 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-delete.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-group.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-hide.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-history.json +232 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-import.json +237 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-initialize.json +67 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-list.json +312 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-property-{elastic}.json +31 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-property.json +252 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-refine.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-select.json +97 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-apply.json +97 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-create.json +217 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-delete.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-group.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-hide.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-history.json +207 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-import.json +247 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-initialize.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-list.json +380 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-property.json +272 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-refine.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-select.json +97 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/dynamic-damping.json +62 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/dynamic-safety-factor.json +37 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-apply.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-cmodel.json +102 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-create.json +309 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-delete.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-group.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-hide.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-history.json +572 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-import.json +285 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-initialize.json +67 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-list.json +419 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-property.json +242 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-recover.json +97 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-refine.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-select.json +97 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geometry-update.json +36 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-apply.json +65 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-create.json +160 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-delete.json +41 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-group.json +65 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-hide.json +65 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-history.json +184 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-import.json +190 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-initialize.json +65 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-list.json +259 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-property.json +225 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-select.json +75 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-apply.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-cmodel.json +102 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-create.json +364 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-delete.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-gap-factor.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-group.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-hide.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-history.json +617 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-import.json +325 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-initialize.json +67 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-list.json +534 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-property.json +392 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-recover.json +97 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-refine.json +44 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-select.json +97 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-attach.json +237 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-create.json +166 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-delete.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-dynamic-damping.json +49 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-group.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-hide.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-history.json +292 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-list.json +187 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-property.json +337 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-select.json +97 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-slide.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-tolerance-contact.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-tolerance-node.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-tolerance-slide.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/list-information.json +40 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/mechanical-damping.json +47 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-apply.json +248 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-create.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-damping-local.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-delete.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-fix.json +187 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-free.json +197 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-group.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-hide.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-history.json +462 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-initialize.json +463 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-join.json +97 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-list.json +350 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-select.json +97 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-system-local.json +109 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-apply.json +68 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-cmodel.json +102 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-create.json +222 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-delete.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-group.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-hide.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-history.json +322 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-import.json +247 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-initialize.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-list.json +542 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-property.json +517 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-refine.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-select.json +97 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/ratio.json +84 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/results.json +174 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/safety-factor.json +47 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/scale-rotational-mass.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-apply.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-cmodel.json +102 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-create.json +314 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-delete.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-group.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-hide.json +82 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-history.json +527 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-import.json +290 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-initialize.json +67 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-list.json +354 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-property-{elastic}.json +76 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-property.json +167 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-recover.json +97 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-refine.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-select.json +97 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/add.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/clear.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/delete.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/export.json +75 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/import.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/insert.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/label.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/list.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/position.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/results.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/sort.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/apply-remove.json +132 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/apply.json +414 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/attach.json +324 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/cmodel.json +654 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/consolidation.json +46 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/copy.json +45 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/create.json +388 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/create2d.json +111 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/creep.json +94 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/delete.json +43 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/densify.json +161 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/dynamic.json +354 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/export.json +66 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-apply-remove.json +399 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-apply.json +658 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-group.json +100 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-hide.json +175 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-list.json +94 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-select.json +175 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-skin.json +95 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-westergaard-remove.json +43 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-westergaard.json +95 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/fluid.json +965 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/generate.json +371 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/geometry-test.json +47 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/geometry-tolerance.json +47 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/geometry-update.json +47 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-create.json +65 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-fix.json +244 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-free.json +190 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-group.json +65 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-import.json +90 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-initialize.json +379 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-list.json +193 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-merge.json +65 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-system.json +85 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint.json +56 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/group.json +81 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/hide.json +81 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/history.json +1254 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/import.json +111 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/initialize-stresses.json +113 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/initialize.json +412 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/interface-create.json +125 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/interface-effective.json +41 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/interface-element.json +154 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/interface-group.json +65 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/interface-list.json +41 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/interface-node.json +420 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/interface-permeability.json +41 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/interface-tolerance-contact.json +59 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/list.json +1634 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/mechanical.json +167 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/nodal-mixed-discretization.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/property-distribution.json +143 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/property.json +197 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/ratio.json +106 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/reflect.json +126 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/relax.json +515 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/results.json +314 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/select.json +96 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/separate.json +134 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/split.json +81 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/thermal.json +472 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/trace.json +106 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/validate.json +96 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/vtk.json +194 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/water.json +239 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/index.json +4120 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/migrate_to_versioned.py +66 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/parse_flac900.py +304 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/parse_pfc600.py +609 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/extract_flac_api.py +323 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/index.json +1050 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/itasca.json +677 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/itasca_keywords.json +96 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/attach/Attach.json +317 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/attach/module.json +71 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/gridpoint/Gridpoint.json +1440 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/gridpoint/module.json +62 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/gridpointarray/module.json +619 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interface/Interface.json +234 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interface/element/Element.json +248 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interface/element/module.json +7 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interface/module.json +31 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interface/node/Node.json +762 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interface/node/module.json +7 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interfacearray/module.json +67 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interfaceelementarray/module.json +81 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interfacenodearray/module.json +295 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/vertexarray/module.json +108 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/zone/Zone.json +1419 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/zone/module.json +386 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/zonearray/module.json +585 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/index.json +705 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/attach/Attach.json +199 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/attach/module.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/gridpoint/Gridpoint.json +925 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/gridpoint/module.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/gridpointarray/module.json +208 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/itasca/module.json +400 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/vertexarray/module.json +64 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/zone/Zone.json +927 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/zone/module.json +288 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/zonearray/module.json +208 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/index.json +966 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/attach/Attach.json +199 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/attach/module.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/gridpoint/Gridpoint.json +934 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/gridpoint/module.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/gridpointarray/module.json +248 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/interface/Interface.json +133 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/interface/element/Element.json +133 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/interface/module.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/interface/node/Node.json +501 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/interfacearray/module.json +40 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/interfaceelementarray/module.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/interfacenodearray/module.json +192 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/itasca/module.json +400 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/vertexarray/module.json +64 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/zone/Zone.json +927 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/zone/module.json +288 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/zonearray/module.json +240 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/boundary-conditions/apply-modifiers.json +74 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/boundary-conditions/fluid-flow.json +65 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/boundary-conditions/gridpoint-fixity.json +85 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/boundary-conditions/index.json +41 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/boundary-conditions/mechanical-face.json +104 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/boundary-conditions/thermal-dynamic.json +73 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/anisotropic.json +106 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/burgers-mohr.json +141 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/burgers.json +99 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/cap-yield-simplified.json +213 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/cap-yield.json +302 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/columnar-basalt.json +242 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/concrete.json +190 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/double-yield.json +162 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/drucker-prager.json +80 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/elastic.json +51 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/finn.json +174 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/hoek-brown-pac.json +156 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/hoek-brown.json +241 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/hydration-drucker-prager.json +144 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/imass.json +429 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/index.json +285 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/maxwell.json +57 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/modified-cam-clay.json +122 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/mohr-coulomb-tension.json +131 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/mohr-coulomb.json +86 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/norsand.json +269 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/null.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/orthotropic.json +135 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/p2psand.json +304 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/parse_flac_models.py +403 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/plastic-hardening.json +254 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/power-mohr.json +128 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/power-ubiquitous.json +203 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/power.json +92 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/soft-soil-creep.json +201 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/soft-soil.json +192 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/softening-ubiquitous.json +333 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/strain-softening.json +124 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/swell.json +246 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/ubiquitous-anisotropic.json +162 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/ubiquitous-joint.json +161 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/von-mises.json +66 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/wipp-drucker.json +162 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/wipp-salt.json +178 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/wipp.json +120 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/fish-intrinsics/field-query.json +58 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/fish-intrinsics/index.json +31 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/fish-intrinsics/structure-interface.json +61 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/fish-intrinsics/zone-gridpoint.json +98 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/geometry-data-table/data-sets.json +57 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/geometry-data-table/geometry-workflow.json +50 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/geometry-data-table/index.json +31 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/geometry-data-table/table-curves.json +48 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/histories-and-results/history-workflow.json +101 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/histories-and-results/index.json +29 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/histories-and-results/results-export.json +117 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/histories-and-results/zone-field-data.json +137 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/index.json +104 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/initial-conditions/fluid-thermal.json +80 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/initial-conditions/index.json +29 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/initial-conditions/state-reset.json +52 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/initial-conditions/stress-initialization.json +58 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/interface-and-joints/index.json +24 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/interface-and-joints/joint-workflow.json +51 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/interface-and-joints/zone-interface.json +95 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/plot-items/gridpoint-fix/index.json +83 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/plot-items/index.json +45 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/plot-items/structure/contour.json +84 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/plot-items/structure/index.json +108 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/plot-items/zone/contour.json +90 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/plot-items/zone/cut-line.json +21 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/plot-items/zone/index.json +151 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/plot-items/zone/label.json +37 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/annulus.json +28 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/by.json +15 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/cylinder.json +35 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/ellipse.json +15 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/extent.json +15 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/extra-list.json +15 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/extra.json +39 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/fish.json +18 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/group.json +60 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/id-list.json +15 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/id.json +28 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/index.json +238 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/named-range.json +19 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/not.json +15 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/plane.json +45 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/polygon.json +15 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/position-x.json +30 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/position-y.json +17 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/position-z.json +17 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/position.json +35 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/rectangle.json +15 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/sphere.json +27 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/union.json +15 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/sketch-and-building-blocks/building-blocks.json +60 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/sketch-and-building-blocks/index.json +25 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/sketch-and-building-blocks/sketch-workflow.json +88 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/structural-properties/beam-pile.json +114 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/structural-properties/cable.json +67 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/structural-properties/index.json +42 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/structural-properties/liner.json +161 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/structural-properties/link.json +49 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/__init__.py +21 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/base.py +58 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/engines/__init__.py +13 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/engines/base_engine.py +196 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/engines/bm25_engine.py +218 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/indexing/__init__.py +5 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/indexing/bm25_indexer.py +378 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/keyword_matcher.py +206 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/legacy_models.py +121 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/postprocessing/__init__.py +11 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/postprocessing/component_consolidation.py +122 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/postprocessing/contact_consolidation.py +133 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/preprocessing/__init__.py +10 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/preprocessing/stopwords.py +193 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/preprocessing/tokenizer.py +338 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/scoring/__init__.py +5 -0
- flac_mcp-0.1.0/src/flac_mcp/knowledge/search/scoring/bm25_scorer.py +333 -0
- flac_mcp-0.1.0/src/flac_mcp/py.typed +0 -0
- flac_mcp-0.1.0/src/flac_mcp/server.py +122 -0
- flac_mcp-0.1.0/src/flac_mcp/tools/__init__.py +27 -0
- flac_mcp-0.1.0/src/flac_mcp/tools/browse_commands.py +265 -0
- flac_mcp-0.1.0/src/flac_mcp/tools/browse_python_api.py +405 -0
- flac_mcp-0.1.0/src/flac_mcp/tools/browse_reference.py +343 -0
- flac_mcp-0.1.0/src/flac_mcp/tools/check_task_status.py +111 -0
- flac_mcp-0.1.0/src/flac_mcp/tools/execute_code.py +139 -0
- flac_mcp-0.1.0/src/flac_mcp/tools/execute_task.py +86 -0
- flac_mcp-0.1.0/src/flac_mcp/tools/interrupt_task.py +43 -0
- flac_mcp-0.1.0/src/flac_mcp/tools/list_tasks.py +67 -0
- flac_mcp-0.1.0/src/flac_mcp/tools/query_command.py +79 -0
- flac_mcp-0.1.0/src/flac_mcp/tools/query_python_api.py +68 -0
- flac_mcp-0.1.0/src/flac_mcp/tools/task_formatting.py +8 -0
- flac_mcp-0.1.0/src/flac_mcp/utils.py +180 -0
- flac_mcp-0.1.0/tests/__init__.py +0 -0
- flac_mcp-0.1.0/tests/test_docs_tool_contracts.py +216 -0
- flac_mcp-0.1.0/tests/test_phase2_tools.py +55 -0
- flac_mcp-0.1.0/tests/test_tool_contracts.py +367 -0
- flac_mcp-0.1.0/tests/test_versioned_schema.py +85 -0
- flac_mcp-0.1.0/uv.lock +2139 -0
- flac_mcp-0.1.0/workspace/.gitkeep +0 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Keep the build context small. Only the bridge source actually needs to be
|
|
2
|
+
# copied into the image (see Dockerfile), but rather than allowlisting we
|
|
3
|
+
# block the heavy/irrelevant trees.
|
|
4
|
+
|
|
5
|
+
.git/
|
|
6
|
+
.venv/
|
|
7
|
+
__pycache__/
|
|
8
|
+
*.pyc
|
|
9
|
+
dist/
|
|
10
|
+
build/
|
|
11
|
+
.pytest_cache/
|
|
12
|
+
.ruff_cache/
|
|
13
|
+
.mypy_cache/
|
|
14
|
+
|
|
15
|
+
# Bridge probe scripts and their captured outputs -- dev artifacts that
|
|
16
|
+
# don't belong in the runtime image.
|
|
17
|
+
pfc-mcp-bridge/scratch/
|
|
18
|
+
|
|
19
|
+
# MCP-side package and tests don't need to be inside the container yet -- the
|
|
20
|
+
# container only runs the bridge. Comment out if you later want them available.
|
|
21
|
+
src/
|
|
22
|
+
tests/
|
|
23
|
+
docs/
|
|
24
|
+
.pfc-mcp/
|
|
25
|
+
.pfc-mcp-bridge/
|
|
26
|
+
|
|
27
|
+
# IDE / OS junk
|
|
28
|
+
.idea/
|
|
29
|
+
.vscode/
|
|
30
|
+
.DS_Store
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
name: Publish flac-mcp
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- "v*"
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
test:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v6
|
|
13
|
+
- uses: astral-sh/setup-uv@v8.1.0
|
|
14
|
+
- run: uv sync --group dev
|
|
15
|
+
- run: uv run pytest
|
|
16
|
+
|
|
17
|
+
publish:
|
|
18
|
+
needs: test
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
environment: pypi
|
|
21
|
+
permissions:
|
|
22
|
+
id-token: write
|
|
23
|
+
contents: write
|
|
24
|
+
steps:
|
|
25
|
+
- uses: actions/checkout@v6
|
|
26
|
+
|
|
27
|
+
- name: Extract release notes from CHANGELOG
|
|
28
|
+
run: |
|
|
29
|
+
VERSION="${GITHUB_REF_NAME#v}"
|
|
30
|
+
awk -v ver="$VERSION" '
|
|
31
|
+
BEGIN { marker = "## [" ver "]" }
|
|
32
|
+
index($0, marker) == 1 { found=1; next }
|
|
33
|
+
found && index($0, "## [") == 1 { exit }
|
|
34
|
+
found { print }
|
|
35
|
+
' CHANGELOG.md > release-notes.md
|
|
36
|
+
if [ ! -s release-notes.md ]; then
|
|
37
|
+
echo "::error::No CHANGELOG entry found for version $VERSION in CHANGELOG.md"
|
|
38
|
+
exit 1
|
|
39
|
+
fi
|
|
40
|
+
echo "--- release notes ---"
|
|
41
|
+
cat release-notes.md
|
|
42
|
+
|
|
43
|
+
- uses: astral-sh/setup-uv@v8.1.0
|
|
44
|
+
- run: uv build
|
|
45
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
46
|
+
- uses: softprops/action-gh-release@v3
|
|
47
|
+
with:
|
|
48
|
+
body_path: release-notes.md
|
|
49
|
+
files: dist/*
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
name: Test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v6
|
|
14
|
+
- uses: astral-sh/setup-uv@v8.1.0
|
|
15
|
+
- run: uv sync --group dev
|
|
16
|
+
- run: uv run ruff check src/ tests/
|
|
17
|
+
- run: uv run ruff format --check src/ tests/
|
|
18
|
+
- run: uv run mypy src/flac_mcp/
|
|
19
|
+
- run: uv run pytest tests/ --cov=flac_mcp --cov-report=term-missing
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*.egg-info/
|
|
5
|
+
dist/
|
|
6
|
+
build/
|
|
7
|
+
|
|
8
|
+
# Testing
|
|
9
|
+
.pytest_cache/
|
|
10
|
+
.coverage
|
|
11
|
+
.coverage.*
|
|
12
|
+
|
|
13
|
+
# Environments
|
|
14
|
+
.venv/
|
|
15
|
+
*.env
|
|
16
|
+
|
|
17
|
+
# Local agent/MCP config
|
|
18
|
+
.mcp.json
|
|
19
|
+
.claude/
|
|
20
|
+
.codex/
|
|
21
|
+
|
|
22
|
+
# Local runtime/temp artifacts
|
|
23
|
+
.pfc-mcp-bridge/
|
|
24
|
+
.tmp/
|
|
25
|
+
.pytest_tmp/
|
|
26
|
+
|
|
27
|
+
# Docker dev container's user workspace (mounted into container at /workspace).
|
|
28
|
+
# Keep the dir itself via .gitkeep, ignore everything dropped inside.
|
|
29
|
+
workspace/*
|
|
30
|
+
!workspace/.gitkeep
|
|
31
|
+
|
|
32
|
+
# macOS
|
|
33
|
+
.DS_Store
|
|
34
|
+
|
|
35
|
+
# Windows / MSYS-Cygwin crash dumps
|
|
36
|
+
*.stackdump
|
flac_mcp-0.1.0/AGENTS.md
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# AGENTS.md
|
|
2
|
+
|
|
3
|
+
Guidance for coding agents working in the `flac-mcp` repository.
|
|
4
|
+
|
|
5
|
+
## Project Overview
|
|
6
|
+
|
|
7
|
+
`flac-mcp` provides an MCP server for ITASCA FLAC workflows plus a bridge runtime that runs inside FLAC GUI.
|
|
8
|
+
|
|
9
|
+
This repository intentionally has two runtime contexts:
|
|
10
|
+
|
|
11
|
+
- `src/flac_mcp/` (Python >= 3.10): MCP server package used by clients/tooling
|
|
12
|
+
- `itasca-mcp-bridge/` (FLAC embedded Python, often 3.6): WebSocket bridge running inside FLAC GUI
|
|
13
|
+
|
|
14
|
+
Treat these as separate deployment targets even though they live in one repository.
|
|
15
|
+
|
|
16
|
+
## Core Architecture
|
|
17
|
+
|
|
18
|
+
### MCP side (`src/flac_mcp`)
|
|
19
|
+
|
|
20
|
+
- Exposes documentation tools and execution tools through FastMCP
|
|
21
|
+
- Communicates with bridge via WebSocket client (`flac_mcp.bridge.client`)
|
|
22
|
+
- Returns a unified tool envelope: `ok`, `data`, `error`
|
|
23
|
+
- Dual execution model: synchronous REPL (`flac_execute_code`) for quick queries, script-first async (`flac_execute_task` + `flac_check_task_status`) for long-running simulations
|
|
24
|
+
|
|
25
|
+
### Bridge side (`itasca-mcp-bridge`)
|
|
26
|
+
|
|
27
|
+
- Runs in FLAC GUI process
|
|
28
|
+
- Owns thread-safe interaction with ITASCA SDK
|
|
29
|
+
- Handles long-running tasks and diagnostics
|
|
30
|
+
- Must be started from FLAC GUI (for example with `%run .../itasca-mcp-bridge/start_bridge.py`)
|
|
31
|
+
|
|
32
|
+
## Repository Layout
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
flac-mcp/
|
|
36
|
+
├── src/flac_mcp/
|
|
37
|
+
│ ├── bridge/ # MCP-side bridge client/task manager
|
|
38
|
+
│ ├── knowledge/ # command/API/reference search system
|
|
39
|
+
│ ├── tools/ # MCP tool implementations
|
|
40
|
+
│ ├── formatting.py # shared response formatting
|
|
41
|
+
│ └── server.py # MCP server entrypoint
|
|
42
|
+
├── itasca-mcp-bridge/ # runtime executed inside FLAC GUI
|
|
43
|
+
└── tests/ # MCP/tool contract tests
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Development Commands
|
|
47
|
+
|
|
48
|
+
Run from repository root.
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
uv sync
|
|
52
|
+
uv sync --group dev
|
|
53
|
+
uv run flac-mcp
|
|
54
|
+
uv run pytest tests/test_phase2_tools.py
|
|
55
|
+
uv run pytest tests/test_tool_contracts.py
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Engineering Rules
|
|
59
|
+
|
|
60
|
+
1. Keep MCP and bridge concerns separate.
|
|
61
|
+
- Do not couple MCP logic to FLAC GUI internals.
|
|
62
|
+
- Do not introduce application/session policy into bridge runtime.
|
|
63
|
+
|
|
64
|
+
2. Preserve execution semantics for each model.
|
|
65
|
+
- `flac_execute_code` runs synchronous snippets and returns stdout/result immediately.
|
|
66
|
+
- `flac_execute_task` submits scripts and returns quickly.
|
|
67
|
+
- Progress/result retrieval goes through `flac_check_task_status`.
|
|
68
|
+
|
|
69
|
+
3. Maintain structured tool contracts.
|
|
70
|
+
- Prefer stable machine-readable keys over ad-hoc text parsing.
|
|
71
|
+
- Use the unified envelope for all tool business payloads:
|
|
72
|
+
- success: `{"ok": true, "data": ...}`
|
|
73
|
+
- error: `{"ok": false, "error": {"code": str, "message": str, "details"?: object}}`
|
|
74
|
+
- Enforce coherence: `ok=true` must not include `error`; `ok=false` must include `error`.
|
|
75
|
+
- Do not require duplicate presentation fields (for example, `display`) when they mirror structured data.
|
|
76
|
+
- Let clients render human-facing formatting from structured fields.
|
|
77
|
+
- Documentation tools must keep `data` consistent as:
|
|
78
|
+
- `source`: `"commands" | "python_api" | "reference"`
|
|
79
|
+
- `action`: `"browse" | "query"`
|
|
80
|
+
- `entries`: `list[object]`
|
|
81
|
+
- `summary`: `object` (counts/hints/context)
|
|
82
|
+
- Keep query/path/input echo minimal; prefer putting necessary context in `summary` or `error.details.input`.
|
|
83
|
+
|
|
84
|
+
4. Keep compatibility when practical.
|
|
85
|
+
- If moving shared helpers, keep thin compatibility re-exports when tests or downstream code rely on old import paths.
|
|
86
|
+
|
|
87
|
+
5. Respect runtime constraints.
|
|
88
|
+
- MCP package uses modern deps (`websockets>=15`).
|
|
89
|
+
- Bridge side may require legacy-compatible deps (`websockets==9.1`) in FLAC Python.
|
|
90
|
+
|
|
91
|
+
## Testing Expectations
|
|
92
|
+
|
|
93
|
+
- For tool/contract changes, run:
|
|
94
|
+
- `tests/test_phase2_tools.py`
|
|
95
|
+
- `tests/test_tool_contracts.py`
|
|
96
|
+
Mock bridge based tests are preferred for deterministic CI.
|
|
97
|
+
|
|
98
|
+
## Documentation Sources
|
|
99
|
+
|
|
100
|
+
FLAC searchable docs live under:
|
|
101
|
+
|
|
102
|
+
- `src/flac_mcp/knowledge/resources/command_docs/`
|
|
103
|
+
- `src/flac_mcp/knowledge/resources/python_sdk_docs/`
|
|
104
|
+
- `src/flac_mcp/knowledge/resources/references/`
|
|
105
|
+
|
|
106
|
+
When changing schema/content shape, verify browse/query tool behavior remains consistent.
|
|
107
|
+
|
|
108
|
+
## Commit Style
|
|
109
|
+
|
|
110
|
+
Use conventional prefixes seen in repository history, for example:
|
|
111
|
+
|
|
112
|
+
- `feat: ...`
|
|
113
|
+
- `fix: ...`
|
|
114
|
+
- `refactor: ...`
|
|
115
|
+
- `test: ...`
|
|
116
|
+
- `docs: ...`
|
|
117
|
+
|
|
118
|
+
Keep commit messages focused on why the change was needed.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `flac-mcp` are documented here.
|
|
4
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
5
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
|
+
|
|
7
|
+
<!--
|
|
8
|
+
Add a new section per release before tagging. The publish workflow extracts
|
|
9
|
+
the section matching the tag version and uses it as the GitHub release body.
|
|
10
|
+
The release will fail to publish if no matching entry is found.
|
|
11
|
+
|
|
12
|
+
## [x.y.z] - YYYY-MM-DD
|
|
13
|
+
|
|
14
|
+
Description of the release.
|
|
15
|
+
-->
|
|
16
|
+
|
|
17
|
+
## [0.1.0] - 2026-05-20
|
|
18
|
+
|
|
19
|
+
Initial release of `flac-mcp`. Scaffolded from `pfc-mcp` 0.3.15: the MCP
|
|
20
|
+
server was renamed (`flac_*` tools, `src/flac_mcp` package) and retargeted
|
|
21
|
+
to the ITASCA FLAC product family (FLAC2D/FLAC3D); the in-product bridge
|
|
22
|
+
runtime was extracted to the standalone `itasca-mcp-bridge` package. The
|
|
23
|
+
bundled command/API/reference knowledge base is inherited from `pfc-mcp`
|
|
24
|
+
and currently covers ITASCA command documentation.
|
|
25
|
+
|
|
26
|
+
## [0.3.15] - 2026-05-16
|
|
27
|
+
|
|
28
|
+
Version-aware reference documentation. The `contact-models` reference grows
|
|
29
|
+
from 5 to 22 models (all PFC mechanical + thermal contact models) and
|
|
30
|
+
`pfc_browse_reference` becomes version-aware for PFC 6.0/7.0/9.0.
|
|
31
|
+
|
|
32
|
+
- `pfc_browse_reference` gains a `version` parameter (6.0/7.0/9.0, default
|
|
33
|
+
7.0) mirroring `pfc_browse_commands`: the model list is filtered by
|
|
34
|
+
version availability, requesting a model absent in the target version
|
|
35
|
+
returns a friendly `item_unavailable_for_version` error (with
|
|
36
|
+
`available_versions`), and not-found suggestions are version-filtered.
|
|
37
|
+
- New models: arrlinear, bilinear, burger, eepa, fish, flatjoint,
|
|
38
|
+
hysteretic, jkr, lineardipole, null, smoothjoint, softbond,
|
|
39
|
+
springnetwork, thermalnull, thermalpipe, plus 9.0-only `mohr` and
|
|
40
|
+
`subspringnetwork`. The 5 legacy curated models keep their content.
|
|
41
|
+
- Content is shared across versions (measured: 7.0 == 9.0, and 6.0 == 7.0
|
|
42
|
+
for shared properties), so no per-version data duplication. Differences
|
|
43
|
+
are encoded as a per-model `availability` map and per-property `since`
|
|
44
|
+
markers (flatjoint `fj_cohres`/`fj_resmode` since 7.0; softbond
|
|
45
|
+
`rgap`/`sb_coh`/`sb_fa`/`sb_mcf` since 9.0). `range-elements` and
|
|
46
|
+
`plot-items` have no `availability` and remain version-agnostic
|
|
47
|
+
(backward compatible).
|
|
48
|
+
- Property extraction reworked to split on `<dt id="kwd:...">` markers
|
|
49
|
+
instead of pairing `<dt>/<dd>`, so pages that nest base properties in a
|
|
50
|
+
child `<dl class="keyword">` (e.g. eepa) no longer bleed text or drop
|
|
51
|
+
the nested keywords; model-specific properties collapse into a single
|
|
52
|
+
clean group.
|
|
53
|
+
|
|
54
|
+
## [0.3.14] - 2026-05-15
|
|
55
|
+
|
|
56
|
+
Second wave of command documentation expansion: 123 new commands across
|
|
57
|
+
8 new scopes, bringing totals to 21 categories / 362 commands (was 13 / 239).
|
|
58
|
+
|
|
59
|
+
- `geometry` (34): nodes, edges, polygons, import/export, refinement, tessellation
|
|
60
|
+
- `fracture` (32): DFN — create, generate, intersections, templates, joint-set
|
|
61
|
+
- `table` (11): numerical x/y tables for boundary conditions and history data
|
|
62
|
+
- `group` (4): named-group lifecycle (create / list / rename / slot)
|
|
63
|
+
- `trace` (7): per-object trace recording (lifecycle / export / interval)
|
|
64
|
+
- `project` (6): GUI project containers (new / save / restore / execute)
|
|
65
|
+
- `data` (26): user data containers — label/scalar/vector/tensor sub-namespaces
|
|
66
|
+
- `domain` (3): domain extent, boundary conditions, periodic-cell strain-rate
|
|
67
|
+
|
|
68
|
+
All entries populated for PFC 6.0/7.0/9.0 (7 commands marked unavailable in
|
|
69
|
+
6.0 as new in later versions; e.g. `fracture intersections` machinery).
|
|
70
|
+
|
|
71
|
+
Note: the "dfn" doc module is exposed under the scope name `fracture` to
|
|
72
|
+
match the actual command verb users type. Dotted HTML stems (e.g.
|
|
73
|
+
`cmd_geometry.edge.create.html`, `cmd_data.scalar.create.html`) are mapped
|
|
74
|
+
to dash-separated JSON keys (`edge-create`, `scalar-create`) following the
|
|
75
|
+
rblock convention. `parse_pfc{600,700,900}.py` `build_html_map` learned the
|
|
76
|
+
same dot→dash rule.
|
|
77
|
+
|
|
78
|
+
`range` was considered but not added — the HTML files under
|
|
79
|
+
`range_manual/range_commands/` are syntax reference (rangelogical,
|
|
80
|
+
rangenaming, rangephrase), not commands.
|
|
81
|
+
|
|
82
|
+
Fixes `pfc_browse_commands` to accept the natural space-separated form
|
|
83
|
+
of compound sub-commands (e.g. `geometry edge create`, `data scalar
|
|
84
|
+
create`, `fracture intersections compute`, `contact cmat add`).
|
|
85
|
+
Previously the lookup only matched the stored dash form (`edge-create`,
|
|
86
|
+
`cmat-add`), forcing users to type a non-PFC-syntax variant.
|
|
87
|
+
|
|
88
|
+
## [0.3.13] - 2026-05-15
|
|
89
|
+
|
|
90
|
+
Expands PFC command documentation coverage from 177 to 239 entries
|
|
91
|
+
across 13 categories (was 10). Three new scopes — `program` (28
|
|
92
|
+
commands: license, threads, log, system, lifecycle), `history` (8:
|
|
93
|
+
interval, export, label, results), and `fish` (11: callback, define,
|
|
94
|
+
list, debug, trace) — join filled gaps in `model` (+9: creep,
|
|
95
|
+
dynamic, energy, factor-of-safety, fluid, list, precision, step,
|
|
96
|
+
title), `contact` (+3: extra, history, list), and `fragment` (+3:
|
|
97
|
+
groupisolated, groupslot, map). All entries are populated for PFC
|
|
98
|
+
6.0/7.0/9.0. These commands were previously skipped because their
|
|
99
|
+
Python SDK equivalents return nothing; now that `itasca.command()`
|
|
100
|
+
stdout is captured via the bridge log, exposing them lets agents
|
|
101
|
+
read program/model/history/contact list output through normal
|
|
102
|
+
documentation lookup. A new `bootstrap_missing.py` script under
|
|
103
|
+
`command_docs/` walks the installed PFC HTML manuals and writes
|
|
104
|
+
complete versioned JSON.
|
|
105
|
+
|
|
106
|
+
Trims trailing float-precision noise from BM25 result scores in
|
|
107
|
+
`pfc_query_command` and `pfc_query_python_api` (e.g.
|
|
108
|
+
`2.4743000000000004` → `2.47`).
|
|
109
|
+
|
|
110
|
+
## [0.3.12] - 2026-05-14
|
|
111
|
+
|
|
112
|
+
Surfaces the structured cancellation outcomes from pfc-mcp-bridge >=
|
|
113
|
+
0.3.2 through `pfc_execute_code`: `terminated` (bridge aborted at the
|
|
114
|
+
deadline, partial output returned, PFC state may be partially
|
|
115
|
+
modified), `timeout` with `details.method="stuck_in_c"` (snippet stuck
|
|
116
|
+
in a C extension; bridge may recover when the C call returns),
|
|
117
|
+
`interrupted`, and the default `timeout` path. Local wait widens to
|
|
118
|
+
`timeout_ms / 1000 + 5.0s` so the bridge has room to deliver the
|
|
119
|
+
`terminated` response after its own grace window.
|
|
120
|
+
|
|
121
|
+
Drops `pfc_mcp.formatting.normalize_status()` (and its re-export from
|
|
122
|
+
`pfc_mcp.tools.task_formatting`); the shim only mapped legacy
|
|
123
|
+
`success`/`error` status from pre-0.3.0 bridges. Requires
|
|
124
|
+
pfc-mcp-bridge >= 0.3.0; pin `pfc-mcp<0.3.12` if you can't upgrade the
|
|
125
|
+
bridge.
|
flac_mcp-0.1.0/CLAUDE.md
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
Guidance for coding agents working in the `flac-mcp` repository.
|
|
4
|
+
|
|
5
|
+
## Project Overview
|
|
6
|
+
|
|
7
|
+
`flac-mcp` provides an MCP server for ITASCA FLAC workflows plus a bridge runtime that runs inside FLAC GUI.
|
|
8
|
+
|
|
9
|
+
This project spans two runtime contexts:
|
|
10
|
+
|
|
11
|
+
- `src/flac_mcp/` (Python >= 3.10): MCP server package used by clients/tooling
|
|
12
|
+
- `itasca-mcp-bridge/` (FLAC embedded Python, often 3.6): WebSocket bridge running inside FLAC GUI — a **separate repository** (`yusong652/itasca-mcp-bridge`) vendored here as a git submodule
|
|
13
|
+
|
|
14
|
+
Treat these as separate deployment targets with independent release cycles.
|
|
15
|
+
|
|
16
|
+
## Core Architecture
|
|
17
|
+
|
|
18
|
+
### MCP side (`src/flac_mcp`)
|
|
19
|
+
|
|
20
|
+
- Exposes documentation tools and execution tools through FastMCP
|
|
21
|
+
- Communicates with bridge via WebSocket client (`flac_mcp.bridge.client`)
|
|
22
|
+
- Returns a unified tool envelope: `ok`, `data`, `error`
|
|
23
|
+
- Dual execution model: synchronous REPL (`flac_execute_code`) for quick queries, script-first async (`flac_execute_task` + `flac_check_task_status`) for long-running simulations
|
|
24
|
+
|
|
25
|
+
### Bridge side (`itasca-mcp-bridge`)
|
|
26
|
+
|
|
27
|
+
- Runs in FLAC GUI process
|
|
28
|
+
- Owns thread-safe interaction with ITASCA SDK
|
|
29
|
+
- Handles long-running tasks and diagnostics
|
|
30
|
+
- Must be started from FLAC GUI (for example with `%run .../itasca-mcp-bridge/start_bridge.py`)
|
|
31
|
+
|
|
32
|
+
## Repository Layout
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
flac-mcp/
|
|
36
|
+
├── src/flac_mcp/
|
|
37
|
+
│ ├── bridge/ # MCP-side bridge client/task manager
|
|
38
|
+
│ ├── knowledge/ # command/API/reference search system
|
|
39
|
+
│ ├── tools/ # MCP tool implementations
|
|
40
|
+
│ ├── formatting.py # shared response formatting
|
|
41
|
+
│ └── server.py # MCP server entrypoint
|
|
42
|
+
├── itasca-mcp-bridge/ # git submodule → separate repo; runtime executed inside FLAC GUI
|
|
43
|
+
└── tests/ # MCP/tool contract tests
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Development Commands
|
|
47
|
+
|
|
48
|
+
Run from repository root.
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
uv sync
|
|
52
|
+
uv sync --group dev
|
|
53
|
+
uv run flac-mcp
|
|
54
|
+
uv run pytest tests/test_phase2_tools.py
|
|
55
|
+
uv run pytest tests/test_tool_contracts.py
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Engineering Rules
|
|
59
|
+
|
|
60
|
+
1. Keep MCP and bridge concerns separate.
|
|
61
|
+
- Do not couple MCP logic to FLAC GUI internals.
|
|
62
|
+
- Do not introduce application/session policy into bridge runtime.
|
|
63
|
+
|
|
64
|
+
2. Preserve execution semantics for each model.
|
|
65
|
+
- `flac_execute_code` runs synchronous snippets and returns stdout/result immediately.
|
|
66
|
+
- `flac_execute_task` submits scripts and returns quickly.
|
|
67
|
+
- Progress/result retrieval goes through `flac_check_task_status`.
|
|
68
|
+
|
|
69
|
+
3. Maintain structured tool contracts.
|
|
70
|
+
- Prefer stable machine-readable keys over ad-hoc text parsing.
|
|
71
|
+
- Use the unified envelope for all tool business payloads:
|
|
72
|
+
- success: `{"ok": true, "data": ...}`
|
|
73
|
+
- error: `{"ok": false, "error": {"code": str, "message": str, "details"?: object}}`
|
|
74
|
+
- Enforce coherence: `ok=true` must not include `error`; `ok=false` must include `error`.
|
|
75
|
+
- Do not require duplicate presentation fields (for example, `display`) when they mirror structured data.
|
|
76
|
+
- Let clients render human-facing formatting from structured fields.
|
|
77
|
+
- Documentation tools must keep `data` consistent as:
|
|
78
|
+
- `source`: `"commands" | "python_api" | "reference"`
|
|
79
|
+
- `action`: `"browse" | "query"`
|
|
80
|
+
- `entries`: `list[object]`
|
|
81
|
+
- `summary`: `object` (counts/hints/context)
|
|
82
|
+
- Keep query/path/input echo minimal; prefer putting necessary context in `summary` or `error.details.input`.
|
|
83
|
+
|
|
84
|
+
4. Keep compatibility when practical.
|
|
85
|
+
- If moving shared helpers, keep thin compatibility re-exports when tests or downstream code rely on old import paths.
|
|
86
|
+
|
|
87
|
+
5. Respect runtime constraints.
|
|
88
|
+
- MCP package uses modern deps (`websockets>=15`).
|
|
89
|
+
- Bridge side may require legacy-compatible deps (`websockets==9.1`) in FLAC Python.
|
|
90
|
+
|
|
91
|
+
## Testing Expectations
|
|
92
|
+
|
|
93
|
+
- For tool/contract changes, run:
|
|
94
|
+
- `tests/test_phase2_tools.py`
|
|
95
|
+
- `tests/test_tool_contracts.py`
|
|
96
|
+
Mock bridge based tests are preferred for deterministic CI.
|
|
97
|
+
|
|
98
|
+
## Documentation Sources
|
|
99
|
+
|
|
100
|
+
FLAC searchable docs live under:
|
|
101
|
+
|
|
102
|
+
- `src/flac_mcp/knowledge/resources/command_docs/`
|
|
103
|
+
- `src/flac_mcp/knowledge/resources/python_sdk_docs/`
|
|
104
|
+
- `src/flac_mcp/knowledge/resources/references/`
|
|
105
|
+
|
|
106
|
+
When changing schema/content shape, verify browse/query tool behavior remains consistent.
|
|
107
|
+
|
|
108
|
+
## Release Process
|
|
109
|
+
|
|
110
|
+
The two packages live in **separate repositories** and release independently via GitHub Actions on tag push (PyPI Trusted Publishing — OIDC, no tokens).
|
|
111
|
+
|
|
112
|
+
| Package | Repo | Tag pattern | Workflow | Version file | PyPI environment |
|
|
113
|
+
|---------|------|-------------|----------|--------------|------------------|
|
|
114
|
+
| `flac-mcp` | `yusong652/flac-mcp` (this repo) | `v*` (e.g. `v0.1.0`) | `.github/workflows/publish.yml` | `src/flac_mcp/__init__.py` | `pypi` |
|
|
115
|
+
| `itasca-mcp-bridge` | `yusong652/itasca-mcp-bridge` (submodule) | `v*` (e.g. `v0.1.0`) | `.github/workflows/publish.yml` | `src/itasca_mcp_bridge/__init__.py` | `pypi` |
|
|
116
|
+
|
|
117
|
+
Steps to release `flac-mcp` (run in this repo):
|
|
118
|
+
|
|
119
|
+
1. Bump `__version__` in `src/flac_mcp/__init__.py` (hatch dynamic versioning — single source of truth).
|
|
120
|
+
2. Add a matching `## [x.y.z]` entry to `CHANGELOG.md` (the publish workflow hard-fails without it).
|
|
121
|
+
3. Commit and push to `main`.
|
|
122
|
+
4. Tag and push: `git tag vX.Y.Z && git push origin vX.Y.Z`.
|
|
123
|
+
|
|
124
|
+
Releasing `itasca-mcp-bridge` follows the same steps **inside its own repository** (`yusong652/itasca-mcp-bridge`), not from here.
|
|
125
|
+
|
|
126
|
+
The `flac-mcp` publish workflow runs tests before publishing; the bridge workflow publishes directly.
|
|
127
|
+
|
|
128
|
+
**Important**: the tag version and the `__version__` in `__init__.py` must match. PyPI rejects uploads for versions that already exist.
|
|
129
|
+
|
|
130
|
+
CI also runs on every push/PR to `main` (`.github/workflows/test.yml`): ruff check, ruff format, mypy, and pytest with coverage.
|
|
131
|
+
|
|
132
|
+
## Commit Style
|
|
133
|
+
|
|
134
|
+
Use conventional prefixes seen in repository history, for example:
|
|
135
|
+
|
|
136
|
+
- `feat: ...`
|
|
137
|
+
- `fix: ...`
|
|
138
|
+
- `refactor: ...`
|
|
139
|
+
- `test: ...`
|
|
140
|
+
- `docs: ...`
|
|
141
|
+
|
|
142
|
+
Keep commit messages focused on why the change was needed.
|
flac_mcp-0.1.0/GEMINI.md
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# GEMINI.md
|
|
2
|
+
|
|
3
|
+
Guidance for coding agents working in the `flac-mcp` repository.
|
|
4
|
+
|
|
5
|
+
## Project Overview
|
|
6
|
+
|
|
7
|
+
`flac-mcp` provides an MCP server for ITASCA FLAC workflows plus a bridge runtime that runs inside FLAC GUI.
|
|
8
|
+
|
|
9
|
+
This repository intentionally has two runtime contexts:
|
|
10
|
+
|
|
11
|
+
- `src/flac_mcp/` (Python >= 3.10): MCP server package used by clients/tooling
|
|
12
|
+
- `itasca-mcp-bridge/` (FLAC embedded Python, often 3.6): WebSocket bridge running inside FLAC GUI
|
|
13
|
+
|
|
14
|
+
Treat these as separate deployment targets even though they live in one repository.
|
|
15
|
+
|
|
16
|
+
## Core Architecture
|
|
17
|
+
|
|
18
|
+
### MCP side (`src/flac_mcp`)
|
|
19
|
+
|
|
20
|
+
- Exposes documentation tools and execution tools through FastMCP
|
|
21
|
+
- Communicates with bridge via WebSocket client (`flac_mcp.bridge.client`)
|
|
22
|
+
- Returns a unified tool envelope: `ok`, `data`, `error`
|
|
23
|
+
- Uses script-first execution model (`flac_execute_task` + `flac_check_task_status`)
|
|
24
|
+
|
|
25
|
+
### Bridge side (`itasca-mcp-bridge`)
|
|
26
|
+
|
|
27
|
+
- Runs in FLAC GUI process
|
|
28
|
+
- Owns thread-safe interaction with ITASCA SDK
|
|
29
|
+
- Handles long-running tasks and diagnostics
|
|
30
|
+
- Must be started from FLAC GUI (for example with `%run .../itasca-mcp-bridge/start_bridge.py`)
|
|
31
|
+
|
|
32
|
+
## Repository Layout
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
flac-mcp/
|
|
36
|
+
├── src/flac_mcp/
|
|
37
|
+
│ ├── bridge/ # MCP-side bridge client/task manager
|
|
38
|
+
│ ├── knowledge/ # command/API/reference search system
|
|
39
|
+
│ ├── tools/ # MCP tool implementations
|
|
40
|
+
│ ├── formatting.py # shared response formatting
|
|
41
|
+
│ └── server.py # MCP server entrypoint
|
|
42
|
+
├── itasca-mcp-bridge/ # runtime executed inside FLAC GUI
|
|
43
|
+
└── tests/ # MCP/tool contract tests
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Development Commands
|
|
47
|
+
|
|
48
|
+
Run from repository root.
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
uv sync
|
|
52
|
+
uv sync --group dev
|
|
53
|
+
uv run flac-mcp
|
|
54
|
+
uv run pytest tests/test_phase2_tools.py
|
|
55
|
+
uv run pytest tests/test_tool_contracts.py
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Engineering Rules
|
|
59
|
+
|
|
60
|
+
1. Keep MCP and bridge concerns separate.
|
|
61
|
+
- Do not couple MCP logic to FLAC GUI internals.
|
|
62
|
+
- Do not introduce application/session policy into bridge runtime.
|
|
63
|
+
|
|
64
|
+
2. Preserve script-only execution semantics.
|
|
65
|
+
- `flac_execute_task` submits scripts and returns quickly.
|
|
66
|
+
- Progress/result retrieval goes through `flac_check_task_status`.
|
|
67
|
+
|
|
68
|
+
3. Maintain structured tool contracts.
|
|
69
|
+
- Prefer stable machine-readable keys over ad-hoc text parsing.
|
|
70
|
+
- Use the unified envelope for all tool business payloads:
|
|
71
|
+
- success: `{"ok": true, "data": ...}`
|
|
72
|
+
- error: `{"ok": false, "error": {"code": str, "message": str, "details"?: object}}`
|
|
73
|
+
- Enforce coherence: `ok=true` must not include `error`; `ok=false` must include `error`.
|
|
74
|
+
- Do not require duplicate presentation fields (for example, `display`) when they mirror structured data.
|
|
75
|
+
- Let clients render human-facing formatting from structured fields.
|
|
76
|
+
- Documentation tools must keep `data` consistent as:
|
|
77
|
+
- `source`: `"commands" | "python_api" | "reference"`
|
|
78
|
+
- `action`: `"browse" | "query"`
|
|
79
|
+
- `entries`: `list[object]`
|
|
80
|
+
- `summary`: `object` (counts/hints/context)
|
|
81
|
+
- Keep query/path/input echo minimal; prefer putting necessary context in `summary` or `error.details.input`.
|
|
82
|
+
|
|
83
|
+
4. Keep compatibility when practical.
|
|
84
|
+
- If moving shared helpers, keep thin compatibility re-exports when tests or downstream code rely on old import paths.
|
|
85
|
+
|
|
86
|
+
5. Respect runtime constraints.
|
|
87
|
+
- MCP package uses modern deps (`websockets>=15`).
|
|
88
|
+
- Bridge side may require legacy-compatible deps (`websockets==9.1`) in FLAC Python.
|
|
89
|
+
|
|
90
|
+
## Testing Expectations
|
|
91
|
+
|
|
92
|
+
- For tool/contract changes, run:
|
|
93
|
+
- `tests/test_phase2_tools.py`
|
|
94
|
+
- `tests/test_tool_contracts.py`
|
|
95
|
+
Mock bridge based tests are preferred for deterministic CI.
|
|
96
|
+
|
|
97
|
+
## Documentation Sources
|
|
98
|
+
|
|
99
|
+
FLAC searchable docs live under:
|
|
100
|
+
|
|
101
|
+
- `src/flac_mcp/knowledge/resources/command_docs/`
|
|
102
|
+
- `src/flac_mcp/knowledge/resources/python_sdk_docs/`
|
|
103
|
+
- `src/flac_mcp/knowledge/resources/references/`
|
|
104
|
+
|
|
105
|
+
When changing schema/content shape, verify browse/query tool behavior remains consistent.
|
|
106
|
+
|
|
107
|
+
## Commit Style
|
|
108
|
+
|
|
109
|
+
Use conventional prefixes seen in repository history, for example:
|
|
110
|
+
|
|
111
|
+
- `feat: ...`
|
|
112
|
+
- `fix: ...`
|
|
113
|
+
- `refactor: ...`
|
|
114
|
+
- `test: ...`
|
|
115
|
+
- `docs: ...`
|
|
116
|
+
|
|
117
|
+
Keep commit messages focused on why the change was needed.
|
flac_mcp-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Yusong Han
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|