Turn the assistant endpoint off, hide actions from assistants or allow the hidden ones, cap the size of answers, and read what Asterobot says when something is wrong.
Five settings on Server > Config control what assistants get. All of them are read when Asterobot starts.
| Key | Type | Default | Restart needed |
|---|---|---|---|
mcp.enabled |
On or off | On | Yes |
mcp.tags |
List of text | Empty | Yes |
mcp.denyOperations |
List of text | Empty | Yes |
mcp.allowOperations |
List of text | Empty | Yes |
mcp.maxResponseBytes |
Number | 100000 |
Yes |
mcp.enabled
On or off. Default on. Restart needed.
Turn it off and nothing answers at /mcp: the address doesn't exist, and Asterobot's console says MCP disabled by configuration at start. Everything else in Asterobot is unchanged.
mcp.tags
List of text. Default empty. Restart needed.
Offer only the actions of some parts of Asterobot. Each entry is the name of a group of actions, and an assistant sees an action when it belongs to at least one group you listed. The groups are AccountManager, BotManager, Config, Events, FightProfiles, Galaxy, GameData, GameManager, Library, Logger, ProxyManager, Runtime and Website; the case doesn't matter. Empty means every group.
For example, ["GameData", "Library"] gives an assistant the game data browser and your packages, and nothing that touches accounts or bots.
mcp.denyOperations
List of text. Default empty. Restart needed.
Actions never offered to an assistant, on top of the two hidden by default. Each entry is the name of an action as the assistant would see it, in any spelling: post-bot-connect and PostBotConnect are the same action. Ask the assistant to list its tools to get the names, or use the ones from What an assistant can do.
Important
An entry that names no action turns the whole endpoint off, on purpose: you wanted something hidden, and it wouldn't be. Asterobot's console then shows MCP disabled with the entry in the reason, and calls to /mcp answer with the same reason. Fix the spelling and restart.
mcp.allowOperations
List of text. Default empty. Restart needed.
The two actions hidden by default, delete-runtime (shut Asterobot down) and delete-config (reset every setting to its default), offered anyway. Same spelling rules as mcp.denyOperations. An entry that names no action is ignored, with a warning in the console.
mcp.maxResponseBytes
Number. Default 100000. Restart needed.
The largest answer a tool returns whole, in bytes. Above it, entries are dropped from the end of the answer's largest list and the assistant is told how to narrow its request. The default is about the size assistants show in one piece; raise it if yours handles more, lower it to keep answers short.
When something is wrong
Asterobot never fails to start because of the assistant endpoint. What can happen instead shows in the console and terminal, on Server > Console:
| Line | What it means | What to do |
|---|---|---|
MCP ready |
Everything serves. skipped=0 is the normal state. |
Nothing. |
MCP skipped an operation with operation= and err= |
One action couldn't be offered, and the others are. The assistant's instructions name it too. | This shouldn't happen with a released Asterobot. Report it with the line. |
MCP disabled with err= |
Nothing serves. The reason is a setting, almost always an entry of mcp.denyOperations that names no action. |
Fix the setting and restart. |
The MCP is reachable from the network without authentication |
Asterobot listens on a network address with no basic auth. Not an error, a reminder. | Set server.basicAuth or listen on 127.0.0.1, as Security explains. |
While the endpoint is disabled by a setting, an assistant that calls it gets an error whose message starts with MCP unavailable: and gives the same reason as the console.
The whole list of settings is in the Settings reference.