This section covers who may connect to a FrontMCP server, and what each caller may do once they're in. The auth option of @FrontMcp picks one of five modes: public (the default) lets everyone in, static checks a shared key, transparent checks JWTs your identity provider signed, and local and remote make FrontMCP the OAuth authorization server that MCP clients sign in with. FrontMCP checks the credential on every request to the MCP endpoint, before any tool, resource or prompt runs. Then authorities decide, entry by entry, which callers may use each tool, resource, prompt, skill or agent. It's for anyone putting a server where other people's clients can reach it. Start with Auth modes; Securing a Server teaches the same ground step by step.
@FrontMcp({ info, apps, auth: { mode: "public" | "static" | "transparent" | "local" | "remote", ...options }, // who may connect authorities: { profiles, ... }, // named access rules})@Tool({ ..., authorities: "agent" }) // who may call this tool
The five ways a server decides who may connect, what each one advertises and answers without credentials, who your code sees as the caller, anonymous access, and how to choose
How the credential on every request is checked (JWTs from your identity provider, tokens FrontMCP issued, static keys), what your code gets from a token, sessions, expiry, and every error a client can get
Signing users in
In local and remote mode, FrontMCP is the OAuth server: clients discover it, the user signs in, and FrontMCP issues the token the client sends from then on.
Several OAuth providers the user links while signing in to a local-mode server: auth.providers, the provider picker, federatedAuth, and each provider's token in tools
Rules on tools, resources, prompts, skills and agents that decide who may call them, from roles, permissions, token claims, the call's arguments or your own code, and what a refused caller gets
The checklist before a server authenticates real users: secrets, HTTPS and allowed hosts, token checks, what production hides, rate limits and several instances