OptionalfilterThe last word on which tools are exposed, called once per listing.
Everything else about a tool is declared on its route. This exists for what a declaration
cannot know: an environment, a flag, a caller. Return false to leave a tool out.
OptionalinstructionsInstructions handed to the agent once, alongside the tool list.
The place to say what this API is for and how its tools relate, which no single tool description can carry.
OptionalnameThe server name an agent sees during initialize. Defaults to the application's name.
OptionalpathWhere the endpoint is served. Defaults to /mcp.
OptionalrequireWhether a tool with no description is refused rather than exposed.
false by default, because a route that says mcp: 'create-note' asked for a tool and should
get one. Set it to true on an API where an undescribed tool is a defect: an agent reading a
bare name will guess, and it guesses worst on the routes that write.
OptionalrouteAnything else to put on the endpoint's route definition: auth, authz, rateLimit,
middleware, a different name.
This is how the endpoint is protected, and it is protected like any other route rather than by options this module invents. A public tool surface is a decision, so it is written here.
blueprint.set('stone.mcp.route', { auth: true, rateLimit: { max: 60, window: 60, by: 'user' } })
OptionalversionThe server version an agent sees. Defaults to 0.0.0.
Options for the
@Mcpactivation.