Skip to content

Tool service ​

Overview
What it isagt's tools, available to scripts and external MCP clients
CLIagt tool, agt serve, agt events
Crateagt-service

What it does ​

The tools agents use (messages, resources, tasks, memory and so on) are provided by one tool service. The same service is available outside agents in three ways:

CommandUse it for
agt tool callCalling one tool from a shell or script
agt serveExposing the tools to an MCP client over stdio
agt events watchFollowing changes as a stream of JSON lines

The caller's identity is fixed by whoever starts the command (--principal), never by tool arguments. --manager adds the resource and binding tools for a trusted local process.

How to use it ​

bash
agt tool list --principal me --manager
agt tool call --principal me --manager resource_list --args '{"kind":"agent"}'
agt events watch --principal me

MCP client configuration:

json
{
  "mcpServers": {
    "agt": { "command": "/absolute/path/to/agt", "args": ["serve", "--principal", "me", "--manager"] }
  }
}

See Use agt from MCP clients.

Common parameters ​

ParameterMeaning
--principal <id>The identity to act as; must exist
--managerAdd resource and binding tools
--args <json>Tool arguments

All parameters ​

agt tool ​

CommandOptionsMeaning
list--principal <id> (required), --managerTools available to this identity, with their JSON schemas
call <tool>--principal <id> (required), --manager, --args <json> (default {})Call one tool. Business errors are returned as {"error": {"code", "message", "field"}}.

agt serve ​

OptionMeaning
--principal <id>Required. The identity of every call made through this server.
--managerAdd resource and binding tools

agt serve stores and delivers messages but does not run agents. Agents reply only when a discussion is authorized (Web console or agt schedule start) and a scheduler is running.

agt events watch ​

OptionMeaning
--principal <id>Required. Only changes this identity may see.
--conversation <id>Only one conversation
--after <cursor>Resume after a cursor from an earlier event

Prints one JSON line per change, such as a new message or a task update, after an initial ready line. Events are hints: read the details with the normal tools. If you receive resync_required, reload your view and continue from the new cursor. Events are kept for 7 days.

Which tools are available ​

GroupWithout --managerWith --managerDetails
Conversations and messagesyesyesIdentities and conversations
MemoryyesyesMemory
Tasks (own tasks only) and timersyesyesTasks
Resources, categoriesyesResources
Identities and bindingsyesAgent
Codex sessionsyesHarness

Inside agent runs, tool names carry a framework_ prefix, for example framework_message_send. Agents get the resource, identity and Codex tools from resource_management instead of --manager.

Error format ​

json
{"error":{"code":"invalid_arguments","message":"Reply target must exist in this conversation; omit/null for a new message.","field":"reply_to"}}

Errors never echo argument values or secrets.

  • Agent: the same tools inside agent runs
  • Scheduler: what makes agents reply to messages sent through the service

Released under the MIT License.