docs.ollim.ai/mcp that lets it look up its own documentation and architecture.
Output tools
These tools send visible messages to the Discord channel.discord_embed
Available in all contexts. Send a rich embed message with optional action buttons.
Button actions follow a
type:payload format:
Button styles:
success, danger, primary, secondary.
Availability: Main session, interactive forks, and background forks. In background forks, the embed is blocked if allow-ping is false, the user is mid-conversation (unless critical is true), or the ping budget is exhausted. A source tag (bg or fork) is added to the embed footer when not in the main session.
ping_user
Background-fork-only. Send a plain text alert prefixed with [bg].
Availability: Background forks only. Not available in the main session or interactive forks. Subject to the same
allow-ping, busy check, and ping budget gates as discord_embed.
send_file
Available in all contexts. Send a file from the local filesystem as a Discord DM attachment — documents, images, logs, or any file you need. Max 25 MB (Discord limit).
The tool validates that the path points to an existing regular file via
path.is_file(), supports tilde expansion, and enforces Discord’s 25 MB size limit.
Availability: Main session, interactive forks, and background forks. In background forks, the tool is blocked if allow-ping is false, subject to the ping budget, and prefixes messages with [bg].
All three output tools register the message so that replies are correctly routed back to the fork that sent them.
Fork management tools
These tools control interactive fork lifecycle.enter_fork
Start an interactive fork branching from the main session.
Availability: Main session only. Returns an error if already inside any fork (interactive or background). The fork interrupts the current agent turn immediately.
save_context
Request to promote the current interactive fork to the main session. Instead of executing directly, this tool sends a yellow confirmation embed to Discord with three buttons:
The save only happens when you click Confirm — the agent cannot assume the save succeeded. This prevents unintended saves when the agent calls the tool proactively.
Takes no parameters.
Availability: Interactive forks only. Returns an error in background forks or the main session.
report_updates
Report a summary from the current fork to the main session. The summary is injected into the next main-session interaction via pending_updates.json.
- Interactive fork
- Background fork
Sets the exit action to
REPORT. The fork is discarded after the agent finishes responding — further tool calls delay the exit.exit_fork
Exit the current interactive fork. The fork is discarded and the main session resumes. No context is preserved.
Takes no parameters.
Availability: Interactive forks only. Returns an error in background forks or the main session.
Reminder tools
These tools manage reminders — one-shot time-based prompts. Available in the main session, interactive forks, and background forks.add_reminder
Schedule a one-shot reminder. Provide either delay_minutes or run_at — not both.
Availability: Main session, interactive forks, and background forks. Reminder tools are not gated by
allow-ping — they are data operations, not output operations.
list_reminders
List all pending reminders with their IDs, scheduled times, modes, and descriptions. Takes no parameters.
Availability: Main session, interactive forks, and background forks.
cancel_reminder
Cancel a pending reminder by ID.
Availability: Main session, interactive forks, and background forks.
Chain tool
follow_up_chain
Schedule a follow-up reminder that continues the current chain. Used by reminders with max-chain to create self-continuing check-in sequences.
The tool creates a new reminder with the chain depth incremented by one. The tool forwards all configuration from the current chain:
background, model, thinking, isolated, update-main-session, allow-ping, allowed-tools, and skills.
Returns an error if:
- No active reminder context exists (the tool was called outside a reminder-triggered session)
- The chain depth has reached
max-chain— the error includes recovery guidance: “follow-up limit reached — this was the last check. If the task still needs attention, ping the user now.”
Configuration tool
update_names
Update the bot and user display names. Writes to .env and takes effect after /restart.
Returns an error if either name is empty.
Availability: Main session only. Returns an error in interactive forks and background forks.
Background fork enforcement
Background forks enforce theupdate-main-session policy before the agent can finish:
See background forks for how these modes are configured in routine and reminder YAML frontmatter.
Next steps
Forks
How interactive and background forks work.
Background forks
Configuration for background fork behavior, tool restrictions, and update modes.
Ping budget
How the refill-on-read budget gates output tools.
System prompt
How tool instructions are injected into the agent’s system prompt.
