Technical guide / Model Context Protocol

A protocol
to connect
AI with all.

Anthropic published MCP in November 2024. A year later, Microsoft, OpenAI and the majority of the ecosystem adopted it. This guide explains what it is, how it works, and why it matters for your Dataverse, AS400, Sage, or Oracle.

IThe problem

N models × M systems. He chaos before MCP.

If in your company you have three AI models different (Claude for analysis, Copilot for productivity, GPT for code) and five systems (Dataverse, Sage, AS400, Fabric, internal SQL), before MCP you needed fifteen integrations. Each model-system pair with its own function calling format, its own authentication, its own registration.

And the following year, when a new model appears that costs twice as much, it is time to rewrite the five connectors again.

Without MCP N × M connectors
Each pair requires its own plugin.
Topology without MCP: 15 ad-hoc connectors Diagram showing 3 AI models (Claude, Copilot, GPT) connected with 15 individual lines to 5 systems (Dataverse, Sage, AS400, Oracle, Fabric). CLAUDE COPILOT GPT DATAVERSE SAGE AS400 ORACLE FABRIC 15

Each new model or system multiplies the work. Different formats, different auth, exponential maintenance.

With MCP · N+M implementations
A common port. Everything fits.
Topology with MCP: 8 hub-and-spoke implementations Diagram showing 3 AI models connected to a central MCP server, which in turn connects to 5 enterprise systems. Only 8 connections in total. CLAUDE COPILOT GPT MCP SERVER tools · resources DATAVERSE SAGE AS400 ORACLE FABRIC 8

A single protocol. One server per system, one client per model. Centralized auth and logging.

Figure 1 Integration topology before (15 ad-hoc connectors) and after (8 reusable deployments) adopting MCP.
Anthropic describes MCP, without fine metaphors, as "USB-C for AI". Before, each cable. Now, a port.
IIWhat is

Three actors, one common protocol.

The official MCP specification defines how three types of actors communicate: a customer (the AI ​​model app), a server (which exposes capabilities) and a system (the actual source of data or actions). The client and server speak MCP between themselves. The server speaks the system's native protocol (SQL, REST, RPG).

The trick is that client and server do not need to know each other in advance. Any server that speaks MCP can be consumed by any client that speaks MCP. This decouples the evolution of the models (they renew every 3-6 months) from the evolution of the business systems (they renew every 5-10 years).

The three actors of the MCP protocol Horizontal diagram with three boxes: the MCP client on the left (Claude Desktop, Copilot Studio, Cursor), the MCP server highlighted in the center (with tools, resources, prompts) and the real system on the right (Dataverse, Oracle, Sage). JSON-RPC communication between client and server. MCP CLIENT The app of AI model. › Claude Desktop › Copilot Studio › Cursor · Cline JSON-RPC stdio/SSE MCP SERVER The translator universal. › tools/list › tools/call › resources/read › prompts/get SQL API native REAL SYSTEM Your source really. › Dataverse · CRM › Oracle · AS400 › Sage · Fabric
Figure 2 The three actors of the MCP protocol: AI client, capabilities server, and underlying real system.
IIIAnatomy

A conversation. Eight invisible steps.

A salesperson asks Copilot: "What are the outstanding invoices for the Acme customer?". What for him is a sentence, for the system are eight choreographed steps between client, MCP server, auth engine and Sage 200.

Sequence diagram: 9 steps of an MCP query Sequence diagram showing how a question flows from user to Copilot, to MCP server, to Sage 200 and back. Includes authentication, RBAC authorization, SQL query and audit log. USER COPILOT MCP SERVER SAGE 200 01 · "acme outstanding invoices?" 02 tools/call sage.list_pending_invoices 03 · Auth · Entra ID 04 · RBAC check 05 · SELECT * FROM invoices WHERE customer='ACME' 06 · 3 rows: FAC-1184 €8.4k, FAC-1185 €12.9k... 07 · Audit log · append 08 · MCP response · structured JSON 09 · "Acme has 3 outstanding invoices for €24,730..."
Figure 3 Complete sequence diagram of an MCP query. Typical total time: 200ms - 2s, dominated by the legacy system.
IVLayers

Architecture of an MCP business.

A productive MCP server is not a Python script with two endpoints. It has clear layers: the protocol, a transport layer, authentication, authorization, tools/resources logic, and the native adapters that talk to each system.

Layer 01 Client

MCP Client

The AI ​​model app. Initiate connection, discover capabilities and orchestrate calls. You don't know the final system.

