LaminateAnalyzerMCP
The LaminateAnalyzerMCP server performs deterministic structural analysis of laminated composites, offering 21 tools for design, validation, and evaluation. Capabilities include:
Comprehensive analysis (
analyze_laminate): single-call input validation, ABD stiffness, neutral axis, and evaluation metrics.Input validation (
validate_laminate_input): detailed error checking with self-correction suggestions, no calculations.ABD stiffness matrix (
compute_abd_matrix): full A/B/D matrices with normalized forms in SI and SI_mm units.Neutral axis (
compute_neutral_axis): CLT-weighted or beam-equivalent, reported relative to midplane, bottom, and non-dimensional ζ.Laminate evaluation (
evaluate_laminate): coupling, anisotropy, quasi-isotropy, neutral axis offset, condition number, pass/fail criteria.Load response (
solve_load_response): mid-plane strains, curvatures, and effective engineering constants under unit-width loads.Sensitivity analysis (
run_sensitivity_analysis): manufacturing robustness by perturbing ply angle, thickness, and modulus.Batch evaluation (
batch_evaluate_laminates): up to 32 designs at once, returning key metrics for design exploration.Design reports (
generate_design_report): human-readable Markdown and LLM-friendly summaries in Korean or English.Reference cases (
get_reference_cases): built-in benchmarks for few-shot learning and self-validation.Server information (
get_server_info): version, units, limits, tool/error code listings.
Advanced analyses include:
Thermal response (
compute_thermal_response): effective CTE, thermal curvature, PCB warpage.Layer homogenization (
homogenize_layer): copper fraction homogenization.Crack shielding (
assess_crack_shielding): crack threshold, shielding effectiveness, viscoelastic relaxation.Ply stress recovery (
recover_ply_stresses): layer-by-layer stresses with Tsai-Wu failure criterion.Design rule checks (
check_design_rules): stacking convention validation.Buckling (
compute_buckling): buckling loads and modes.Natural frequencies (
compute_natural_frequencies): damped frequencies including transverse shear flexibility.Progressive failure (
run_progressive_failure): ultimate load via progressive ply failure.Interlaminar stresses (
compute_interlaminar_stresses): delamination risk assessment.Fatigue life (
estimate_fatigue_life): cyclic loading life prediction.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@LaminateAnalyzerMCPanalyze a [0/90/0] carbon/epoxy laminate"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LaminateAnalyzerMCP
적층 복합재의 중립면(neutral surface)·ABD 강성·평가 지표를 결정론적으로 계산하는 MCP 서버. LLM 에이전트가 계산을 직접 하지 않고 이 서버를 호출한다. 동일 입력 → 바이트 동일 응답(payload_hash 추적).
계획/사양: docs/mcp_laminate_planning.md (수학 사양·규약·오류코드의 단일 소스)
진행 상태: checklist.md · 결정 기록: context-notes.md
Tool 21종 (MVP 7 + V1 4 + V2 10)
analyze_laminate(원샷 진입점) · validate_laminate_input · compute_abd_matrix ·
compute_neutral_axis · evaluate_laminate · get_reference_cases(폐형해 자가검증) · get_server_info ·
solve_load_response(ε0/κ·유효 공학 상수) · run_sensitivity_analysis ·
batch_evaluate_laminates(≤32) · generate_design_report(ko/en) ·
compute_thermal_response(유효 CTE·열곡률·PCB 휨) · homogenize_layer(동박률) ·
assess_crack_shielding(크랙 문턱·보호층 차폐·점탄성 이완) · recover_ply_stresses(층별 응력·Tsai-Wu 파손) ·
check_design_rules(적층 관례 판정) · compute_buckling · compute_natural_frequencies(감쇠·횡전단 유연성 포함) ·
run_progressive_failure(한계하중) · compute_interlaminar_stresses(박리) · estimate_fatigue_life(반복 수명)
핵심 규약. laminae[0] = 최하단 ply, 각도 deg(CCW), unit_system 필수(SI | SI_mm), 하중은 단위 폭당.
에이전트용 상세 절차는 docs/agent_guide.md, 수식 유도는 docs/math_spec.md,
두 MCP 협동 실 세션 기록은 docs/s5_scenario_log.md.
Related MCP server: Protein Design MCP Server
두 표면 — MCP와 REST
같은 계산·검증·응답 envelope를 두 경로로 노출한다.
소비자 | 경로 | 발견 방법 |
LLM 에이전트 (Claude 등) |
|
|
스크립트·서비스·사람 |
|
|
curl -s localhost:8000/api/v1/tools | jq '.tools[].name' # 도구 21종
curl -s -X POST localhost:8000/api/v1/tools/analyze_laminate \
-H 'Content-Type: application/json' \
-d '{"laminate":{"unit_system":"SI_mm","laminae":[...]}}' # 실행실행
# 로컬 stdio (Claude Code는 .mcp.json으로 자동 연결 — materialtwin과 함께 등록됨)
.venv/bin/laminate-mcp
# HTTP (HEAXHub fastapi 스택과 동일 형태)
.venv/bin/python -m uvicorn app.main:app --host 127.0.0.1 --port 8000 --root-path /apps/laminate_analyzer_mcp
# → GET /health · REST /api/v1/* · OpenAPI /docs · MCP POST /mcphwax portal(HEAXHub) 등록 — 완료
HEAXHub/integrations/laminate-analyzer-mcp가 이 리포지토리의 심볼릭 링크(in-tree 통합)이고,
.portal/manifest.yaml(schema v2)이 정본이다. 카탈로그 등록·빌드·서비스 기동·Caddy 라우트까지
실증 완료(2026-07-16). Caddy 라우트는 forward_auth(/api/v1/authz) → prefix strip → 127.0.0.1:<port>
구조라 포털 경유 접속에는 포털 인증이 필요하다(visibility: team).
# 에이전트 연결 (포털 경유 — 인증 토큰 필요)
claude mcp add --transport http laminate-analyzer \
<포털베이스>/apps/laminate_analyzer_mcp/mcp --header "Authorization: Bearer <token>"개발
python3.12 -m venv .venv && .venv/bin/pip install -e ".[test]"
.venv/bin/pytest # 216 testsAvailable Tools
4 toolscompute_neutral_axisA
중립면 위치를 계산한다. mode: clt_weighted(기본, x·y 각각 B11/A11·B22/A22) | beam_equivalent(E_x 가중 도심).
출력은 midplane 기준·bottom 기준·무차원 ζ=(z-z_bot)/h 세 표기를 항상 병기한다. 대칭 적층이면 모든 정의에서 0(midplane). 정의별 가정은 응답의 axis_definition 참조.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | clt_weighted | |
| laminate | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden. It discloses output formats (midplane/bottom/ζ), behavior for symmetric laminates, and references axis_definition for assumptions. This is transparent for a compute tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise, uses bullet points for clarity, starts with the main purpose, and every sentence adds value. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 0% schema coverage, the description explains modes and output but omits details about the laminate parameter structure. User may need external knowledge to provide correct input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage. The description compensates by explaining mode options with formulas, but does not elaborate on the laminate object structure, which is required and has additionalProperties. Partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates neutral axis position, specifies two modes with explanations, and describes the output format. It distinguishes itself from sibling tools by focusing on neutral axis computation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs siblings. The context implies it's for structural analysis, but no when-not-to-use or alternative suggestions. Usage is implied by the task domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reference_casesA
내장 기준 케이스를 반환한다. case_id 생략 시 목록.
각 케이스는 완전한 입력 payload(input.laminate)와 폐형해 기대값(expected)을 포함하므로, 입력 스키마의 실전 예시(few-shot)이자 서버 자가 검증 수단으로 쓸 수 있다.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It correctly implies a read-only operation ('returns'), but does not disclose other behavioral traits like idempotency, rate limits, or safety. The description adds some value by stating the content of each case (payload and expected value), but is not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences. The first states the primary purpose and conditional behavior; the second explains additional value. Every sentence is purposeful, with no redundancy or verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description adequately covers behavior (list vs detail), content (payload and expected values), and use cases. It could mention output format or pagination, but not critical. A minor gap in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning to the single parameter case_id by stating that omission returns a list, which the schema alone does not convey. This is a clear addition beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'returns built-in reference cases' and distinguishes it from sibling tools (compute_neutral_axis, run_sensitivity_analysis, get_server_info) which perform different tasks. It specifies the optional case_id parameter for filtering, leaving no ambiguity about the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While it doesn't explicitly compare to siblings, the description indicates usage contexts: as few-shot examples and server self-validation. This gives implicit guidance on when to use the tool. However, it lacks explicit when-not-to-use or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_server_infoB
서버·엔진 버전, 지원 단위계, 한계값, Tool·오류코드 목록을 반환한다.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It implies a read-only query returning static information, but does not explicitly state side-effect-freeness, idempotency, or authorization needs. The description is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that captures all essential information without redundancy or waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists returned categories but lacks details on structure or format. Since there is no output schema, it should describe the response fields. Additionally, no usage context or examples are provided, making it incomplete for an agent to fully understand the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline score is 4. The description adds value by listing the categories of returned data, which compensates for the lack of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns server/engine version, supported unit systems, limits, and tool/error code list. The verb '반환한다' (returns) and the specific resources are clear. However, it does not explicitly distinguish from sibling tools like compute_neutral_axis or run_sensitivity_analysis, which are not about retrieving static info but computation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It simply describes what it returns, without mentioning prerequisites, when it is appropriate, or when to avoid it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_sensitivity_analysisA
ply별 각도/두께/탄성계수 섭동에 대한 D̂11·coupling_ratio·ζ_x의 민감도(중앙차분).
제조 공차 강건성 판단용. 결정론적이며 에이전트가 2×3×n_plies회 반복 호출할 것을 1회로 줄인다. ply 수가 많으면 계산 시간 예산(10s) 초과 시 E500을 반환한다.
| Name | Required | Description | Default |
|---|---|---|---|
| laminate | Yes | ||
| modulus_rel | No | ||
| thickness_rel | No | ||
| angle_delta_deg | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the algorithm (central difference), deterministic nature, optimization (reduces calls), and error handling (returns E500 if time budget exceeded). It does not mention side effects (likely none) or data persistence, but covers key operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise, with three focused sentences. The first sentence states the core function, the second the use case, and the third key behavioral details (error handling, optimization). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple perturbation parameters, nested laminate input, no output schema), the description omits critical details: the format of the return value (e.g., a table or object) and the structure of the laminate parameter. This forces the agent to guess or risk incorrect invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must add meaning. It explains that modulus_rel, thickness_rel, and angle_delta_deg are perturbation sizes for each ply, and that laminate is required. However, it does not describe the laminate object structure or what values the defaults represent, leaving significant gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it computes sensitivity of D̂11, coupling_ratio, ζ_x to ply-level perturbations in angle, thickness, and modulus. This is specific and distinguishes it from sibling tools like compute_neutral_axis, which focus on different computations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the use case (manufacturing tolerance robustness assessment) and notes that the tool reduces repeated agent calls into a single call, implying it should be used instead of multiple iterative calls. However, it does not explicitly contrast with sibling tools beyond the implied domain difference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v0.2.1- First observed
compute_neutral_axis - First observed
get_reference_cases - First observed
get_server_info - First observed
run_sensitivity_analysis
TDQS
Scored across 4 tools
Each tool addresses a distinct function: neutral axis computation, sensitivity analysis, reference cases, and server info. There is no overlap in purpose.
All tools follow a consistent verb_noun pattern in snake_case (compute_, run_, get_, get_), making them predictable.
With 4 tools, the server is slightly lean but still within a reasonable scope for a specialized domain like laminate neutral axis analysis.
The server lacks fundamental laminate analysis capabilities such as stiffness matrix computation, stress/strain analysis, or failure criteria, which are expected for a laminate analyzer.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Deterministic reasoning stack for AI agents: simulate, decide & compute, plus cross-domain tools.
AI-callable calculators and engineering models with real formulas. No hallucinated math.
Precision math engine for AI agents. 203 exact methods. Zero hallucination.
Scientific compute for AI agents: symbolic, numerical, quantum, chemistry, ODE. Paid via x402.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to perform unit-aware engineering calculations with automatic unit conversion, dependency resolution, and access to 500+ units across 75+ categories through the CalcsLive calculation engine.37MIT
- AlicenseNot gradedqualityBmaintenanceEnables LLM agents to design proteins, predict structures, score interfaces, and run molecular dynamics simulations through a unified interface.1Apache 2.0
- FlicenseNot gradedqualityCmaintenanceComputes AI agent reliability metrics like success rates, latency statistics, and failure patterns from provided numbers, with zero external API cost.-
- FlicenseNot gradedqualityCmaintenanceEnables an AI assistant to drive Abaqus/CAE through file IPC—sending Python commands, querying model info, submiting jobs, and capturing viewport screenshots—so finite element models can be built and solved without manual GUI interaction.1-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/squall321/LaminateAnalyzerMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server