Risorse
Indietro

Hai risparmiato centinaia di ore di processi manuali per la previsione del numero di visualizzazioni del gioco utilizzando il motore di flusso di dati automatizzato di Domo.

Guarda il video
A packed indoor basketball arena with a large scoreboard hanging above the court showing game information.
Chi siamo
Indietro
Premi
Recognized as a Leader for
32 consecutive quarters
Primavera 2025, leader nella BI integrata, nelle piattaforme di analisi, nella business intelligence e negli strumenti ELT
Prezzi

MCP Explained: What Is the Model Context Protocol?

3
min read
Monday, June 15, 2026
Table of contents
Carrot arrow icon

Connecting AI models to external tools has traditionally meant building custom integrations for every combination of model and system. The Model Context Protocol (MCP) changes that tradition by creating a shared interface that works across AI platforms like Claude, ChatGPT, and other models. This article breaks down how MCP works, when to use it, and what it means for teams building production AI systems.

Key takeaways

If you only remember a few things, remember these:

  • MCP is an open protocol that standardizes how AI models and AI agents connect to external tools and data sources, created by Anthropic and now housed under the Linux Foundation with support across multiple platforms.
  • Without MCP, connecting five models to 10 tools requires 50 custom integrations. With MCP, that drops to 15.
  • The protocol sits between the large language model (LLM) and external systems like databases, APIs, and file systems. It's a specification, not a product.
  • Claude, Cursor, Windsurf, and increasingly, tools across Google and Microsoft ecosystems support MCP, making it a cross-platform standard.

What's the Model Context Protocol?

The Model Context Protocol (MCP) is an open standard that gives AI models a consistent way to connect with external tools, databases, and applications. It's like the USB-C for AI. Before USB-C, every phone had its own charger. MCP aims to be that universal connector for AI integrations.

Here's the problem it solves. Say you want your AI assistant (or a full-on AI agent) to query your customer relationship management (CRM) system, pull data from your warehouse, and update your project management tool. Without a standard, each of those connections requires custom code. And that code breaks whenever either side updates.

Data engineers, AI/ML engineers, and enterprise architects are paying attention for good reason. This isn't yet another integration framework. It's a protocol layer that turns tool access into something you can design once and keep stable as models, apps, and vendors change.

The math gets ugly fast. Three models talking to four tools means 12 custom integrations. MCP turns that multiplication problem into addition by creating a shared interface.

The protocol exposes three primitives that define what AI models can do:

  • Tools: Actions the model can invoke, like querying a database or sending an email.
  • Resources: Data the model can read, including files, records, and API responses.
  • Prompts: Reusable templates that guide model behavior for specific tasks.

One clarification that trips people up: MCP isn't a runtime, an AI model, nor a replacement for retrieval augmented generation (RAG) or function calling. It standardizes how those capabilities get exposed to models. Teams sometimes assume MCP handles orchestration or workflow logic. It doesn't. You still need separate tooling for multistep agent coordination.

