# Why Barvinca MCP Is More Than OpenAPI Connected to an LLM

Blog / MCP



MCP gives AI a tool interface, but the real safety comes from Barvinca's scoped consent, account binding, bounded reads, approval-bound writes, idempotency, and evidence.

July 16, 2026 10 min read Article

Connecting an AI assistant to Autodesk Construction Cloud can look deceptively simple: give the model an OpenAPI document, attach credentials, and let it construct requests. That can work for a prototype. It is not, by itself, an operating model for account administration.

Barvinca MCP takes a different approach. It gives compatible AI clients a small catalog of named tools, then keeps identity, account policy, project checks, approval, execution, CREDS, evidence, and recovery inside Barvinca. The model can help plan and coordinate work without becoming an Autodesk credential holder or a general-purpose API client.

Where the enforcement lives

- **AI client** — Selects a named tool and submits typed arguments
- **Barvinca OAuth** — Checks grant, scope, consent, and session lease
- **Policy layer** — Binds the request to an authorized ACC account and project
- **Operation layer** — Controls approval, CREDS, idempotency, and recovery
- **Autodesk ACC** — Receives only a supported read or approved mutation

## OpenAPI and MCP solve different parts of the problem

OpenAPI is excellent at describing HTTP endpoints. It tells a conventional client which paths exist, which methods and parameters they accept, and what their responses look like. Teams can generate SDKs, validate payloads, and publish useful API documentation from it.

An LLM needs more than an endpoint catalog. It needs to know which actions are appropriate for the current task, which account the user actually controls, how much data should be returned, whether a write requires review, what happens if the client retries, and how the result can be inspected later. Those are runtime policy decisions, not properties of an OpenAPI schema.

MCP provides a standard way for an AI client to discover and call tools. Barvinca uses that protocol to expose jobs such as listing authorized projects, collecting Issue evidence, preparing a user-add plan, executing an approved plan, inspecting an operation, cancelling safely, or preparing recovery. The model chooses from supported jobs instead of assembling arbitrary Autodesk requests.

## MCP is not automatically safer

An MCP server can still be unsafe. A server that exposes a generic HTTP tool, accepts broad credentials, skips tenant checks, or lets every write run immediately would merely move the same risk behind a different protocol.

Barvinca's safety comes from controls enforced behind the MCP interface. Tool descriptions help the model behave, but they are not treated as authorization. The server checks identity, consent, scope, account ownership, project context, input limits, operation lineage, and approval state before it reaches Autodesk.

## The AI client never receives Autodesk secrets

Compatible remote clients connect to Barvinca with authorization-code OAuth, Dynamic Client Registration, and S256 PKCE. Implicit flow, plain PKCE, and token-exchange grants are disabled. The client receives a scoped Barvinca grant; it does not receive an Autodesk Client Secret, access token, or refresh token.

End users also do not create personal APS applications. Barvinca uses its managed APS application after an ACC administrator adds the Barvinca Client ID in Autodesk Custom Integrations. Autodesk access remains inside Barvinca and is resolved only after the Barvinca session and account checks succeed.

## Consent is narrow and readable

The hosted server separates general Barvinca reads, five live ACC data domains, and write access into seven independent OAuth scopes. A client can begin read-only and request only the domains a workflow needs. Read access is never silently upgraded to write.

-   **General read:** connection, account, project, directory, operation, and recovery information.
-   **Domain reads:** separate consent for Issues, RFIs, Assets, Submittals, and Forms.
-   **Write:** explicit consent for mutation preflights, execution, cancellation, retry preparation, and rollback preparation.

## There is no raw API escape hatch

Barvinca MCP exposes thirty focused tools. It does not expose an arbitrary URL, HTTP method, header set, or generic Autodesk request tool. That makes the supported surface reviewable and prevents a prompt from turning a narrow workflow into blanket Autodesk API access.

Read tools are also bounded. List and evidence calls return no more than fifty records per page, use explicit cursors, and select domain-specific fields instead of returning an uncontrolled raw payload. This reduces accidental data exposure and keeps AI context use predictable.

## Writes are plans before they are mutations

For supported project membership and role changes, the client cannot jump directly from a user request to an Autodesk write. Barvinca uses a five-stage lifecycle.

The approval-bound write lifecycle

- **1** — Prepare 1–50 intended changes with an idempotency key
- **2** — Preflight account, projects, users, roles, limits, and estimated CREDS
- **3** — Review the exact immutable plan and its expiring SHA-256 digest
- **4** — Execute only when the account, plan, expiry, and approval digest match
- **5** — Inspect item outcomes, lineage, CREDS, events, exports, and recovery
- **↻** — Retry or rollback creates a new plan and requires new approval

The approval digest binds the human decision to one exact plan. If the plan changes, expires, belongs to another account, or arrives with the wrong digest, execution is rejected. The model cannot quietly alter the target set after review.

## Retries do not become duplicate work

AI clients and networks retry. A safe integration has to assume that the same execution request may arrive more than once. Barvinca's idempotent execution returns the original operation instead of dispatching the same mutation again or charging CREDS again.

Cancellation is conservative as well. Items proven not to have reached Autodesk can be refunded. Outcomes that may already be in flight are not optimistically declared safe. The operation remains inspectable so the administrator can see what is known, what is uncertain, and the safest next action.

## Evidence survives the conversation

A chat transcript is not an audit record. Barvinca operations keep the durable evidence: the owning session, account, approval lineage, per-item outcomes, billed and refunded CREDS, bounded event history, private exports, workflow health, staleness, and recovery guidance.

This matters when an administrator needs to answer a question later: which projects were targeted, what was approved, what reached Autodesk, which rows failed, and whether a retry is safe. The answer comes from the operation record rather than the model's memory.

## Where Barvinca MCP is useful

-   Exploring an ACC account and finding the right projects, members, and roles without teaching the model raw endpoint details.
-   Collecting bounded evidence from supported ACC domains for summaries, review, and downstream analysis.
-   Preparing repetitive project membership or role changes while preserving a human approval boundary.
-   Monitoring long-running bulk work and deciding whether to wait, cancel, retry, roll back, or export evidence.
-   Giving multiple compatible AI clients one consistent, revocable tool interface instead of rebuilding Autodesk authentication for each one.

## What it does not promise

Secure does not mean autonomous. An AI can misunderstand a request, choose the wrong read tool, or produce an incomplete analysis. Autodesk permissions still determine what the signed-in user and the managed integration can access. Human review remains necessary before consequential changes, and only the documented tools and ACC domains are supported.

The right starting posture is read-only: connect a client, grant only the scopes needed for the immediate workflow, inspect the results, and add write access only when the team is ready to use the approval lifecycle.

**Continue:** Read the [Barvinca MCP architecture and security overview](/mcp.md), follow the [AI client connection guide](/help/mcp.md), and review [ACC Custom Integration setup](/setup.md) before connecting production account data.

**Related reading**

[Barvinca MCP](/mcp.md) [AI connection guide](/help/mcp.md) [Setup guide](/setup.md) [Getting started](/help/getting-started.md) [Bulk User Manager docs](/help/bulk-user-manager.md) [Support policy](/support.md)

---

Canonical HTML: https://barvinca.com/blog/barvinca-mcp-vs-openapi-llm
