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.
Free session
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.
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.
Each new model or system multiplies the work. Different formats, different auth, exponential maintenance.
A single protocol. One server per system, one client per model. Centralized auth and logging.
Anthropic describes MCP, without fine metaphors, as "USB-C for AI". Before, each cable. Now, a port.
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).
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.
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.
The AI model app. Initiate connection, discover capabilities and orchestrate calls. You don't know the final system.
JSON-RPC 2.0 standardized. Three possible transports: stdio for local, SSE for remote servers, HTTP streamable for companies.
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.
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.
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.
The final destination. Where the data really lives. The MCP server never replaces them, it only makes them available to the AI with control.
An MCP server exposes three types of capabilities. Understanding the difference is key to designing integrations that are powerful but also auditable.
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.
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.
Recurring workflows packaged as parameterized prompts. The user invokes them by name and the server returns the complete prompt with injected context.
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.
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.
A typical enterprise architecture uses RAG for knowledge and CCM for operational data. The model chooses which tool to use based on the question.
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:
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.
contacts.search(filter)
opportunities.get(id)
tickets.create(...)
orders.update_status(id, status)
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.
oracle.get_shipment(id)
as400.list_orders(date_range)
oracle.get_inventory(warehouse)
as400.run_query(sql_template)
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.
sage.list_invoices(customer, status)
sage.get_balance(account)
sage.search_customers(query)
sage.get_aging_report()
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.
fabric.query_semantic(dax)
fabric.list_datasets()
onelake.read_table(name, filter)
fabric.get_kpi(name, period)
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.
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.
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.
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.
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.
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.
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:
Next step
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.
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.
It responds against the company's own documentation and data, connected to Power BI, CRM, Dynamics or corporate databases.
SpainIt responds to the sales force in their usual channel, without forcing them to enter another tool.
SpainResolve operational questions for store personnel on the spot, without calling headquarters.
SpainSuggests the formation of the educational catalog that fits each query.
SpainGuides and validates each required information during registration, instead of returning the incorrectly completed form.
SpainAn agent collects and structures the project requirements in a conversation.
SpainReads the PDF invoice, extracts and validates the data and inserts it into the management system without typing a line.
SpainRegister the order by directly reading the contract, with the data already validated.
SpainAutomatically loads the metadata of new products.
ChileApplicable 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.