Skip to content

Agent Tool Registry

The Agent Tool Registry is generated by argus.core.tool_registry. It is the machine-readable authority for the current public tool set; this page describes how an Agent discovers and interprets it without duplicating a stale hand-written inventory.

Primary discovery paths

Interface Discovery entry point Role
CLI + Skill argus tool-registry Primary local Agent interface; emits JSON only.
MCP agent_tool_registry Primary remote Agent interface and tool discovery protocol.
REST GET /v1/tool-registry HTTPS and batch transport.

Every public tool has exactly these three bindings. A missing binding is a release error unless the tool is explicitly marked internal.

The registry includes the bounded stream family. stream_subscribe remains finite by duration and event count; the CLI binding is a cursor/poll operation, while MCP and REST return the same bounded structured event window.

Registry contract

Each entry declares:

  • stable tool id and semantic version;
  • versioned input schema, canonical envelope version, and typed payload family;
  • coded capability, four-field time semantics, and provider coverage metadata;
  • structured title and description metadata for discovery;
  • input and output schema identifiers (the generated catalog contains the normalized kernel schemas; /openapi.json and MCP list_tools expose native executable request schemas);
  • the actual wire output format, or typed DataPackage payload name;
  • CLI command, MCP tool name, and REST path;
  • binding-specific parameter_aliases, parameter_encodings, and credential location;
  • required scopes, default_oauth_access, allowed purposes, and authentication requirements;
  • data-source, license, freshness, and point-in-time capabilities;
  • lifecycle state, replacement id, and removal version when deprecated;
  • prohibited capabilities and structured safe alternatives.

Tool responses never contain generated natural-language analysis, investment advice, portfolio recommendations, strategy decisions, or order instructions. Discovery descriptions are metadata; invocation output is structured data only.

Compatibility invariant

Given the same normalized request and authorized identity, CLI + Skill, MCP, and REST must return semantically equivalent payloads, evidence, time semantics, quality flags, license restrictions, errors, and audit records. Adapter-specific envelopes may differ only where the transport protocol requires it.

python scripts/generate_interfaces.py emits the CLI bindings, MCP schemas, REST models, Skill contract, and generated documentation from this registry. python scripts/generate_interfaces.py --check is a CI gate. Documentation must link to the registry instead of maintaining a second tool table; generated artifacts are the only allowed rendered inventory.