Skip to content

Truto vs Arcade.dev: Which MCP Server Platform Is Best for Enterprise AI Agents?

Compare Arcade.dev's user-delegated MCP runtime against Truto's auto-generated, tenant-level unified API architecture. Discover which is best for your AI agents.

Uday Gajavalli Uday Gajavalli · · 11 min read
Truto vs Arcade.dev: Which MCP Server Platform Is Best for Enterprise AI Agents?

If you are evaluating managed MCP server platforms to connect your AI agents to third-party SaaS data, you are facing a strict architectural fork in the road. You can choose an auth-focused runtime built around pre-curated toolkits, or a unified API platform that dynamically generates tools directly from documentation.

The choice between Arcade.dev and Truto comes down to a single architectural question: is your hardest problem user-level authorization, or is it deep, normalized coverage across dozens of third-party APIs? These are not competing implementations of the same idea. They solve fundamentally different problems, and the differences compound fast once you move past the demo stage.

Writing custom API connectors is a dead end. According to Gartner, 40% of enterprise applications will be integrated with task-specific AI agents by the end of 2026, up from less than 5% in 2025. At the same time, Gartner predicts over 40% of agentic AI projects will be canceled by the end of 2027 due to escalating costs, unclear business value, or inadequate risk controls. The implication is clear: if you pick the wrong infrastructure now, your engineering team will spend the next year building custom connectors instead of focusing entirely on agentic reasoning.

An analysis of the most searched-for MCP servers reveals that 80% offer remote deployment, highlighting a clear enterprise preference for managed infrastructure over local execution. This guide breaks down the architectural differences between Arcade.dev and Truto, examining how they handle authorization, tool creation, custom schemas, and the brutal reality of enterprise rate limits.

The 2026 AI Agent Architecture Fork: Runtimes vs. Unified APIs

The Model Context Protocol (MCP) has rapidly become the standard for exposing external capabilities to Large Language Models. MCP adoption hit 97 million monthly SDK downloads by March 2026, up from 100,000 at launch, with OpenAI, Google, Microsoft, and Salesforce all shipping support within 13 months.

However, the protocol itself is just a transport layer. The actual heavy lifting—authentication, schema normalization, pagination, and error handling—must be handled by the server. This is where the market splits into two distinct philosophies:

  • MCP runtimes like Arcade.dev focus on wrapping tool execution in strict authorization layers. The runtime intercepts every call, manages per-user OAuth sessions, and controls what the agent can do based on individual user delegation.
  • Unified API platforms like Truto normalize data across hundreds of SaaS APIs and dynamically generate MCP tools from existing integration documentation. The platform passes responses and errors directly back to the agent without intercepting the data payload, operating autonomously at the tenant level.

Neither approach is universally better. Your choice depends entirely on whether your agents act on behalf of individual end users (Arcade's strength) or operate autonomously against normalized enterprise data on behalf of a B2B organization (Truto's strength).

Arcade.dev: The Multi-User Authorization Runtime

Arcade.dev positions itself as an AI product layer and an MCP runtime. Its architecture is heavily optimized for scenarios where an agent needs to perform actions on behalf of many different end-users within a single application. Arcade bridges gaps in MCP by providing an authentication-first architecture with secure, OAuth-based connections that let AI access tools as the end user, not as a bot. Their founding team brings deep identity expertise; Arcade's CEO previously served as VP of Product Management at Okta, where he led developer products and managed their network of over 5,000 auth integrations.

URL Elicitation and Per-User OAuth

The standout technical contribution of Arcade to the MCP ecosystem is its approach to authorization, specifically URL Elicitation. Co-developed alongside Anthropic, this capability enables an MCP server to provide the user with a secure login page in their browser.

