@happyvertical/smrt-mcp-openai
Optional OpenAI navigation, settings, context, messages, and composer mentions for authorized s-m-r-t MCP Apps.
What it gives you
Optional OpenAI navigation, settings, context, messages, and composer mentions for authorized s-m-r-t MCP Apps.
- 01Ordinary s-m-r-t apps do not import this package
- 02Server helpers wrap existing app-MCP workflows; they add no second server and no authorization policy
- 03Browser helpers depend on the portable smrt-mcp-apps bridge and fall back to inline layouts and plain links
Server composition
withOpenAiEntrypoints marks idempotent read tools as global or thread entry points. bindOpenAiSettings wraps a read and an update workflow into structured settings; the owning handlers authorize ownership, recheck the tenant, and persist atomically. openAiDisplayMetadata and openAiOnboardingDeclaration return metadata the application merges itself.
Browser navigation
observeOpenAiNavigation consumes bounded host context, recognizes only deep links, and calls a designated server tool with the URL. Repeated identical routes do not duplicate calls. Query parameters are untrusted input, never identity or approval. Only a rejected tool call selects the denied fallback.
Context, messages, mentions
updateOpenAiModelContext and sendOpenAiMessage use negotiated native support and fall back to portable text. withOpenAiMentionSearch declares bounded composer search; results are discovery hints, and the selection workflow rechecks ownership on every call.
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.
An adapter over the application MCP server. It defines no models and generates no interfaces; every tool it decorates belongs to the host application.
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.
An adapter over the application MCP server. It defines no models and generates no interfaces; every tool it decorates belongs to the host application.
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.
An adapter over the application MCP server. It defines no models and generates no interfaces; every tool it decorates belongs to the host application.
Generated interface
CLI
The app CLI turns manifest resources into predictable operator commands while keeping package-specific actions close to their models.
An adapter over the application MCP server. It defines no models and generates no interfaces; every tool it decorates belongs to the host application.