Concepts
Architecture Overview
ArmorIQ's proxy-based architecture and system components
Architecture Overview
ArmorIQ uses a proxy-based architecture where all agent requests flow through a secure verification layer before reaching MCP servers.
System Components
| Component | Purpose |
|---|---|
| ArmorIQ SDK | Client library that enables agents to securely connect and interact with services |
| ArmorIQ API | Token generation and plan validation service |
| ArmorIQ Proxy | Security gateway that verifies and routes requests |
| MCP Servers | Service providers that execute specific actions (data, analytics, etc.) |
| MCP Registry | Catalog of available services and their supported actions |
Request Flow
1. Plan Capture
captured_plan = client.capture_plan(
llm="gpt-4",
prompt="Fetch sales data and analyze"
)Flow:
- SDK sends plan to ArmorIQ API
- API validates plan structure against registry
- Canonical representation created
- Plan stored with unique ID
- Plan details returned to agent
2. Token Generation
token = client.get_intent_token(
plan_capture=captured_plan,
policy={"allow": ["*"], "deny": []}
)Flow:
- SDK sends plan + policy to ArmorIQ API
- API verifies plan structure
- Canonical plan hash generated
- Token cryptographically signed with:
- Plan hash
- Policy constraints
- Expiration time
- User/agent identity
- Signed token returned to agent
3. Action Execution
result = client.invoke(
mcp="data-mcp",
action="fetch_data",
intent_token=token,
params={"query": "sales"}
)Flow:
- SDK sends request to ArmorIQ Proxy with token and Merkle proof
- Proxy verifies:
- Ed25519 signature validity
- Merkle proof of action in plan
- Policy constraints
- Token expiration
- Rate limits
- If verified, request forwarded to MCP
- MCP response returned to agent with signature
- Audit log created
Security Layers
Layer 1: Authentication
- API key validation
- User identity verification
- Agent identification
Layer 2: Authorization (Policy)
- Action allowlist/denylist
- Time-based restrictions
- IP whitelisting
- Rate limiting
Layer 3: Intent Verification
- Token signature validation
- Plan hash verification
- Merkle proof validation
- Action-plan matching
- Token expiration check
Layer 4: Audit Trail
- Complete request logging
- Plan history tracking
- Token usage monitoring
- Anomaly detection
Component Details
ArmorIQ API
Responsibilities:
- Token generation and signing
- Plan canonicalization
- Plan validation
- Cryptographic operations
ArmorIQ Proxy
Responsibilities:
- Request gateway and routing
- Token signature verification
- Merkle proof verification
- Policy enforcement
- Rate limiting
- Audit logging
MCP Servers
Responsibilities:
- Execute specific business logic
- Return structured results
- Follow MCP protocol standards
MCP Registry
Responsibilities:
- Service discovery
- Action catalog
- Schema validation
- Version management
Complete Agent Flow
Here's how a complete agent interaction works from user input to result:

Flow Explanation
Planning Phase:
- User sends message to agent backend
- Backend streams request to LLM provider
- LLM determines required tool calls (e.g., "loan_calculator")
- Backend calls
capture_plan()with tool calls - SDK sends plan to ArmorIQ API for token generation
- API validates plan and returns signed IntentToken
- Backend receives token for execution
Execution Phase:
- Backend calls
invoke()with action and token - SDK sends request to Proxy with token and Merkle proof
- Proxy performs three-step verification:
- Verifies Ed25519 signature
- Validates Merkle proof (action in plan)
- Enforces policy constraints
- Proxy forwards request to appropriate MCP server
- MCP executes action and returns result
- Proxy signs result and returns to SDK
- SDK returns result to backend
- Backend streams result to user
Deployment Architecture
Cloud Deployment
Load Balancer
│
├──▶ API Instance (Token Generation)
│
├──▶ Proxy Instances (Request Verification)
│ └── Connects to MCP Servers
│
└──▶ Database (Plans, Tokens, Audit Logs)Scalability
ArmorIQ is designed for horizontal scaling:
- Stateless Services: Add more instances as needed
- Token Caching: Reduce token generation load
- Distributed Verification: Multiple proxy instances
- Load Balancing: Distribute requests evenly
Next Steps
- Intent Plans - Learn about plan structure
- Security Model - Deep dive into security
- Token Lifecycle - How tokens work