When an agent attempts to call a tool that requires authentication (for example, sending an email via Gmail), the Arcade server pauses execution and sends a specific protocol message back to the client. The client then renders a secure login page where the user signs in directly with Gmail, Slack, or any other service. The service then grants the agent only the limited permissions required, and the server resumes the tool execution. This enhancement is now being adopted into the official MCP specification, SDKs, and popular clients.

This architecture is highly effective for:

  • B2C applications where users bring their own credentials.
  • User-delegated actions where an agent sends an email from the user's Gmail, posts to their Slack, or creates a GitHub issue as them.
  • Multi-user agent deployments where the runtime manages per-user token sessions so the agent can serve different users without credential mixing.
  • Human-in-the-loop workflows where explicit delegation is legally or operationally required.

The Limitation of Curated Toolkits

To standardize these interactions, Arcade focuses on curated, per-application toolkits with JSON-schema definitions and OAuth-based authorization, designed primarily for agent prototyping and controlled tool execution. These toolkits contain pre-built definitions for specific actions, such as github.set_issue_status or slack.send_message.

Developers can also build custom tools using the same open-source framework Arcade uses internally, with OAuth and evals built in, designed to integrate with the runtime for secure scaling to production.

However, while pre-built toolkits offer a fast path to basic functionality, they become a massive bottleneck for enterprise B2B use cases. If you need coverage across 50 different CRMs, HRIS platforms, and ticketing systems with a common data model, a runtime is not designed to solve that problem.

Warning

The Tool Catalog Trap Relying on pre-built tool packs means your product roadmap is tied to your vendor's integration velocity. If a customer demands access to a custom CRM field to close a six-figure deal, a static tool catalog cannot support it without writing custom code.

Truto: Auto-Generated MCP Tools with Zero Integration-Specific Code

Truto approaches MCP connectivity through the lens of a managed unified API platform. Instead of curating tool definitions per integration, Truto dynamically generates MCP tools directly from API documentation and JSON schemas. There is zero integration-specific code in Truto's database or runtime logic.

Tenant-Level Architecture

Unlike Arcade's per-user focus, Truto is designed for B2B multi-tenant environments. Each MCP server in Truto is scoped to a single integrated account (a connected instance of an integration for a specific tenant).

The server URL contains a secure cryptographic token that encodes exactly which account to use and what tools to expose. This means an MCP server is fully self-contained. Your autonomous agent can run scheduled background jobs across a customer's entire CRM without requiring a human to click an OAuth link every session.

Info

Authentication Security By default, possessing a Truto MCP URL grants access to the configured tools. For higher-security environments, Truto supports an optional require_api_token_auth flag. When enabled, the MCP client must also pass a valid Truto API token in the Authorization header, adding a strict second layer of identity verification.

Dynamic Tool Generation

The core differentiator is how Truto creates tools. When an MCP client requests the available tools via the tools/list protocol method, Truto does not return a static list. Instead, it executes a dynamic generation pipeline based on two existing data sources:

  1. Integration Resources: Defines what API endpoints exist (e.g., contacts, deals).
  2. Documentation Records: Provides human-readable descriptions, query schemas, and body schemas for each resource method, including any per-environment overrides.
graph TD
    A[MCP Client Requests Tools] --> B{Fetch Integration Config}
    B --> C[Read Resource Definitions]
    B --> D[Read Documentation Records]
    C --> E[Iterate Resources & Methods]
    D --> E
    E --> F{Is Method Documented?}
    F -- Yes --> G[Parse YAML to JSON Schema]
    F -- No --> H[Skip Tool - Quality Gate]
    G --> I[Inject Pagination Instructions]
    I --> J[Return Formatted MCP Tool]

A tool only appears in the MCP server if it has a corresponding documentation entry. This acts as a strict quality gate and curation mechanism, ensuring the LLM only sees well-documented endpoints. Because tools are generated dynamically, adding MCP support for a new integration requires zero new code. When the integration's documentation records are populated, its MCP tools exist automatically.

Dynamic Tool Filtering for LLM Context Management