Claude DesktopCopilot StudioCursorClineAzure AI Foundry
Layer 02 Transport

MCP Protocol

JSON-RPC 2.0 standardized. Three possible transports: stdio for local, SSE for remote servers, HTTP streamable for companies.

JSON-RPC 2.0stdioSSEHTTP/2
Layer 03 · Security

Authentication & authorization

OAuth 2.1 with Entra ID. The server extracts claims from the token, identifies the user and applies RBAC by tool. Filtering sensitive fields before returning data.

OAuth 2.1Entra IDRBACField maskingRate limit
Layer 04 Logic

Tools, resources, prompts

The implementation of the capabilities that the server exposes. Each tool is a function with schema. Each resource is a URI. Each prompt is a template.

TypeScriptPythonZod/PydanticOfficial SDK ↗
Layer 05 · Adapters

Native drivers for systems

SQL client, REST connector, DB2 driver for AS400, Sage or Fabric SDK. The layer that translates the intent of the model into the language of the final system.

SQL/ODBCREST/ODataDB2 ConnectPower Platform SDKFabric DAX
Layer 06 · Systems

Your business stack

The final destination. Where the data really lives. The MCP server never replaces them, it only makes them available to the AI ​​with control.

DataverseOracleAS400Sage 200/X3Microsoft Fabric
Figure 4 6-tier stack of an enterprise MCP server. Each layer is independently replaceable.
VVocabulary

Three primitives: tools, resources, prompts.

An MCP server exposes three types of capabilities. Understanding the difference is key to designing integrations that are powerful but also auditable.

Yo
01 Tools

Actions that the
model invoke.

Functions typed with JSON-Schema. The model decides when and with what arguments to call them. They can have side effects: create a ticket, update a status, launch an email.

tools sage.get_invoice(
  customer_id: string,
  year: number
) →Invoice[]
ii
02 Resources

Data that the
model read.

URIs that point to sources of information. The model can list and read them. They do not mutate state. Useful for corpora that the model explores: catalogs, historical, KB.

resources "sage://invoices/2026-q1"
  // returns JSON with
  // invoices for Q1 2026
  mimeType: "application/json"
iii
03 · Prompts

Templates
reusable.

Recurring workflows packaged as parameterized prompts. The user invokes them by name and the server returns the complete prompt with injected context.

prompt monthly_summary(
  department: string
) // generate summary
  // executive of the month

Rule of thumb: use tools for discrete actions (consult order X, create ticket Y), resources for corpora that the model can explore (catalogues, historical), and prompts to package recurring workflows that your team repeats every week.

VIComparison

MCP does not replace RAG. It complements them.

There are three common ways to connect a model to external information: RAG, proprietary function calling, and MCP. They are not alternatives; They solve different problems. This table helps you choose according to the case.

Dimension
RAG
Function Calling
CCM
What are you doing
Find similar fragments in a vector basis and injects them at the prompt.
The model invokes functions declared in proprietary format of the supplier.
The model invokes tools remote servers via standard protocol.
Data type
Unstructured: text, PDFs, manuals, KB.
Structured: rows, records, JSON.
Any: tools, resources, prompts.
Real time
No. The vector base must be re-indexed.
Yeah.
Yes. Data consulted at the time.
Portability
High (logic in your app).
Low. OpenAI ≠ Anthropic ≠ Google.
High. Open standard, decoupled client and server.
typical case
Chatbot that responds to internal documentation.
Wizard with 1-2 hardcoded functions.
Agent that accesses ERP + CRM + datalake with corporate auth.
Maintenance
Re-index when documents change.
Rewrite connectors when changing models.
A server serves any present or future model.
A typical enterprise architecture uses RAG for knowledge and CCM for operational data. The model chooses which tool to use based on the question.
VIIReal systems

What does a CCM expose to each stack.

Not all systems connect the same. Some are obvious (Dataverse, Sage). Others require custom integration layer (AS400, Oracle on-prem). Here's how we approach the four stacks we see the most:

System 01 Microsoft

Dataverse +
Power Platform.

The most natural fit for MCP. Dataverse already has tables, relationships, RBAC and Entra ID integrated. The adapter is thin: it exposes entities as tools and inherits the permissions of the user logged in to Copilot.

Ideal for companies that already have their CRM, operations or master data in Power Platform and they want Copilot Studio access without further friction.