If you're thinking about production agents, here's the practical translation: MCP gives an agent a predictable "menu" of approved tools and governed data it can request inside its context window (the model's working memory for a single conversation), then a structured way to call those tools during agent execution.

MCP architecture and core components

Which component decides what the model can do? Which component actually executes actions? When you give an AI model access to your tools, these questions matter. MCP separates these concerns across three roles.

This separation matters for IT leaders and data leaders. It creates clearer trust boundaries. You can decide where policy lives (in the host) and where credentials and execution live (in the server), instead of mixing everything into one giant, hard-to-audit integration.

MCP host

The host is the application you interact with directly. Claude Desktop, an integrated development environment (IDE) like Cursor, or a custom AI application your team built. It manages your session, maintains security boundaries, and decides which MCP servers to connect to.

In agentic setups, the host is also where orchestration often lives. That might mean deciding when to ask for human approval, how to route tasks across tools, or which model to use for a step in a multi-step workflow. MCP doesn't dictate those decisions. It just makes the tool layer consistent.

One host can connect to multiple servers at once. You might have one server for your database, another for your calendar, and a third for your file system, all running simultaneously.

MCP client

The client handles the actual protocol communication. It lives inside the host and manages capability discovery, message formatting, and response parsing. Most teams never build clients directly (they use SDKs in Python or TypeScript that handle this layer).

Each client maintains a one-to-one connection with a server. Three servers means three client instances running under the hood.

MCP server

This is where the action happens.

An MCP server wraps an external system, whether that's a database, an API, or a file system, and translates its capabilities into the MCP protocol. Servers can run locally on your machine or remotely in a cloud environment. A Postgres server might expose query and schema inspection tools. A Slack server might expose message sending and channel reading. Anthropic maintains a registry of reference implementations, and the community has built servers for Jira, Salesforce, BigQuery, GitHub, and dozens of other systems.

For data engineers, this is the "okay, but where does it touch my pipeline?" moment. In practice, an MCP server often sits next to the systems you already manage: your data warehouse, your operational APIs, your BI semantic layer, or even governed file storage. It then publishes the safest possible set of actions as tools and the safest possible data as resources.

Transport layer

MCP supports two ways to move data between client and server:

  • stdio: Communication through standard input/output streams. Best for local servers on the same machine as the host.
  • HTTP with SSE: Communication over HTTP with Server-Sent Events (SSE) for streaming. Common for remote servers.

Local stdio servers inherit the host machine's permissions. Simpler setup, but limited to local deployment. Remote HTTP servers add latency but enable cloud deployment and multi-tenant architectures.

If you're designing for hybrid environments, this matters. A local stdio server can be great for developer productivity in an IDE, while HTTP with SSE fits better when you need centralized governance, shared servers, and consistent audit trails across teams.

How the Model Context Protocol works

When someone asks an AI assistant to check their latest sales numbers, the model doesn't magically know how to query the database. MCP defines the handshake that makes this possible.

It also creates a cleaner mental model for AI/ML engineers: context gets passed in (capabilities, schemas, resources), then structured tool invocations happen during execution, then results come back as machine-readable outputs the model can reason over.

Capability discovery

When a host connects to an MCP server, the client requests the server's capability manifest. The server responds with a structured list of available tools, resources, and prompts, including names, descriptions, and input schemas.

This happens once at connection time. The host then presents these capabilities to the model as part of its context, so the model knows what actions are available.

In a governed enterprise setup, the manifest is also where you can be intentional about business context. Instead of exposing "run arbitrary SQL," you might expose "get pipeline status," "get approved sales metrics," or "pull last 30 days of forecast variance." Same underlying systems, very different risk profile.

Tool invocation and resource access

When the model decides to use a tool, it generates a structured request matching the tool's schema. The client forwards this to the appropriate server, which executes the action and returns results.

Tools perform actions and allow side effects. Resources provide read-only data. This distinction matters for security. You might let a model read resources freely while requiring approval for tool invocations.

Multi-step agent workflows start to click here. An agent can:

  1. Read a resource (like a governed metric definition or a dataset slice).
  2. Call a tool (like "create a Jira ticket" or "send a Slack message").
  3. Read the result.
  4. Decide on the next step.

MCP does not force the workflow. It just makes the "read vs act" boundary explicit and consistent.

Response handling

The server returns results as structured JSON. The client passes these back to the model, which incorporates them into its response.

For large query results or real-time data, MCP supports chunked responses via SSE. The model can start generating output before the full response arrives. Errors follow JavaScript Object Notation Remote Procedure Call (JSON-RPC) conventions, so servers return structured error codes the model can interpret.

MCP vs RAG and traditional APIs

You need your AI to access external data. You have options.

ApproachBest forLimitation
RAGGrounding responses in document contentRequires pre-indexing; no real-time actions
Function callingModel-specific tool useVendor-locked; no cross-model portability
Custom APIsFull control over integration logicHigh maintenance; scaling problem
MCPStandardized, portable tool accessNewer ecosystem; fewer pre-built servers

MCP and RAG actually complement each other. RAG handles static knowledge retrieval. MCP handles dynamic tool invocation. Many production systems use both, and confusing the two leads teams to implement MCP when they really need a vector database, or vice versa.

If you're an AI/ML engineer building agents, it helps to think of it this way:

  • RAG answers "What does our knowledge base say?"
  • MCP answers "What tools and governed data can I safely use right now?"

When should you skip MCP entirely? If you only need one model talking to one tool, custom integration is simpler. If your tools require complex multi-step workflows, agent frameworks are more appropriate. If you're locked into a single model vendor with mature function calling, MCP adds overhead without portability benefits.

Benefits of the Model Context Protocol

Adopting a new protocol requires justification, especially when Gartner predicts over 40 percent of agentic AI projects will be canceled by 2027 due to escalating costs and inadequate controls. That projection underscores why standardization matters. Teams without clear integration boundaries and governance structures are the ones most likely to see projects spiral.

The value shows up in long-term maintenance, not day-one setup.

Here's what teams usually care about once they move from demos to production:

  • Reduced integration burden: Build one MCP server per tool, and any compatible model can use it.
  • Model portability: Switch between Claude, GPT, or open-source models without rebuilding integrations.
  • Ecosystem reuse: Use community-built servers for common systems instead of building from scratch.
  • Clear security boundaries: The separation of hosts, clients, and servers creates defined trust boundaries.
  • Agentic workflow support: With Gartner predicting 40 percent of enterprise apps will feature AI agents by end of 2026, MCP's primitives map naturally to autonomous agent architectures. That rapid adoption timeline means teams building agent infrastructure today will likely need cross-model compatibility sooner than they expect.

How MCP fits into enterprise data and agent architectures

If you're staring at your existing data stack and thinking, "Where does this fit without wrecking my pipelines," you're asking the right question.

MCP typically becomes the tool-access layer that sits close to the systems you already run:

  • Your governed analytics layer (metrics, business logic, approved dimensions).
  • Your warehouses and lakes (where you often want read-only resources, not broad write access).
  • Your operational systems (where tools should be narrow, auditable actions).
  • Your workflow platforms (Slack, Jira, email, incident management).

For architectural engineers, the long-term win is modularity. If you standardize tool boundaries with MCP, you can change models, hosts, and even orchestration patterns without rebuilding the whole integration surface area.

If you're evaluating MCP adoption, these six checks keep you out of trouble:

  1. Decide tool granularity: Prefer task-level tools ("create_ticket", "get_forecast_variance") over generic ones ("run_sql_anything").
  2. Treat schemas like contracts: Tight input schemas reduce accidental data exposure and help the model call tools correctly.
  3. Plan for model-agnostic routing: If you expect to run multiple LLMs, keep tool definitions stable and avoid model-specific quirks.
  4. Build in approvals for side effects: Make it easy to require human-in-the-loop validation for high-risk tools.
  5. Centralize auditing: Log every tool invocation, including inputs, outputs, and who approved what.
  6. Put governance where it belongs: Keep credentials and permissions in the execution layer (servers) and policy decisions in the host.

That's the difference between "we connected an LLM to stuff" and "we shipped an enterprise agent system we can actually defend in a security review."

Security and governance for MCP

An AI model with tool access can query databases, send messages, and modify records. Without controls, a prompt injection attack or misconfigured permission could expose sensitive data.

MCP servers should implement OAuth 2.0 or API key authentication for remote deployments. Hosts must enforce least-privilege access, only connecting to servers the person is authorized to use. Consider tool-level permissions: allow reading resources freely while requiring approval for write operations.

Return only necessary fields from queries. Implement audit logging for all tool invocations. Use mutual TLS (mTLS) for remote server communication.

Prompt injection is a real concern when models execute actions. Validate tool inputs against schemas before execution. Implement allowlists for permitted operations. For high-risk actions, require human approval. Teams often validate inputs but forget to sanitize outputs before passing them back to the model. This creates a vector for indirect injection attacks through returned data, which, if not careful, can bite teams who thought they had security locked down.

If your MCP servers access personally identifiable information or regulated data, standard compliance requirements apply. GDPR, HIPAA, and SOC 2 rules govern MCP traffic exactly as they govern direct database access.

For IT leaders, MCP is less about "cool agent features" and more about governance hygiene. You want to know:

  • Which servers are connected.
  • Which tools are exposed.
  • Which data resources are readable.
  • What got executed, when, and under whose authority.

MCP doesn't solve all of that by itself. But it makes those questions easier to ask.

How Domo supports MCP-powered data products

MCP standardizes how AI models connect to tools, but production deployments still need governed data access, audit trails, and enterprise-grade security. Connecting an AI model directly to raw data sources often bypasses the business logic and security policies your organization relies on.

Domo provides the governed data foundation that teams can put behind MCP servers (or any tool-calling agent architecture) so agents interact with trusted, permissioned context, not a free-for-all data dump.

More than 1,000 pre-built connectors can serve as the secure data layer you expose to AI agents. Centralized role-based access controls help ensure agents only access data people are authorized to see. Audit logging tracks what data agents accessed and what actions they triggered.

If you're building agents in Domo, Agent Catalyst delivers many of the architectural outcomes MCP is aiming for, without requiring you to implement a protocol layer from scratch:

  • AI Service Layer Abstraction: A model-agnostic interface so agent workflows don't depend on any single LLM provider.
  • Bring Your Own Model (BYOM): Connect to providers like OpenAI, Google, and Anthropic, plus hosting services like Hugging Face.
  • Extensible Tool Library: Define structured tool calls for databases, alerts, and external APIs.
  • Custom Agent Tools via Code Engine: Package internal tools as reusable components other agents can invoke.
  • Semantic Layer for AI-ready business context: Keep metrics and logic consistent so agents don't guess what "revenue" means.
  • Model management and governance controls: Handle credentials, access permissions, auditing, and performance monitoring in one place.

Final thoughts

MCP represents a shift toward standardized AI-to-tool connectivity, similar to how REST APIs standardized web service communication. For teams building AI applications that interact with external systems, it offers a path to reduce integration complexity and improve portability.

The protocol is still maturing. Expect the ecosystem of pre-built servers and host support to expand. Teams adopting MCP now benefit from early standardization while accepting some ecosystem gaps. It doesn't replace RAG or custom integrations. It provides a standard interface that makes AI tool access more maintainable.

Whether you adopt MCP directly or you're validating "MCP-like" patterns, you will want governed context, controlled tool access, and visibility into agent actions. If you want to see what that looks like in practice, watch a demo here.

See governed agent workflows in action

Watch how Domo keeps tool access, metrics, and auditing under control as you scale MCP-style integrations.

Start building secure AI tool access

Try Domo free to connect data, apply permissions, and give agents trusted context without custom glue code.
See Domo in action
Watch Demos
Start Domo for free
Free Trial

Frequently asked questions

Can MCP servers connect to cloud databases like Snowflake or BigQuery?

Yes. MCP servers can wrap any data source you can connect to programmatically. Community-built servers already exist for BigQuery, and you can build custom servers for Snowflake or any other cloud database.

Does switching AI models require rebuilding MCP servers?

No. That's the point of the protocol. Build one server, and any MCP-compatible host can use it, whether you're running Claude, GPT, or an open-source model.

What happens when an MCP server goes offline during a conversation?

The host loses access to that server's tools and resources. Well-designed hosts handle this gracefully by informing the model which capabilities are unavailable.

How is MCP different from OpenAI's function calling?

Function calling is model-specific and vendor-locked. Tools defined for GPT don't work with Claude. MCP is a cross-model standard. Build once, use anywhere.

Does MCP support human approval for risky actions?

MCP defines how tools are exposed and invoked, but hosts typically decide how approvals work. In practice, many teams treat write-capable tools as "approval required," while read-only resources stay self-serve.

How do I choose between stdio and HTTP with SSE?

stdio fits best when the host and server run on the same machine (common in local development or IDE-based workflows). HTTP with SSE fits best when you need remote deployment, centralized management, and shared access across teams.
No items found.
Explore all
No items found.
AI