One of the practical challenges with MCP in production is tool overload. Exposing an entire enterprise API to an LLM can overwhelm its context window, waste tokens, and lead to hallucinated tool-selection decisions. Truto solves this by allowing developers to filter MCP servers at creation time using two mechanisms:

Filter How it works Example
Method filtering Restrict an MCP server to read (get, list), write (create, update, delete), custom, or specific individual methods. A read-only MCP server for a reporting agent.
Tag-based filtering Group resources by functional area (e.g., support, crm, directory) and scope MCP servers to specific tags. A support-only MCP server exposing just tickets and comments.

Filters can be combined. A server configured with methods: ["read"], tags: ["support"] would only expose list and get operations for support-tagged resources, completely hiding unrelated directory or billing endpoints. The platform validates at creation time that the filter intersection produces at least one tool, ensuring you cannot accidentally create an empty MCP server.

Handling the Reality of Enterprise APIs: Rate Limits and Schema Depth

Building a demo agent that fetches ten records is easy. Building a production agent that synchronizes thousands of records across highly constrained third-party APIs is an entirely different engineering discipline. How a platform handles edge cases determines whether your product scales or collapses under load.

The Brutal Reality of HTTP 429s

Third-party APIs have strict, often undocumented rate limits. When an upstream API like Salesforce or HubSpot returns HTTP 429 (Too Many Requests), what happens next determines whether your agent can reason about the failure or just retries blindly.

Arcade.dev manages tool execution through its runtime. It takes care of authentication, rate limits, and request formatting. The runtime handles retry logic on behalf of the caller, attempting to magically absorb the rate limit errors. While simpler for the caller, this creates a black box. The agent does not know it was throttled or how close it is to the limit.

Truto takes a radically honest, architecturally sound approach. Truto does not retry, throttle, or apply backoff on rate limit errors. When an upstream API returns an HTTP 429, Truto passes that error directly to the caller. However, Truto normalizes the chaotic upstream rate limit information into standardized headers per the IETF specification:

  • ratelimit-limit
  • ratelimit-remaining
  • ratelimit-reset

This passes the exact context back to your agent framework. Your agent's orchestration layer can read the ratelimit-reset header and intelligently schedule a pause, slow down, switch to a different data source, or inform the user, rather than blindly hammering the middleware.

Normalizing Pagination for LLMs

Pagination is notoriously difficult for LLMs to handle because every SaaS application implements it differently—offset, cursor, page numbers, or link headers.

During Truto's dynamic tool generation, the platform automatically normalizes pagination. For any list method, Truto injects limit and next_cursor properties into the JSON schema. Crucially, it injects a highly specific instruction into the next_cursor description, telling the LLM exactly how to behave:

"The cursor to fetch the next set of records. Always send back exactly the cursor value you received (nextCursor) without decoding, modifying, or parsing it. This can be found in the response of the previous tool invocation as nextCursor."

This explicit instruction drastically reduces hallucinated parameters and ensures your agent can reliably page through massive enterprise datasets.

Schema Depth and Custom Fields

Enterprise SaaS platforms are messy. A Salesforce org with 200 custom fields on the Contact object looks nothing like the default schema. An HRIS platform with custom employment types or region-specific fields will break any static tool definition.

Because Truto generates tools dynamically from JSON schemas that can include per-environment documentation overrides, custom fields and custom objects are automatically exposed to your AI agent without any code changes. If a customer adds a custom Lead_Score__c field to Salesforce, Truto's documentation layer instantly updates the JSON schema, and the LLM knows how to query or write to it on the very next request.

Arcade's curated toolkit approach means custom fields require either extending existing toolkits or building custom tools using their framework. This works well for a controlled set of integrations but becomes a scaling challenge when every customer's instance has a different schema.

Which Managed MCP Server Platform Should You Choose?

