Context is built on a Code Execution paradigm. Instead of rigid “tool calling” schemas, the Agent writes and executes TypeScript code to interact with the world.The architecture consists of four layers:
The Marketplace — Supply of tools from developers
The Agent — Demand from users executing queries
The Protocol — Settlement layer on Base
Context Injection — User data for personalized tools
Developers register Tools (the paid product) powered by standard Model Context Protocol servers. Just paste your endpoint URL and we auto-discover your skills via listTools().
The MCP specification defines outputSchema and structuredContent as optional features for tools. Context requires them for all paid tools because structured data enables powerful marketplace features:
When a user asks a complex question (e.g., “Is it profitable to arb Uniswap vs Aave?”), the Agent:
1
Discover
Finds relevant tools from the marketplace (or uses pre-selected ones)
2
Plan
Creates a solution using composability
3
Write Code
Generates code to invoke the necessary paid Tools via callMcpSkill()
4
Execute
Runs the code securely in our sandbox
5
Pay
Transfers fees instantly to developers via ContextRouter
6
Synthesize
Combines results into a coherent answer
Composability is the superpower of Context. Any frontier model can stitch together disparate tools into a coherent workflow, creating infinite new use cases from your single MCP server.
If you’re building a free tool, you can skip security middleware entirely. But for paid tools, the middleware ensures that only legitimate, paid requests from the Context platform can execute your code.
For tools that need access to user-specific data (e.g., “Analyze my positions” or “Check my balances”), Context uses a Context Injection pattern. The platform fetches user data client-side and injects it directly into your tool’s arguments — your server never sees private keys or credentials.
Every callMcpSkill({ toolId, toolName, args }) increments an internal counter. Once executionCount >= 100, the platform throws an error for that turn.
The ~60 second timeout is intentional. This limit is enforced at the platform/client level (not by MCP itself) and serves as a quality forcing function. It encourages data brokers to build pre-computed insight products rather than raw data access tools.See Build & List Your Tool for detailed guidance on product architecture.