Permissions and tokens¶
| Permission | Gives | Default |
|---|---|---|
foreman.use |
The /foreman command |
ops |
foreman.client |
Being connected to the server's tools when joining with the mod (a personal token) | ops |
foreman.admin |
With a personal token: the dev-server tools, learn and removing lessons, save_skill, worldedit commands other than block edits (WorldGuard, schematics), plugins' tools that run console commands |
ops |
foreman.test |
The dupe-testing tools (item ledger, inventory watch and restore), and the mod's packet options for them (network, drop) |
ops |
foreman.watch |
A chat line for each change an AI makes to the world, with who asked | ops |
Tokens¶
- Personal tokens: each player with
foreman.clientgets one through the mod when they join, kept intokens.yml. Calls with it act as that player: the tools above then needforeman.admin. A player who losesforeman.clientcan't use theirs any more, and it's revoked when they next join./foreman token revoke <player>revokes one; a new one comes on their next join. - The server's token (
mcp.token, ormcp-token.txtthat Foreman makes when it's empty): for other MCP clients (Claude Code in a terminal, scripts). It needs no permission: it's the console's.
Every request needs one of them, on localhost too. The MCP server refuses requests from web pages (with an Origin
header) so that a site open in your browser can't reach it.
Warning
server_command runs commands as the console. Treat foreman.admin and the server's token like console access.
More in Security and privacy.