Typical tools
contacts.search(filter) opportunities.get(id) tickets.create(...) orders.update_status(id, status)
Dataverse CORE contacts orders opportunities tickets
System 02 Legacy enterprise

Oracle, AS400
and iSeries.

The most complex. AS400 with RPG/COBOL does not have modern APIs. We build a integration layer (native DB2, Jolt for BEA, or microservices on top of existing transactions) that the MCP server consumes.

Intelligent caching to avoid overwhelming legacy systems with unexpected AI queries. Critical in banking, manufacturing and logistics where AS400 remains backbone.

Typical tools
oracle.get_shipment(id) as400.list_orders(date_range) oracle.get_inventory(warehouse) as400.run_query(sql_template)
AS400 TERMINAL › MAIN MENU 1. ORDERS 2. CUSTOMERS 3. INVENTORY 4. SHIPPING 5. REPORTS SELECT OPTION › BRIDGE DB2 Jolt REST adapter CCM to Copilot tools/call
System 03 · ERP SME

Sage 200, Murano
and X3.

sage has Modern APIs (REST + OData at 200/X3). The MCP server connects directly and displays invoices, balances, accounting and CRM. Native compatibility with multiple companies, which is critical for consultancies that run dozens of companies in the same facility.

Typical case: end client consults via AI chat "what is my balance for customer and receives a response without going through the advisor.

Typical tools
sage.list_invoices(customer, status) sage.get_balance(account) sage.search_customers(query) sage.get_aging_report()
Sage 200 · Billing FAC-2026-1184 Acme S.L. € 8.420 FAC-2026-1185 Acme S.L. € 12.860 FAC-2026-1186 Acme S.L. € 3.450 Total outstanding € 24.730 › MCP · 3 facts. fetched
System 04 · Big Data

Microsoft Fabric+
OneLake.

For data at scale (TB). The MCP server exposes semantic models and allows the model to query datalakes via DAX or SQL Fabric endpoints without moving data. Ideal for corporate KPIs in groups with many business units.

It allows you to build agents that cross marketing, sales and operations data without moving petabytes or breaking governance. We often combine it with dashboards Power BI existing.

Typical tools
fabric.query_semantic(dax) fabric.list_datasets() onelake.read_table(name, filter) fabric.get_kpi(name, period)
OneLake · 4.2TB sales_2026 stock_live crm_unified marketing
VIIISecurity

Five layers that always They protect your MCP.

Exposing an ERP to an AI is scary if not done right. These are the five minimum layers that an enterprise MCP server that deserves to be called that must have.

Five layers of MCP security Onion diagram with five concentric rings that represent the security layers: authentication, RBAC, field masking, rate limiting and audit log. At the center is critical data. 05 · AUDIT LOG 04 RATE LIMITING 03 FIELD MASKING 02 · RBAC 01 · AUTH data critics
Yo
Authentication · OAuth 2.1 + Entra ID Verify that the request comes from a real human user with an active session, not a bot or a stolen token.
ii
Authorization by role · RBAC Decide which tools each user can use. Commercial DOES NOT see payrolls; CFO DOES NOT see private messages.
iii
Field filtering · Field-level masking Before returning data, the server masks or suppresses sensitive fields (IBAN, ID, salaries) depending on the role.
iv
Rate limiting · per-user quotas Limits how many AI queries per minute. Avoid abuses and control the cost of consumed tokens.
v
Immutable audit log · append-only Every call (who, what tool, what arguments, what result) persisted. Complete legal traceability.

Important: MCP is just the transport protocol. Security is implemented by the server. Before exposing any system, require your supplier to demonstrate these five layers with real tests. Marketplace plug-and-play MCP solutions that skip these steps are dangerous in regulated environments.

IXIn production

Three cases where MCP changed the workflow.

Anonymized deployments in real production. Same protocol, three different sectors and stacks. Each case solves a specific operational problem. You can see more detail in our success stories.

Yo
UK Port Authority

Oracle connected to Copilot.

Port operation with thousands of daily movements in Oracle. Before: IT made SQL queries on request. Now: managers consult shifts, boardings, delays and ETAs in natural language from Teams.

Oracle DBCCMCopilot Studio
ii
Tax advisory network

Sage 200 spoken
in natural.

Tax advisors with shared Sage 200. End clients (self-employed, SMEs) consult invoices, VAT and balances via AI chat with authorization by NIF. Advisors freed from basic operational consultations.

Sage 200CCMRBAC by NIF
iii
Leading publishing group

Dataverse + Fabric
unified.

