This section covers the server as a whole, across decorators: how apps combine into one server and what clients discover, where settings come from and which one wins, what the server logs and how to watch it run, how to serve tools from an npm package or from another MCP server, which MCP revisions clients can speak to it and how slow tools run as background tasks, and the flows every request runs through, which hooks attach to. It's for you once a server has more than one app, or is about to run somewhere other than your machine. Each option is also listed on @FrontMcp or @App; these pages show how they work together. Start with Apps, discovery and splitting.
@FrontMcp({ info, apps: [HelpDeskApp, App.esm(specifier, options?), App.remote(url, options?)], // your apps, a package's, another server's splitByApp?, logging?, observability?, metrics?, health?, tasks?, transport?: { defaultProtocolVersion? }, // background tasks; requests that name no MCP revision plugins: [ConfigPlugin.init({ schema, loadYaml: true })], // your own settings, as this.config})
How a server is built from apps, what clients see and discover, what happens when two apps use the same name, and how standalone and splitByApp give apps endpoints and auth of their own
Every place a server takes settings from: the @FrontMcp options, the environment variables FrontMCP reads, .env and YAML files through ConfigPlugin, and the frontmcp.config file the CLI reads, and which one wins
availableWhen, which offers a tool, resource or prompt only on some runtimes, platforms or deployments, and this.runtimeContext, which branches on where the server runs
The named flows every request runs through, each a fixed plan of stages, the state each stage sets, how flows nest in one request, and how to write your own
Which page for which task
You want to
Read
Split one product into areas, like tickets and billing