The framework every Pamin module is built on: the Module trait, operation registration with entitlements, MCP serving over stdio and Streamable HTTP, and a conformance suite.
<!doctype html>
<metacharset="utf-8"><title>Said</title><pid="said"></p><script>// The host posts the tool's result to the page (MCP Apps).
addEventListener("message", (event)=>{constresult=event.data?.params?.structuredContent;if(result)document.getElementById("said").textContent=`${result.text}(${result.project})`;});</script>