flowchart TD
    A["Do your agents act on behalf<br>of individual end users?"] -->|Yes| B["Is per-user OAuth the<br>primary challenge?"]
    A -->|No| C["Do you need normalized<br>data across 50+ SaaS APIs?"]
    B -->|Yes| D["Arcade.dev<br>MCP Runtime"]
    B -->|No| E["Evaluate both"]
    C -->|Yes| F["Truto<br>Unified API + MCP"]
    C -->|No| E

The platforms are not mutually exclusive. Some teams use Arcade for consumer-facing multi-user authorization and Truto for enterprise SaaS data normalization behind the same agent orchestration layer. The key is understanding that an MCP runtime and a unified API solve different layers of the integration stack.

Choose Arcade.dev when:

  • Your agents perform user-delegated actions (send email as User X, post to Slack as User Y).
  • Per-user OAuth session management and URL Elicitation are your primary infrastructure challenges.
  • You are building consumer-facing or B2C agent experiences.
  • You are comfortable relying on a curated catalog of pre-built tools and want runtime-managed retries.

Choose Truto when:

  • Your agents operate autonomously at the B2B tenant level against normalized enterprise data.
  • You require zero integration-specific code and refuse to maintain hand-coded tool definitions.
  • Custom fields and per-customer schema variations are a reality you cannot ignore.
  • You want transparent rate limit passthrough so your agent can reason about API failures.
  • You need precise control over tool filtering (read-only, tag-based) to manage LLM context windows.

Making the Right Architectural Bet

Gartner recommends agentic AI only be pursued where it delivers clear value or ROI, noting that integrating agents into legacy systems can be technically complex, often disrupting workflows and requiring costly modifications. That recommendation applies equally to your MCP infrastructure decisions.

Before you evaluate either platform, answer three questions:

  1. Who authenticates? If individual end users must grant OAuth consent per session, you need a runtime with per-user token management. If a tenant admin connects once and the agent operates against that connection, you need tenant-scoped MCP servers.
  2. How many integrations? If you need five integrations, building custom tools with a framework is reasonable. If you need 50+, the cost of hand-curating tool definitions for each one becomes unsustainable.
  3. Do your agents need to understand rate limits? If your agents just need to call tools and get results, hidden retries are fine. If your agents need to make intelligent decisions about when to back off, you need the raw signal.

The era of writing point-to-point integration code for AI agents is over. The platforms that win in 2026 will be the ones that treat integrations as data, give agents the context to reason about failures, and stay out of the way of the data payload.

FAQ

What is the difference between an MCP runtime and a unified API for AI agents?
An MCP runtime like Arcade.dev intercepts and manages tool execution, handling per-user authorization, retries, and execution through a centralized control plane. A unified API platform like Truto normalizes data across hundreds of SaaS APIs and dynamically generates MCP tools from integration documentation, passing responses and errors directly back to the agent.
How do Truto and Arcade.dev handle API rate limits differently?
Arcade.dev manages rate limits within its runtime, abstracting retries from the caller. Truto passes HTTP 429 errors directly to the caller with normalized IETF headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset), giving the agent full visibility to make intelligent retry decisions.
What is URL Elicitation in MCP and why does it matter?
URL Elicitation is an MCP specification enhancement co-authored by Arcade.dev and Anthropic. It enables an MCP server to present a secure login page in the user's browser for OAuth authorization, so credentials never pass through the AI model. This is essential for B2C agents that act on behalf of individual users.
How does Truto generate MCP tools without writing integration-specific code?
Truto derives MCP tools dynamically from two data sources: the integration's resource definitions (API endpoints) and documentation records (human-readable descriptions and JSON Schema definitions). A tool only appears if it has a documentation entry, acting as a strict quality gate.
Can Arcade.dev and Truto be used together for AI agents?
Yes. Some teams use Arcade for consumer-facing multi-user OAuth authorization and Truto for enterprise SaaS data normalization behind the same agent orchestration layer. They solve different layers of the integration stack and are not mutually exclusive.

More from our Blog