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.
Files changed (794) hide show
  1. flac_mcp-0.1.0/.dockerignore +30 -0
  2. flac_mcp-0.1.0/.github/workflows/publish.yml +49 -0
  3. flac_mcp-0.1.0/.github/workflows/test.yml +19 -0
  4. flac_mcp-0.1.0/.gitignore +36 -0
  5. flac_mcp-0.1.0/.gitmodules +3 -0
  6. flac_mcp-0.1.0/AGENTS.md +118 -0
  7. flac_mcp-0.1.0/CHANGELOG.md +125 -0
  8. flac_mcp-0.1.0/CLAUDE.md +142 -0
  9. flac_mcp-0.1.0/GEMINI.md +117 -0
  10. flac_mcp-0.1.0/LICENSE +21 -0
  11. flac_mcp-0.1.0/PKG-INFO +115 -0
  12. flac_mcp-0.1.0/README.md +94 -0
  13. flac_mcp-0.1.0/README.zh-CN.md +92 -0
  14. flac_mcp-0.1.0/WARP.md +117 -0
  15. flac_mcp-0.1.0/addon.py +99 -0
  16. flac_mcp-0.1.0/docker/Dockerfile +119 -0
  17. flac_mcp-0.1.0/docker/README.md +76 -0
  18. flac_mcp-0.1.0/docker/build.sh +49 -0
  19. flac_mcp-0.1.0/docker/docker-compose.yml +49 -0
  20. flac_mcp-0.1.0/docker/entrypoint.sh +79 -0
  21. flac_mcp-0.1.0/docker/run.sh +35 -0
  22. flac_mcp-0.1.0/docs/agentic/flac-mcp-bootstrap-claude.md +46 -0
  23. flac_mcp-0.1.0/docs/agentic/flac-mcp-bootstrap-codex.md +41 -0
  24. flac_mcp-0.1.0/docs/agentic/flac-mcp-bootstrap-copilot.md +46 -0
  25. flac_mcp-0.1.0/docs/agentic/flac-mcp-bootstrap-gemini.md +48 -0
  26. flac_mcp-0.1.0/docs/agentic/flac-mcp-bootstrap-opencode.md +55 -0
  27. flac_mcp-0.1.0/docs/agentic/flac-mcp-bootstrap-toyoura-nagisa.md +54 -0
  28. flac_mcp-0.1.0/docs/agentic/flac-mcp-bootstrap.md +261 -0
  29. flac_mcp-0.1.0/docs/development/source-install.md +154 -0
  30. flac_mcp-0.1.0/docs/development/source-install.zh-CN.md +154 -0
  31. flac_mcp-0.1.0/pyproject.toml +74 -0
  32. flac_mcp-0.1.0/release-notes.md +8 -0
  33. flac_mcp-0.1.0/scripts/strip_empty_doc_fields.py +69 -0
  34. flac_mcp-0.1.0/src/flac_mcp/__init__.py +3 -0
  35. flac_mcp-0.1.0/src/flac_mcp/bridge/__init__.py +5 -0
  36. flac_mcp-0.1.0/src/flac_mcp/bridge/client.py +297 -0
  37. flac_mcp-0.1.0/src/flac_mcp/config.py +51 -0
  38. flac_mcp-0.1.0/src/flac_mcp/contracts.py +128 -0
  39. flac_mcp-0.1.0/src/flac_mcp/formatting.py +129 -0
  40. flac_mcp-0.1.0/src/flac_mcp/knowledge/__init__.py +5 -0
  41. flac_mcp-0.1.0/src/flac_mcp/knowledge/adapters/__init__.py +11 -0
  42. flac_mcp-0.1.0/src/flac_mcp/knowledge/adapters/api_adapter.py +225 -0
  43. flac_mcp-0.1.0/src/flac_mcp/knowledge/adapters/command_adapter.py +127 -0
  44. flac_mcp-0.1.0/src/flac_mcp/knowledge/commands/__init__.py +33 -0
  45. flac_mcp-0.1.0/src/flac_mcp/knowledge/commands/formatter.py +296 -0
  46. flac_mcp-0.1.0/src/flac_mcp/knowledge/commands/loader.py +200 -0
  47. flac_mcp-0.1.0/src/flac_mcp/knowledge/commands/models.py +12 -0
  48. flac_mcp-0.1.0/src/flac_mcp/knowledge/config.py +25 -0
  49. flac_mcp-0.1.0/src/flac_mcp/knowledge/models/__init__.py +10 -0
  50. flac_mcp-0.1.0/src/flac_mcp/knowledge/models/document.py +168 -0
  51. flac_mcp-0.1.0/src/flac_mcp/knowledge/models/search_result.py +128 -0
  52. flac_mcp-0.1.0/src/flac_mcp/knowledge/python_api/__init__.py +60 -0
  53. flac_mcp-0.1.0/src/flac_mcp/knowledge/python_api/formatter.py +675 -0
  54. flac_mcp-0.1.0/src/flac_mcp/knowledge/python_api/loader.py +643 -0
  55. flac_mcp-0.1.0/src/flac_mcp/knowledge/python_api/models.py +80 -0
  56. flac_mcp-0.1.0/src/flac_mcp/knowledge/python_api/types/__init__.py +10 -0
  57. flac_mcp-0.1.0/src/flac_mcp/knowledge/python_api/types/contact.py +165 -0
  58. flac_mcp-0.1.0/src/flac_mcp/knowledge/python_api/types/mappings.py +36 -0
  59. flac_mcp-0.1.0/src/flac_mcp/knowledge/query/__init__.py +13 -0
  60. flac_mcp-0.1.0/src/flac_mcp/knowledge/query/api_search.py +165 -0
  61. flac_mcp-0.1.0/src/flac_mcp/knowledge/query/command_search.py +181 -0
  62. flac_mcp-0.1.0/src/flac_mcp/knowledge/references/__init__.py +17 -0
  63. flac_mcp-0.1.0/src/flac_mcp/knowledge/references/formatter.py +402 -0
  64. flac_mcp-0.1.0/src/flac_mcp/knowledge/references/loader.py +250 -0
  65. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-create.json +48 -0
  66. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-delete.json +22 -0
  67. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-export.json +38 -0
  68. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-group.json +33 -0
  69. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-hide.json +22 -0
  70. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-id.json +28 -0
  71. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-import.json +28 -0
  72. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-list.json +63 -0
  73. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-make-hex-only.json +25 -0
  74. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-multiplier.json +22 -0
  75. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-snapon.json +38 -0
  76. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/block-transform.json +43 -0
  77. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-add-controls.json +35 -0
  78. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-delete.json +22 -0
  79. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-drape.json +38 -0
  80. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-factor.json +22 -0
  81. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-group.json +22 -0
  82. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-id.json +93 -0
  83. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-list.json +48 -0
  84. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-ratio-isolate.json +24 -0
  85. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-ratio.json +22 -0
  86. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-size.json +22 -0
  87. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-snapon.json +38 -0
  88. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-transform.json +43 -0
  89. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/edge-type.json +38 -0
  90. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-add-controls.json +35 -0
  91. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-cycle.json +22 -0
  92. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-delete.json +22 -0
  93. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-drape.json +38 -0
  94. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-group.json +22 -0
  95. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-id.json +73 -0
  96. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-list.json +53 -0
  97. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-snapon.json +38 -0
  98. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/face-transform.json +43 -0
  99. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/point-delete.json +22 -0
  100. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/point-drape.json +38 -0
  101. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/point-group.json +22 -0
  102. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/point-list.json +43 -0
  103. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/point-merge.json +22 -0
  104. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/point-move-to.json +40 -0
  105. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/point-snapon.json +38 -0
  106. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/point-transform.json +43 -0
  107. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-arrest-triangle.json +21 -0
  108. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-auto-tolerance.json +21 -0
  109. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-automatic-zone.json +37 -0
  110. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-break-angle.json +21 -0
  111. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-create.json +19 -0
  112. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-delete.json +19 -0
  113. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-export.json +19 -0
  114. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-geometry.json +35 -0
  115. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-import.json +30 -0
  116. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-list.json +19 -0
  117. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-select.json +19 -0
  118. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-tolerance.json +19 -0
  119. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/body/set-validate-all.json +21 -0
  120. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/label-create.json +105 -0
  121. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/label-delete.json +27 -0
  122. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/label-list.json +27 -0
  123. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/label-modify.json +105 -0
  124. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/label-results.json +27 -0
  125. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/scalar-create.json +75 -0
  126. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/scalar-delete.json +27 -0
  127. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/scalar-export.json +27 -0
  128. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/scalar-group.json +60 -0
  129. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/scalar-import.json +45 -0
  130. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/scalar-list.json +75 -0
  131. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/scalar-results.json +27 -0
  132. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/tensor-create.json +90 -0
  133. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/tensor-delete.json +27 -0
  134. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/tensor-export.json +27 -0
  135. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/tensor-group.json +60 -0
  136. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/tensor-import.json +27 -0
  137. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/tensor-list.json +90 -0
  138. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/tensor-results.json +27 -0
  139. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/vector-create.json +140 -0
  140. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/vector-delete.json +27 -0
  141. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/vector-export.json +27 -0
  142. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/vector-group.json +60 -0
  143. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/vector-import.json +27 -0
  144. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/vector-list.json +105 -0
  145. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/data/vector-results.json +27 -0
  146. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/domain/condition.json +23 -0
  147. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/domain/extent.json +23 -0
  148. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/domain/strain-rate.json +23 -0
  149. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/block-create.json +40 -0
  150. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/block-delete.json +19 -0
  151. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/block-group.json +30 -0
  152. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/block-id.json +50 -0
  153. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/block-list.json +40 -0
  154. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/block-multiplier.json +19 -0
  155. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/block-position.json +40 -0
  156. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-clear.json +19 -0
  157. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-combine.json +30 -0
  158. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-create.json +30 -0
  159. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-delete.json +19 -0
  160. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-group.json +30 -0
  161. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-id.json +100 -0
  162. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-list.json +45 -0
  163. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-ratio-isolate.json +21 -0
  164. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-ratio-reverse.json +21 -0
  165. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-ratio.json +25 -0
  166. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-size-default.json +21 -0
  167. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-size.json +19 -0
  168. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-zone-length-default.json +22 -0
  169. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/edge-zone-length.json +21 -0
  170. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-gradation.json +19 -0
  171. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-list.json +25 -0
  172. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-mode.json +30 -0
  173. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-optimization.json +19 -0
  174. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-quad-weight.json +21 -0
  175. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-reset.json +19 -0
  176. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-shape-quality.json +21 -0
  177. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-target-size.json +21 -0
  178. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/mesh-type.json +30 -0
  179. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/path-clear.json +19 -0
  180. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/path-continuous.json +19 -0
  181. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/path-ends-parallel.json +23 -0
  182. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/path-extrude-mode.json +37 -0
  183. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/path-translate.json +45 -0
  184. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/point-create.json +30 -0
  185. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/point-delete.json +19 -0
  186. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/point-group.json +30 -0
  187. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/point-id.json +35 -0
  188. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/point-list.json +40 -0
  189. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/point-transform.json +50 -0
  190. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/section-circle.json +45 -0
  191. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/section-polygon.json +30 -0
  192. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/section-rectangle.json +45 -0
  193. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-clear.json +19 -0
  194. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-create.json +80 -0
  195. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-delete.json +19 -0
  196. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-group.json +30 -0
  197. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-id.json +100 -0
  198. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-list.json +40 -0
  199. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-node-create.json +32 -0
  200. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-node-delete.json +21 -0
  201. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-node-group.json +32 -0
  202. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-node-id.json +37 -0
  203. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-node-list.json +37 -0
  204. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-node-transform.json +47 -0
  205. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-ratio-reverse.json +21 -0
  206. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-ratio.json +19 -0
  207. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-size.json +19 -0
  208. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/segment-zone-length.json +21 -0
  209. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-automatic-validate.json +27 -0
  210. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-automatic-zone.json +57 -0
  211. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-clear.json +19 -0
  212. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-create.json +19 -0
  213. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-delete.json +19 -0
  214. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-list.json +45 -0
  215. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-metadata.json +35 -0
  216. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-rename.json +19 -0
  217. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-select.json +19 -0
  218. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-system.json +40 -0
  219. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/extruder/set-update-polygons.json +27 -0
  220. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/automatic-create.json +27 -0
  221. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/boolean-convert.json +27 -0
  222. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/callback.json +665 -0
  223. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/debug.json +165 -0
  224. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/define.json +27 -0
  225. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/history.json +27 -0
  226. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/list.json +185 -0
  227. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/operator.json +25 -0
  228. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/result.json +27 -0
  229. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/structure.json +25 -0
  230. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fish/trace.json +27 -0
  231. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/aperture.json +150 -0
  232. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/attribute.json +180 -0
  233. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/cluster.json +60 -0
  234. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/combine.json +90 -0
  235. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/compute.json +135 -0
  236. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/connectivity.json +135 -0
  237. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/contact-model.json +150 -0
  238. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/copy.json +60 -0
  239. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/create.json +180 -0
  240. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/delete.json +24 -0
  241. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/dfn-extra.json +24 -0
  242. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/dfn-group.json +60 -0
  243. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/export.json +90 -0
  244. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/extra.json +24 -0
  245. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/generate.json +210 -0
  246. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/group.json +60 -0
  247. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/import.json +240 -0
  248. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/initialize.json +24 -0
  249. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/intersections-automatic-update.json +24 -0
  250. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/intersections-compute.json +105 -0
  251. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/intersections-delete.json +45 -0
  252. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/intersections-scanline.json +75 -0
  253. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/joint-set.json +143 -0
  254. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/list.json +120 -0
  255. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/property.json +24 -0
  256. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/prune.json +60 -0
  257. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/results.json +29 -0
  258. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/set-property.json +75 -0
  259. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/template-create.json +120 -0
  260. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/template-delete.json +24 -0
  261. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/template-modify-default.json +120 -0
  262. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/fracture/verify-file.json +75 -0
  263. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/assign-groups.json +120 -0
  264. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/copy.json +90 -0
  265. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/delete.json +24 -0
  266. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/edge-create.json +130 -0
  267. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/edge-delete.json +48 -0
  268. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/edge-export.json +60 -0
  269. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/edge-extra.json +24 -0
  270. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/edge-group.json +70 -0
  271. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/export.json +100 -0
  272. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/fill.json +29 -0
  273. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/generate.json +175 -0
  274. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/import.json +110 -0
  275. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/list.json +105 -0
  276. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/move-to.json +85 -0
  277. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/node-create.json +70 -0
  278. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/node-delete.json +48 -0
  279. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/node-export.json +70 -0
  280. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/node-extra.json +24 -0
  281. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/node-group.json +70 -0
  282. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/paint-extra.json +1010 -0
  283. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/polygon-create.json +130 -0
  284. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/polygon-delete.json +48 -0
  285. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/polygon-export.json +70 -0
  286. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/polygon-extra.json +24 -0
  287. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/polygon-group.json +70 -0
  288. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/refine.json +24 -0
  289. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/results.json +29 -0
  290. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/rotate.json +85 -0
  291. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/select.json +24 -0
  292. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/separate.json +95 -0
  293. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/set.json +24 -0
  294. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/tessellate.json +120 -0
  295. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/translate.json +48 -0
  296. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/geometry/triangulate.json +70 -0
  297. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/group/create.json +24 -0
  298. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/group/list.json +24 -0
  299. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/group/rename.json +24 -0
  300. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/group/slot.json +60 -0
  301. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/history/delete.json +27 -0
  302. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/history/export.json +135 -0
  303. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/history/interval.json +27 -0
  304. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/history/label.json +25 -0
  305. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/history/list.json +90 -0
  306. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/history/purge.json +27 -0
  307. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/history/rename.json +25 -0
  308. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/history/results.json +27 -0
  309. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/calm.json +84 -0
  310. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/clean.json +115 -0
  311. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/configure.json +228 -0
  312. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/creep.json +120 -0
  313. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/cycle.json +125 -0
  314. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/deterministic.json +152 -0
  315. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/display.json +186 -0
  316. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/domain.json +231 -0
  317. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/dynamic.json +120 -0
  318. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/energy.json +70 -0
  319. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/factor-of-safety.json +250 -0
  320. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/fluid.json +120 -0
  321. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/gravity.json +138 -0
  322. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/history.json +315 -0
  323. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/large-strain.json +91 -0
  324. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/list.json +105 -0
  325. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/mechanical.json +301 -0
  326. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/new.json +139 -0
  327. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/orientation-tracking.json +77 -0
  328. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/precision.json +24 -0
  329. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/random.json +87 -0
  330. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/range.json +176 -0
  331. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/restore.json +142 -0
  332. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/results.json +377 -0
  333. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/save.json +261 -0
  334. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/solve.json +614 -0
  335. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/step.json +24 -0
  336. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/thermal.json +287 -0
  337. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/title.json +24 -0
  338. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/model/update-interval.json +128 -0
  339. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/active.json +114 -0
  340. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/background.json +111 -0
  341. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/clear.json +85 -0
  342. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/copy.json +137 -0
  343. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/create.json +84 -0
  344. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/current.json +70 -0
  345. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/delete.json +84 -0
  346. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/export.json +248 -0
  347. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/item.json +341 -0
  348. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/rename.json +99 -0
  349. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/title.json +100 -0
  350. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/update.json +111 -0
  351. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/plot/view.json +341 -0
  352. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/automatic-model-save.json +59 -0
  353. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/call.json +90 -0
  354. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/continue.json +24 -0
  355. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/customer-title-1.json +24 -0
  356. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/customer-title-2.json +24 -0
  357. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/directory.json +105 -0
  358. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/echo-line.json +24 -0
  359. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/echo.json +60 -0
  360. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/encrypt.json +25 -0
  361. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/exit.json +24 -0
  362. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/floating-point-check.json +24 -0
  363. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/license.json +49 -0
  364. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/list.json +185 -0
  365. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/load.json +165 -0
  366. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/log-file.json +36 -0
  367. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/log.json +70 -0
  368. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/mail.json +210 -0
  369. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/notice.json +24 -0
  370. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/pagination.json +24 -0
  371. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/pause.json +60 -0
  372. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/playback.json +24 -0
  373. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/quit.json +24 -0
  374. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/return.json +24 -0
  375. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/stop.json +24 -0
  376. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/system.json +85 -0
  377. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/threads.json +60 -0
  378. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/undo.json +24 -0
  379. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/program/warning.json +24 -0
  380. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/project/execute.json +24 -0
  381. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/project/list.json +24 -0
  382. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/project/new.json +24 -0
  383. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/project/restore.json +24 -0
  384. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/project/save-plugins.json +24 -0
  385. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/project/save.json +24 -0
  386. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-apply.json +46 -0
  387. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-cmodel.json +102 -0
  388. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-create.json +222 -0
  389. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-delete.json +46 -0
  390. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-group.json +82 -0
  391. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-hide.json +82 -0
  392. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-history.json +232 -0
  393. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-import.json +237 -0
  394. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-initialize.json +67 -0
  395. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-list.json +312 -0
  396. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-property-{elastic}.json +31 -0
  397. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-property.json +252 -0
  398. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-refine.json +46 -0
  399. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/beam-select.json +97 -0
  400. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-apply.json +97 -0
  401. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-create.json +217 -0
  402. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-delete.json +46 -0
  403. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-group.json +82 -0
  404. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-hide.json +82 -0
  405. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-history.json +207 -0
  406. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-import.json +247 -0
  407. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-initialize.json +82 -0
  408. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-list.json +380 -0
  409. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-property.json +272 -0
  410. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-refine.json +46 -0
  411. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/cable-select.json +97 -0
  412. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/dynamic-damping.json +62 -0
  413. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/dynamic-safety-factor.json +37 -0
  414. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-apply.json +46 -0
  415. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-cmodel.json +102 -0
  416. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-create.json +309 -0
  417. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-delete.json +46 -0
  418. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-group.json +82 -0
  419. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-hide.json +82 -0
  420. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-history.json +572 -0
  421. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-import.json +285 -0
  422. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-initialize.json +67 -0
  423. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-list.json +419 -0
  424. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-property.json +242 -0
  425. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-recover.json +97 -0
  426. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-refine.json +46 -0
  427. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geogrid-select.json +97 -0
  428. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/geometry-update.json +36 -0
  429. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-apply.json +65 -0
  430. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-create.json +160 -0
  431. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-delete.json +41 -0
  432. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-group.json +65 -0
  433. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-hide.json +65 -0
  434. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-history.json +184 -0
  435. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-import.json +190 -0
  436. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-initialize.json +65 -0
  437. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-list.json +259 -0
  438. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-property.json +225 -0
  439. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/hybrid-select.json +75 -0
  440. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-apply.json +46 -0
  441. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-cmodel.json +102 -0
  442. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-create.json +364 -0
  443. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-delete.json +46 -0
  444. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-gap-factor.json +48 -0
  445. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-group.json +82 -0
  446. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-hide.json +82 -0
  447. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-history.json +617 -0
  448. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-import.json +325 -0
  449. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-initialize.json +67 -0
  450. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-list.json +534 -0
  451. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-property.json +392 -0
  452. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-recover.json +97 -0
  453. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-refine.json +44 -0
  454. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/liner-select.json +97 -0
  455. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-attach.json +237 -0
  456. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-create.json +166 -0
  457. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-delete.json +46 -0
  458. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-dynamic-damping.json +49 -0
  459. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-group.json +82 -0
  460. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-hide.json +82 -0
  461. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-history.json +292 -0
  462. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-list.json +187 -0
  463. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-property.json +337 -0
  464. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-select.json +97 -0
  465. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-slide.json +46 -0
  466. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-tolerance-contact.json +48 -0
  467. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-tolerance-node.json +48 -0
  468. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/link-tolerance-slide.json +48 -0
  469. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/list-information.json +40 -0
  470. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/mechanical-damping.json +47 -0
  471. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-apply.json +248 -0
  472. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-create.json +46 -0
  473. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-damping-local.json +48 -0
  474. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-delete.json +46 -0
  475. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-fix.json +187 -0
  476. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-free.json +197 -0
  477. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-group.json +82 -0
  478. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-hide.json +82 -0
  479. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-history.json +462 -0
  480. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-initialize.json +463 -0
  481. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-join.json +97 -0
  482. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-list.json +350 -0
  483. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-select.json +97 -0
  484. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/node-system-local.json +109 -0
  485. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-apply.json +68 -0
  486. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-cmodel.json +102 -0
  487. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-create.json +222 -0
  488. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-delete.json +46 -0
  489. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-group.json +82 -0
  490. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-hide.json +82 -0
  491. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-history.json +322 -0
  492. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-import.json +247 -0
  493. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-initialize.json +82 -0
  494. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-list.json +542 -0
  495. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-property.json +517 -0
  496. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-refine.json +46 -0
  497. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/pile-select.json +97 -0
  498. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/ratio.json +84 -0
  499. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/results.json +174 -0
  500. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/safety-factor.json +47 -0
  501. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/scale-rotational-mass.json +48 -0
  502. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-apply.json +46 -0
  503. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-cmodel.json +102 -0
  504. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-create.json +314 -0
  505. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-delete.json +46 -0
  506. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-group.json +82 -0
  507. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-hide.json +82 -0
  508. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-history.json +527 -0
  509. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-import.json +290 -0
  510. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-initialize.json +67 -0
  511. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-list.json +354 -0
  512. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-property-{elastic}.json +76 -0
  513. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-property.json +167 -0
  514. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-recover.json +97 -0
  515. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-refine.json +46 -0
  516. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/structure/shell-select.json +97 -0
  517. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/add.json +24 -0
  518. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/clear.json +24 -0
  519. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/delete.json +24 -0
  520. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/export.json +75 -0
  521. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/import.json +24 -0
  522. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/insert.json +24 -0
  523. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/label.json +24 -0
  524. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/list.json +24 -0
  525. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/position.json +24 -0
  526. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/results.json +24 -0
  527. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/table/sort.json +24 -0
  528. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/apply-remove.json +132 -0
  529. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/apply.json +414 -0
  530. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/attach.json +324 -0
  531. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/cmodel.json +654 -0
  532. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/consolidation.json +46 -0
  533. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/copy.json +45 -0
  534. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/create.json +388 -0
  535. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/create2d.json +111 -0
  536. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/creep.json +94 -0
  537. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/delete.json +43 -0
  538. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/densify.json +161 -0
  539. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/dynamic.json +354 -0
  540. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/export.json +66 -0
  541. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-apply-remove.json +399 -0
  542. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-apply.json +658 -0
  543. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-group.json +100 -0
  544. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-hide.json +175 -0
  545. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-list.json +94 -0
  546. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-select.json +175 -0
  547. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-skin.json +95 -0
  548. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-westergaard-remove.json +43 -0
  549. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/face-westergaard.json +95 -0
  550. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/fluid.json +965 -0
  551. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/generate.json +371 -0
  552. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/geometry-test.json +47 -0
  553. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/geometry-tolerance.json +47 -0
  554. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/geometry-update.json +47 -0
  555. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-create.json +65 -0
  556. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-fix.json +244 -0
  557. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-free.json +190 -0
  558. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-group.json +65 -0
  559. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-import.json +90 -0
  560. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-initialize.json +379 -0
  561. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-list.json +193 -0
  562. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-merge.json +65 -0
  563. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint-system.json +85 -0
  564. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/gridpoint.json +56 -0
  565. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/group.json +81 -0
  566. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/hide.json +81 -0
  567. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/history.json +1254 -0
  568. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/import.json +111 -0
  569. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/initialize-stresses.json +113 -0
  570. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/initialize.json +412 -0
  571. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/interface-create.json +125 -0
  572. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/interface-effective.json +41 -0
  573. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/interface-element.json +154 -0
  574. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/interface-group.json +65 -0
  575. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/interface-list.json +41 -0
  576. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/interface-node.json +420 -0
  577. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/interface-permeability.json +41 -0
  578. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/interface-tolerance-contact.json +59 -0
  579. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/list.json +1634 -0
  580. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/mechanical.json +167 -0
  581. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/nodal-mixed-discretization.json +48 -0
  582. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/property-distribution.json +143 -0
  583. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/property.json +197 -0
  584. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/ratio.json +106 -0
  585. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/reflect.json +126 -0
  586. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/relax.json +515 -0
  587. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/results.json +314 -0
  588. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/select.json +96 -0
  589. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/separate.json +134 -0
  590. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/split.json +81 -0
  591. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/thermal.json +472 -0
  592. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/trace.json +106 -0
  593. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/validate.json +96 -0
  594. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/vtk.json +194 -0
  595. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/commands/zone/water.json +239 -0
  596. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/index.json +4120 -0
  597. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/migrate_to_versioned.py +66 -0
  598. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/parse_flac900.py +304 -0
  599. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/command_docs/parse_pfc600.py +609 -0
  600. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/extract_flac_api.py +323 -0
  601. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/index.json +1050 -0
  602. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/itasca.json +677 -0
  603. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/itasca_keywords.json +96 -0
  604. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/attach/Attach.json +317 -0
  605. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/attach/module.json +71 -0
  606. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/gridpoint/Gridpoint.json +1440 -0
  607. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/gridpoint/module.json +62 -0
  608. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/gridpointarray/module.json +619 -0
  609. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interface/Interface.json +234 -0
  610. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interface/element/Element.json +248 -0
  611. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interface/element/module.json +7 -0
  612. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interface/module.json +31 -0
  613. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interface/node/Node.json +762 -0
  614. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interface/node/module.json +7 -0
  615. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interfacearray/module.json +67 -0
  616. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interfaceelementarray/module.json +81 -0
  617. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/interfacenodearray/module.json +295 -0
  618. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/vertexarray/module.json +108 -0
  619. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/zone/Zone.json +1419 -0
  620. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/zone/module.json +386 -0
  621. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs/modules/zonearray/module.json +585 -0
  622. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/index.json +705 -0
  623. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/attach/Attach.json +199 -0
  624. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/attach/module.json +48 -0
  625. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/gridpoint/Gridpoint.json +925 -0
  626. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/gridpoint/module.json +48 -0
  627. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/gridpointarray/module.json +208 -0
  628. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/itasca/module.json +400 -0
  629. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/vertexarray/module.json +64 -0
  630. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/zone/Zone.json +927 -0
  631. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/zone/module.json +288 -0
  632. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/6.0/modules/zonearray/module.json +208 -0
  633. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/index.json +966 -0
  634. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/attach/Attach.json +199 -0
  635. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/attach/module.json +48 -0
  636. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/gridpoint/Gridpoint.json +934 -0
  637. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/gridpoint/module.json +48 -0
  638. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/gridpointarray/module.json +248 -0
  639. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/interface/Interface.json +133 -0
  640. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/interface/element/Element.json +133 -0
  641. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/interface/module.json +24 -0
  642. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/interface/node/Node.json +501 -0
  643. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/interfacearray/module.json +40 -0
  644. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/interfaceelementarray/module.json +48 -0
  645. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/interfacenodearray/module.json +192 -0
  646. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/itasca/module.json +400 -0
  647. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/vertexarray/module.json +64 -0
  648. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/zone/Zone.json +927 -0
  649. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/zone/module.json +288 -0
  650. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/python_sdk_docs_versions/flac3d/7.0/modules/zonearray/module.json +240 -0
  651. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/boundary-conditions/apply-modifiers.json +74 -0
  652. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/boundary-conditions/fluid-flow.json +65 -0
  653. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/boundary-conditions/gridpoint-fixity.json +85 -0
  654. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/boundary-conditions/index.json +41 -0
  655. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/boundary-conditions/mechanical-face.json +104 -0
  656. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/boundary-conditions/thermal-dynamic.json +73 -0
  657. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/anisotropic.json +106 -0
  658. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/burgers-mohr.json +141 -0
  659. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/burgers.json +99 -0
  660. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/cap-yield-simplified.json +213 -0
  661. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/cap-yield.json +302 -0
  662. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/columnar-basalt.json +242 -0
  663. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/concrete.json +190 -0
  664. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/double-yield.json +162 -0
  665. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/drucker-prager.json +80 -0
  666. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/elastic.json +51 -0
  667. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/finn.json +174 -0
  668. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/hoek-brown-pac.json +156 -0
  669. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/hoek-brown.json +241 -0
  670. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/hydration-drucker-prager.json +144 -0
  671. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/imass.json +429 -0
  672. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/index.json +285 -0
  673. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/maxwell.json +57 -0
  674. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/modified-cam-clay.json +122 -0
  675. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/mohr-coulomb-tension.json +131 -0
  676. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/mohr-coulomb.json +86 -0
  677. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/norsand.json +269 -0
  678. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/null.json +19 -0
  679. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/orthotropic.json +135 -0
  680. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/p2psand.json +304 -0
  681. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/parse_flac_models.py +403 -0
  682. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/plastic-hardening.json +254 -0
  683. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/power-mohr.json +128 -0
  684. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/power-ubiquitous.json +203 -0
  685. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/power.json +92 -0
  686. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/soft-soil-creep.json +201 -0
  687. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/soft-soil.json +192 -0
  688. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/softening-ubiquitous.json +333 -0
  689. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/strain-softening.json +124 -0
  690. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/swell.json +246 -0
  691. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/ubiquitous-anisotropic.json +162 -0
  692. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/ubiquitous-joint.json +161 -0
  693. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/von-mises.json +66 -0
  694. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/wipp-drucker.json +162 -0
  695. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/wipp-salt.json +178 -0
  696. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/constitutive-models/wipp.json +120 -0
  697. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/fish-intrinsics/field-query.json +58 -0
  698. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/fish-intrinsics/index.json +31 -0
  699. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/fish-intrinsics/structure-interface.json +61 -0
  700. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/fish-intrinsics/zone-gridpoint.json +98 -0
  701. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/geometry-data-table/data-sets.json +57 -0
  702. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/geometry-data-table/geometry-workflow.json +50 -0
  703. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/geometry-data-table/index.json +31 -0
  704. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/geometry-data-table/table-curves.json +48 -0
  705. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/histories-and-results/history-workflow.json +101 -0
  706. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/histories-and-results/index.json +29 -0
  707. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/histories-and-results/results-export.json +117 -0
  708. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/histories-and-results/zone-field-data.json +137 -0
  709. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/index.json +104 -0
  710. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/initial-conditions/fluid-thermal.json +80 -0
  711. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/initial-conditions/index.json +29 -0
  712. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/initial-conditions/state-reset.json +52 -0
  713. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/initial-conditions/stress-initialization.json +58 -0
  714. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/interface-and-joints/index.json +24 -0
  715. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/interface-and-joints/joint-workflow.json +51 -0
  716. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/interface-and-joints/zone-interface.json +95 -0
  717. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/plot-items/gridpoint-fix/index.json +83 -0
  718. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/plot-items/index.json +45 -0
  719. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/plot-items/structure/contour.json +84 -0
  720. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/plot-items/structure/index.json +108 -0
  721. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/plot-items/zone/contour.json +90 -0
  722. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/plot-items/zone/cut-line.json +21 -0
  723. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/plot-items/zone/index.json +151 -0
  724. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/plot-items/zone/label.json +37 -0
  725. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/annulus.json +28 -0
  726. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/by.json +15 -0
  727. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/cylinder.json +35 -0
  728. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/ellipse.json +15 -0
  729. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/extent.json +15 -0
  730. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/extra-list.json +15 -0
  731. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/extra.json +39 -0
  732. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/fish.json +18 -0
  733. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/group.json +60 -0
  734. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/id-list.json +15 -0
  735. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/id.json +28 -0
  736. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/index.json +238 -0
  737. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/named-range.json +19 -0
  738. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/not.json +15 -0
  739. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/plane.json +45 -0
  740. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/polygon.json +15 -0
  741. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/position-x.json +30 -0
  742. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/position-y.json +17 -0
  743. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/position-z.json +17 -0
  744. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/position.json +35 -0
  745. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/rectangle.json +15 -0
  746. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/sphere.json +27 -0
  747. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/range-elements/union.json +15 -0
  748. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/sketch-and-building-blocks/building-blocks.json +60 -0
  749. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/sketch-and-building-blocks/index.json +25 -0
  750. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/sketch-and-building-blocks/sketch-workflow.json +88 -0
  751. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/structural-properties/beam-pile.json +114 -0
  752. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/structural-properties/cable.json +67 -0
  753. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/structural-properties/index.json +42 -0
  754. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/structural-properties/liner.json +161 -0
  755. flac_mcp-0.1.0/src/flac_mcp/knowledge/resources/references/structural-properties/link.json +49 -0
  756. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/__init__.py +21 -0
  757. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/base.py +58 -0
  758. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/engines/__init__.py +13 -0
  759. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/engines/base_engine.py +196 -0
  760. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/engines/bm25_engine.py +218 -0
  761. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/indexing/__init__.py +5 -0
  762. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/indexing/bm25_indexer.py +378 -0
  763. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/keyword_matcher.py +206 -0
  764. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/legacy_models.py +121 -0
  765. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/postprocessing/__init__.py +11 -0
  766. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/postprocessing/component_consolidation.py +122 -0
  767. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/postprocessing/contact_consolidation.py +133 -0
  768. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/preprocessing/__init__.py +10 -0
  769. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/preprocessing/stopwords.py +193 -0
  770. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/preprocessing/tokenizer.py +338 -0
  771. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/scoring/__init__.py +5 -0
  772. flac_mcp-0.1.0/src/flac_mcp/knowledge/search/scoring/bm25_scorer.py +333 -0
  773. flac_mcp-0.1.0/src/flac_mcp/py.typed +0 -0
  774. flac_mcp-0.1.0/src/flac_mcp/server.py +122 -0
  775. flac_mcp-0.1.0/src/flac_mcp/tools/__init__.py +27 -0
  776. flac_mcp-0.1.0/src/flac_mcp/tools/browse_commands.py +265 -0
  777. flac_mcp-0.1.0/src/flac_mcp/tools/browse_python_api.py +405 -0
  778. flac_mcp-0.1.0/src/flac_mcp/tools/browse_reference.py +343 -0
  779. flac_mcp-0.1.0/src/flac_mcp/tools/check_task_status.py +111 -0
  780. flac_mcp-0.1.0/src/flac_mcp/tools/execute_code.py +139 -0
  781. flac_mcp-0.1.0/src/flac_mcp/tools/execute_task.py +86 -0
  782. flac_mcp-0.1.0/src/flac_mcp/tools/interrupt_task.py +43 -0
  783. flac_mcp-0.1.0/src/flac_mcp/tools/list_tasks.py +67 -0
  784. flac_mcp-0.1.0/src/flac_mcp/tools/query_command.py +79 -0
  785. flac_mcp-0.1.0/src/flac_mcp/tools/query_python_api.py +68 -0
  786. flac_mcp-0.1.0/src/flac_mcp/tools/task_formatting.py +8 -0
  787. flac_mcp-0.1.0/src/flac_mcp/utils.py +180 -0
  788. flac_mcp-0.1.0/tests/__init__.py +0 -0
  789. flac_mcp-0.1.0/tests/test_docs_tool_contracts.py +216 -0
  790. flac_mcp-0.1.0/tests/test_phase2_tools.py +55 -0
  791. flac_mcp-0.1.0/tests/test_tool_contracts.py +367 -0
  792. flac_mcp-0.1.0/tests/test_versioned_schema.py +85 -0
  793. flac_mcp-0.1.0/uv.lock +2139 -0
  794. 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
@@ -0,0 +1,3 @@
1
+ [submodule "itasca-mcp-bridge"]
2
+ path = itasca-mcp-bridge
3
+ url = https://github.com/yusong652/itasca-mcp-bridge.git
@@ -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.
@@ -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.
@@ -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.