30+ data sources across Dataverse, Microsoft Fabric, and departmental data lakes. A single MCP exposes them as coherent tools. Marketing and editorial agents on always-live data.

DataverseMS FabricOneLake
xFrequently asked questions

What we are asked most about Business MCP.

What exactly is MCP in a sentence?
An open protocol (JSON-RPC 2.0) that standardizes how an AI model requests data or executes actions against external systems. Just like HTTP standardizes how a browser requests web pages.
How is MCP different from a Power Automate connector?
A connector is imperative: you program what to do step by step. MCP is declarative: you expose tools and the model decides which ones to call and in what order according to the conversation. Power Automate is perfect for automating fixed processes; MCP is perfect for an AI agent to reason about your business.
Can I use MCP without Anthropic Claude?
Yes. MCP is open protocol. Microsoft Copilot Studio, Azure AI Foundry, Cursor, Cline and many open source clients support it. Anthropic created it but does not control it — the spec is public (GitHub) and governance is community.
Does MCP work on-premise (without cloud)?
Yes. The MCP server can run wherever you want: on-prem VM, internal Kubernetes, Azure Arc, container in your datacenter. You only need one endpoint accessible to the client (can be internal VPN). The AI ​​model does need a connection to its API, but the MCP server does not expose your data to the internet if you don't want to.
What happens to the data? Does the model train them?
No. MCP is an access protocol, not a training protocol. The data travels in the context of the conversation (ephemeral) and is never used to retrain the model in Anthropic, OpenAI or Microsoft business plans. You can also filter PII fields on the server before returning responses.
How much does it cost to deploy a productive MCP server?
A pilot with 3-5 tools on a system (Sage, Dataverse) usually fits in 4-8 weeks of work. The infra cost is low (Azure Container Apps + Entra ID, tens of € per month for medium loads). The biggest cost is usually the integration with legacy systems (AS400, Oracle on-prem) if they do not have clean APIs.
How is MCP related to Microsoft Copilot Studio?
Copilot Studio (Microsoft's low-code tool for building Copilot agents) has supported MCP servers as a connector type since 2025. You point your Copilot agent at your MCP server, it exposes its tools, and Copilot can invoke them in any conversation while respecting the user's permissions. We monitor these deployments from our AI Operations Center.
What if Anthropic stops maintaining MCP in 5 years?
MCP is open source with open governance. Microsoft, OpenAI, Google and others already have their own implementations of the protocol. Even if Anthropic were decoupled, the standard would survive as a community SDK. Similar risk to adopting GraphQL or gRPC.
What is the difference between stdio, SSE and HTTP in MCP?
stdio is the transport for local servers (Claude Desktop launches the server as a thread and talks to it over stdin/stdout). SSE (Server-Sent Events) was the standard transport for remote servers. HTTP streamable is the new recommended transport from 2025 for production — supports reconnection, multiplexing and better compatibility with load balancers.
XIReferences

Official sources and specs.

This guide is based on public documentation from Anthropic, Microsoft, and the MCP community. We leave you the key links in case you want to go deeper:

Do you have Sage, AS400, Oracle or Dataverse at home?

30 minutes per video call. We show you an MCP server in real production and see which parts of your stack it would make sense to connect first. No commitment, no PowerPoint presentation.

Applied cases

Agents who respond to your own data.

An assistant that resolves queries against company knowledge or data, in the channel where people already work, and escalates to a human or triggers an action when they don't know. It is the terrain where MCP stops being theory.

Internal Data Wizard

It responds against the company's own documentation and data, connected to Power BI, CRM, Dynamics or corporate databases.

Spain

Commercial network assistant

It responds to the sales force in their usual channel, without forcing them to enter another tool.

Spain

Internal store assistant

Resolve operational questions for store personnel on the spot, without calling headquarters.

Spain

Catalog recommender

Suggests the formation of the educational catalog that fits each query.

Spain

Assisted supplier registration

Guides and validates each required information during registration, instead of returning the incorrectly completed form.

Spain

Taking requirements

An agent collects and structures the project requirements in a conversation.

Spain

Supplier invoices

Reads the PDF invoice, extracts and validates the data and inserts it into the management system without typing a line.

Spain

Orders from contract in PDF

Register the order by directly reading the contract, with the data already validated.

Spain

Product metadata

Automatically loads the metadata of new products.

Chile

Applicable to SMEs: When AI maturity comes, it is sensible to start with a wizard on your own documentation, or by those who receive invoices and contracts in PDF and type them by hand.