Verified calculation capability
Force parallel to a rough incline at impending slip. Normal and friction come from the friction engine. Equilibrium is a 2-by-2 linear solve. Not F = μN by itself, and not wedges or belts.
Mechanical · Statics Capability ID mechanical.statics.incline_friction version 1.0.0 UNPUBLISHED
Impending up
P = W sinθ + μ W cosθP = W sinθ − μ W cosθN = W cosθCanonical symbols for this capability. Agent schemas remain the contract.
| Symbol | Quantity | Unit | Role |
|---|---|---|---|
W | Weight, in newtons | — | input / output |
theta_deg | Incline angle from the horizontal, degrees, in [0, 90) | — | input / output |
mu | Friction coefficient at impending slip | — | input / output |
direction | up or down: the sense of impending motion along the plane | — | input / output |
P | — | — | output |
N | — | — | output |
F | — | — | output |
phi_deg | — | — | output |
model | — | — | output |
solver | — | — | output |
Declared scope for this capability. Do not use it outside this domain.
Assumptions
One numerical check. The calculator page holds worked steps and FAQ.
W=100 theta_deg=0 mu=0.25 direction=up → P=25, N=100, F=-25
Review-policy: engine tested — automated tests, sources, version lock, and evidence published. Supplemental to CVP; not Domain Expert Review. See CVP and Review policy.
Human page, REST, and MCP share the same engine and calculation_version.
Build verified hashes workspace artifacts only. After deploy, attest:production GETs canonical URLs twice — the public/cached view an Agent actually hits, and origin — including every /capabilities/{id} HTML page. Public Capability HTML version must match catalog before production attestation passes. Live Trust rows above fetch /.well-known/calculatorx-production-attestation.json
and the output schema const. Build hashes: release integrity. That proves currently published page / engine / schema / evidence / MCP agree — not that a historical version is independently immutable. Reference Calculation Standard — Production surface contract 6/6.
curl -sS -X POST 'https://www.calculatorx.com/api/v1/calc/incline-friction' \
-H 'Content-Type: application/json' \
-d '{"inputs":{"W":100,"theta_deg":0,"mu":0.25,"direction":"up"},"calculation_version":"1.0.0"}'{
"inputs": {
"W": 100,
"theta_deg": 0,
"mu": 0.25,
"direction": "up"
},
"calculation_version": "1.0.0"
}POST /api/v1/calc/incline-friction. This is a POST calculate endpoint — do not GET it.
Full REST contract: REST API docs.
Human-readable sources plus CVP reference evidence classes.
Sources
Inspect, then execute. Same engine as REST and the human calculator.
curl -sS -X POST 'https://www.calculatorx.com/mcp' \
-H 'Content-Type: application/json' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: tools/call' \
-H 'Mcp-Name: inspect_capability' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"inspect_capability","arguments":{"capability_id":"mechanical.statics.incline_friction"},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientInfo":{"name":"calculatorx-docs-example","version":"1.0.0"},"io.modelcontextprotocol/clientCapabilities":{}}}}'curl -sS -X POST 'https://www.calculatorx.com/mcp' \
-H 'Content-Type: application/json' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: tools/call' \
-H 'Mcp-Name: execute_calculation' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"execute_calculation","arguments":{"capability_id":"mechanical.statics.incline_friction","inputs":{"W":100,"theta_deg":0,"mu":0.25,"direction":"up"},"calculation_version":"1.0.0"},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientInfo":{"name":"calculatorx-docs-example","version":"1.0.0"},"io.modelcontextprotocol/clientCapabilities":{}}}}'Pin calculation_version (1.0.0) when the result must stay reproducible.
Inspect the trust tier and required assurance level before execution. Full protocol notes: MCP docs.