tai42_contract.app.TaiApp server (TaiMCP) and its uniform-500 handler.
logger
tai42_skeleton.app.server.logger
TaiMCP
tai42_skeleton.app.server.TaiMCP
tai42_contract.app.TaiApp impl — owns the FastMCP server.
Exposes the contract facet namespaces as its SOLE feature/contract surface;
the concrete server additionally exposes a launch surface (sse_app /
http_app / run and friends) that is not part of the facade.
This class is the composition root only: each feature’s impl body lives in
its feature package (tools.binding.ToolBinding, agent.binding .AgentBinding, backend.registry.BackendHolder, the extension/monitoring
registries, app.http.HttpSurface) and each facet forwards straight to its
collaborator. Callers reach the app’s features only through the facets
(app.tools.run_tool, app.backends.backend, …) or the tai42_app
handle, never a flat member.
Members
tools
tai42_skeleton.app.server.TaiMCP.tools
app.tools).
agents
tai42_skeleton.app.server.TaiMCP.agents
app.agents).
backends
tai42_skeleton.app.server.TaiMCP.backends
app.backends).
sandboxes
tai42_skeleton.app.server.TaiMCP.sandboxes
app.sandboxes).
storage
tai42_skeleton.app.server.TaiMCP.storage
app.storage).
connectors
tai42_skeleton.app.server.TaiMCP.connectors
app.connectors).
interactions
tai42_skeleton.app.server.TaiMCP.interactions
app.interactions) — the ask facade.
accounts
tai42_skeleton.app.server.TaiMCP.accounts
app.accounts).
webhook_verifiers
tai42_skeleton.app.server.TaiMCP.webhook_verifiers
app.webhook_verifiers).
channels
tai42_skeleton.app.server.TaiMCP.channels
app.channels).
conversations
tai42_skeleton.app.server.TaiMCP.conversations
app.conversations).
monitoring
tai42_skeleton.app.server.TaiMCP.monitoring
app.monitoring).
extensions
tai42_skeleton.app.server.TaiMCP.extensions
app.extensions).
http
tai42_skeleton.app.server.TaiMCP.http
app.http).
clients
tai42_skeleton.app.server.TaiMCP.clients
app.clients).
lifecycle
tai42_skeleton.app.server.TaiMCP.lifecycle
app.lifecycle).
admin
tai42_skeleton.app.server.TaiMCP.admin
app.admin).
config
tai42_skeleton.app.server.TaiMCP.config
app.config).
sub_app
tai42_skeleton.app.server.TaiMCP.sub_app
app.sub_app).
backup
tai42_skeleton.app.server.TaiMCP.backup
app.backup).
versioning
tai42_skeleton.app.server.TaiMCP.versioning
app.versioning).
presets
tai42_skeleton.app.server.TaiMCP.presets
app.presets).
states
tai42_skeleton.app.server.TaiMCP.states
tai42_contract.app.AppStates namespace.
tool_meta
tai42_skeleton.app.server.TaiMCP.tool_meta
tai42_contract.app.AppToolMeta namespace.
The organizational overlay (folders + per-tool rows) over any live tool.
fastmcp
tai42_skeleton.app.server.TaiMCP.fastmcp
add_middleware, sampling, elicit-handlers,
completions, server metadata such as name/version/auth, the
process-global fastmcp.settings). Anything registered THROUGH this
server skips the platform’s governance: manifest gating, the extension
registry’s validate(), and the access-control gate. It is
deliberately NOT on the tai42_contract.app.TaiApp protocol — the
contract stays FastMCP-free so an alternative impl remains possible, so
this accessor is skeleton-specific.
Named fastmcp (not mcp) because app.sub_app already owns the
sub-MCP namespace; mcp here would read as the sub-MCP.
emit_list_changed
tai42_skeleton.app.server.TaiMCP.emit_list_changed
list_changed notification to every active MCP session for the given registry kind.
kind is SINGULAR (tool / prompt / resource). The generic in-process
registration-mutation path (e.g. a dev’s runtime add_prompt via app.fastmcp) awaits
this after its own registry mutation; the reload path drives the same registry from its
sync scheduler.
Parameters
sse_app
tai42_skeleton.app.server.TaiMCP.sse_app
http_app
tai42_skeleton.app.server.TaiMCP.http_app
run_async
tai42_skeleton.app.server.TaiMCP.run_async
transport.
Parameters
run
tai42_skeleton.app.server.TaiMCP.run
transport.
Parameters
run_backend
tai42_skeleton.app.server.TaiMCP.run_backend
args.
Parameters
preset_manager
tai42_skeleton.app.server.TaiMCP.preset_manager
emit_list_changed and fastmcp, it is deliberately not on
the tai42_contract.app.TaiApp protocol; the preset routes and the startup/reload
rehydration hook reach it through this concrete instance.
