@happyvertical/smrt-app-mcp
App-runtime MCP server scaffolding and transport adapters for exposing a s-m-r-t application over HTTP.
What it gives you
App-runtime MCP server scaffolding and transport adapters for exposing a s-m-r-t application over HTTP.
- 01One stateless Streamable HTTP mount, with a fresh protocol server per request
- 02Principal-aware per-tool policy evaluated on discovery and on the call
- 03Tool-list cache metadata that stays private unless a public catalog is verified
Mount the application surface
createMcpAppServer wraps generated core tools with an application allow-list, public tool patterns, a per-principal tool policy, and workflow assertions. mountMcpRoute serves server/discover, tools/list, and tools/call from the sveltekit subpath; the REST-shaped mountMcpToolsRoute and mountMcpCallRoute aliases are deprecated for one release.
Generated and application MCP →Authorization is terminated in front of it
The package trusts the principal supplied by the application adapter. It does not implement an OAuth authorization server or validate bearer tokens. A public deployment validates the token at the gateway. The deployment supplies the request principal, tenant, and permissions only after successful validation.
Compatibility and operations →Package UI
No UI layer to carry
This package stays focused on models, runtime behavior, or tooling. Build its interface with smrt-ui, or use a related domain package that exposes a /svelte entry point.
Intentionally headless
Package previews
No playground module yet
This package does not currently export a ./playground module. Its component names and import path remain available in the Components tab.
Intentionally not registered
Generated interface
REST
The exact route set comes from each model's @smrt({ api }) policy
and the application manifest—not from a second controller definition.
This package supports the runtime or build pipeline; it does not define a representative CRUD resource of its own.
Generated interface
MCP
AI tools are generated from the methods you explicitly include. Their inputs are validated against the same model metadata used by REST and CLI.
This package is itself infrastructure, UI, or tooling. Its capabilities are consumed by generated app MCP servers rather than exposed as a model resource.
Browser-native agent interface
WebMCP
The generated web definitions carry the same tool names, descriptions, and JSON Schema
inputs as MCP. smrt-web registers them with document.modelContext.
This package does not define a representative browser tool itself. Its models can still participate when an application exposes them through generated web collections.
Generated interface
CLI
The app CLI turns manifest resources into predictable operator commands while keeping package-specific actions close to their models.
Use this package through its documented build or runtime entry points. It does not contribute a representative generated resource command.