Skip to main content
Research stage Research-stage project: no live trading, no investment products, and no performance results. Read the risk disclosures
MAA

Architecture

Specialized servers, a bounded harness, a deterministic gate.

The target architecture, described honestly as a design. The central rule: model output is untrusted input, and only deterministic code may approve an action.

End-to-end flow

Each stage has a single responsibility and a clear failure mode.

  1. 01

    Market data sources

    Brokers’ market-data services, data vendors, filings, and news — accessed under their terms.

    External input

  2. 02

    UBI and MCP servers

    The Unified Broker Interface presents each broker’s MCP server, and other connectors, through one least-privilege interface.

    Deterministic code

  3. 03

    Python agent harness

    Runs role-specialized agents with schema validation, run budgets, and full logging.

    Model-driven

  4. 04

    Policy engine

    Rules-as-code. The only component allowed to approve any downstream action.

    Deterministic code

  5. 05

    Research outputs and audit log

    Reports, experiments, and immutable records. In the research stage, outputs are documents — not orders.

    Output

Component types

  • External input
  • Deterministic code
  • Model-driven
  • Output

Layers

Five layers, each independently testable.

Unified Broker Interface (UBI)

UBI is the single, normalized interface across brokers. Each broker is reached through its own Model Context Protocol (MCP) server, and UBI presents them to agents and researchers as one consistent set of tools, so research code never depends on one broker’s API.

  • One adapter per broker MCP server; broker-specific details stay behind the interface.
  • Read-oriented by default: market data, reference data, and — where applicable — simulated (paper) account data.
  • Credentials stay with each MCP server and are never exposed to models.
  • Any order-capable tool is separate, off by default, confined to paper accounts in the research stage, and gated by the policy engine.

Specialized MCP servers

Every data source or tool sits behind its own MCP server. This isolates credentials and permissions, gives each capability a narrow, typed interface, and makes access auditable.

  • One server per concern (for example market data, filings and news, and reference data).
  • Read-only by default; any write capability is a separate, explicitly permissioned server.
  • Typed inputs and outputs, with rate limits and request logging.

Python agent harness

The harness runs role-specialized agents against MCP tools. It owns scheduling, budgets, schema validation, retries, and recording.

  • Agents receive only the tools their role needs.
  • Interactive sessions through an MCP-capable chat client, alongside scheduled batch runs.
  • Outputs are validated against schemas before anything else sees them.
  • Every prompt, response, tool call, and model version is recorded for replay.

Deterministic policy engine

Rules are code. The engine evaluates structured proposals and returns approve, reject, or escalate — with the same answer every time for the same input.

  • No model in the decision path; the engine is unit-testable and auditable.
  • Limits, allow-lists, and kill switches are configuration reviewed like code.
  • Every decision is logged with the rule that produced it.

AWS integration

The target deployment uses managed AWS services so the environment stays observable, least-privilege, and reproducible.

  • S3 for versioned datasets and run artifacts; encryption at rest throughout.
  • Scheduled and batch compute (for example Lambda or containerized jobs) with per-component IAM roles.
  • Secrets Manager for credentials; CloudWatch for logs, metrics, and alarms.
  • Infrastructure defined as code and changed through review.

Trust boundaries

The design assumes components can fail or be manipulated, and limits the blast radius accordingly.

Model output is untrusted

Agent output is parsed and validated like any external input. It cannot execute actions or change policy.

Retrieved content is untrusted

News, filings, and web content can contain instructions aimed at the model. Tools return data, never executable directives.

The policy engine is the gate

There is no path from an agent to a downstream action that does not pass through the policy engine.

No path to real capital

In the research stage nothing connects to real capital. Any order-capable tool is confined to simulated (paper) accounts, is off by default, and sits behind the policy engine.

Component summary

Component summary
ComponentResponsibilityBehaviorStage
Unified Broker Interface (UBI) One normalized, least-privilege interface over broker MCP servers Deterministic Research
MCP servers Isolated, typed access to data and tools Deterministic Research
Agent harness Orchestration, budgets, validation, recording Model-driven, bounded Research
Policy engine Approve, reject, or escalate proposals Deterministic Research
Audit log Immutable record of runs and decisions Deterministic Research
Order simulation Paper-trading against sandbox endpoints Deterministic Planned