Article 39/50 — MCP vs REST API vs Connectors: Choosing the Right Integration Architecture for Enterprise AI Agents

Technical Series: Microsoft Copilot Studio, Enterprise AI Agents, SharePoint Online, and Power Platform

1. Introduction

Enterprise AI agents are evolving from conversational interfaces into systems capable of retrieving information, invoking business operations, and interacting with corporate applications.

Microsoft Copilot Studio provides several mechanisms for extending an agent beyond its native conversational capabilities. Among the most important are REST API integrations, Power Platform Connectors, Power Automate flows, and the Model Context Protocol (MCP).

These technologies are frequently presented as competing alternatives. However, they do not operate at exactly the same architectural level.

A REST API exposes application functionality through an HTTP-based interface. A Power Platform Connector packages access to an external service within the Power Platform ecosystem. MCP establishes a standardized protocol through which AI applications can discover and invoke tools and access contextual resources.

Understanding these differences is essential when designing secure, maintainable, and scalable enterprise agents.

This article examines their technical foundations, architectural relationships, security models, implementation considerations, and practical applications, using SharePoint Online and Microsoft Copilot Studio as primary examples.


2. The Enterprise Integration Problem

Consider an organization developing several AI agents:

  • An HR Agent that answers questions about corporate policies.
  • An IT Support Agent that retrieves and updates support requests.
  • A Procurement Agent that checks purchase requisitions.
  • A Compliance Agent that examines business records and policy requirements.

These agents need access to information distributed across SharePoint Online, Dataverse, SQL Server, enterprise resource planning systems, and external applications.

Some operations are informational. Others modify business data.

For example:

Question A: What does our corporate travel policy say about international accommodation?

Question B: What is the approval status of travel request 1234?

Question C: Approve travel request 1234.

Although these requests may appear similar to the user, they involve different technical responsibilities.

Question A may be answered using a SharePoint Knowledge Source with Retrieval and Grounding.

Question B generally requires a structured, current-data lookup.

Question C requires an authorized business operation, potentially with an approval workflow and additional validation.

This distinction is fundamental.

Knowledge retrieval provides information that helps an agent generate an answer. Tool execution allows an agent to request a defined operation.

An enterprise architecture must determine which mechanism is appropriate for each requirement.


3. REST APIs: The Foundation of Enterprise Integration

REST, or Representational State Transfer, is an architectural style for distributed systems.

Enterprise integrations commonly use HTTP APIs that expose resources through URLs and exchange JSON representations.

For example, a corporate application might expose:

GET https://api.contoso.com/v1/requests/1234
Authorization: Bearer <access_token>
Accept: application/json

The response might be:

{
"id": 1234,
"status": "PendingApproval",
"requester": "user@contoso.com",
"amount": 2500,
"currency": "BRL"
}

The API contract defines how applications communicate.

Its fundamental elements include:

ElementResponsibility
EndpointIdentifies the resource or operation
HTTP methodSpecifies the requested action
AuthenticationEstablishes the caller’s identity
AuthorizationDetermines what the caller may do
Request schemaDefines accepted inputs
Response schemaDefines returned data
Error contractDescribes failures and their meanings
VersioningSupports controlled evolution

Common HTTP methods include GET, POST, PATCH, PUT, and DELETE.

For enterprise systems, additional considerations include pagination, filtering, concurrency, idempotency, throttling, and transaction boundaries.

3.1 REST APIs Are Not AI-Specific

REST APIs were designed for communication between software systems, not specifically for generative AI.

An API may expose hundreds of endpoints, each requiring detailed knowledge of authentication, parameters, business rules, and response structures.

An AI agent should not automatically receive unrestricted access to those endpoints.

Instead, an integration layer should expose carefully selected capabilities.

For example, rather than granting an agent a general-purpose HTTP execution function, an architect may expose three operations:

get_request_status(requestId)
list_my_requests()
create_approval_request(requestId)

These operations are more meaningful from a business perspective and easier to govern.

3.2 OpenAPI and Machine-Readable Contracts

OpenAPI provides a standardized way to describe HTTP APIs.

An OpenAPI document can define paths, operations, parameters, authentication requirements, request bodies, and response schemas.

For example:

openapi: 3.0.3
info:
title: Corporate Requests API
version: 1.0.0
paths:
/requests/{requestId}:
get:
operationId: getRequestStatus
summary: Retrieve a request
parameters:
- name: requestId
in: path
required: true
schema:
type: integer
responses:
"200":
description: Request details

This example is intentionally simplified.

In production, the specification should also describe security schemes, response content, validation constraints, and error conditions.

OpenAPI becomes especially relevant when exposing REST APIs through Custom Connectors or API-oriented tools.


4. What Is a Tool in an AI Agent?

A Tool represents a capability that an AI application can invoke.

It connects the agent’s reasoning and orchestration process to an external operation.

A conceptual Tool definition might look like this:

{
"name": "get_request_status",
"description": "Retrieve the current status of a corporate request.",
"inputSchema": {
"type": "object",
"properties": {
"requestId": {
"type": "integer"
}
},
"required": ["requestId"]
}
}

This example illustrates the general idea of a structured Tool contract.

A Tool typically has a name, a description, input parameters, and an execution mechanism.

The description is particularly important because it helps the orchestration system determine when the Tool is appropriate.

However, a Tool description is not a security boundary.

The language model may propose a Tool invocation, but the execution environment and backend must enforce authentication, authorization, input validation, and business rules.

4.1 Tool Selection Is Not Authorization

Suppose a user asks:

Approve every pending purchase request.

The agent might identify an approval Tool.

That does not mean the operation should be executed.

The backend must independently determine whether the caller is authorized to approve those requests.

It must also verify business rules, such as approval limits, separation of duties, and valid state transitions.

A model’s decision to invoke a Tool must never be treated as proof that the operation is authorized.


5. Power Platform Connectors

Power Platform Connectors provide a managed integration mechanism for accessing external services.

They are used throughout Microsoft Power Platform, including Power Automate, Power Apps, and supported Copilot Studio integration experiences.

A Connector exposes operations through a defined interface and relies on configured connections and authentication mechanisms.

Microsoft provides many prebuilt Connectors for commonly used enterprise services.

Organizations can also develop Custom Connectors for their own APIs.

5.1 Prebuilt Connectors

A prebuilt Connector provides supported operations for a particular service.

For example, the SharePoint Connector includes operations for working with lists, items, files, and other SharePoint resources.

An agent may use a supported Connector operation directly or indirectly through a Power Automate flow, depending on the integration experience and requirements.

5.2 Custom Connectors

A Custom Connector packages an organization’s API for reuse within Power Platform.

Consider a corporate ERP exposing:

GET /api/purchase-orders/{id}

A Custom Connector could expose this operation as:

GetPurchaseOrder

Its definition would include parameters, authentication, and the expected response.

The resulting operation can be reused by supported Power Platform solutions.

5.3 Connector Architecture

A typical integration path is:

User
|
v
Copilot Studio Agent
|
v
Connector Operation
|
v
REST API
|
v
Corporate System

The Connector does not replace the underlying API.

It provides a managed integration abstraction over the service.

5.4 Connections and Runtime Identity

One of the most important security questions is:

Which connection executes the operation?

Depending on the product capability and configuration, an operation may use a connection associated with the end user or credentials configured for the integration.

These models can produce very different authorization outcomes.

A connection that successfully accesses a SharePoint list does not automatically guarantee that every end user of the agent has permission to access that list.

Architects must verify the actual runtime identity, the permissions granted to the connection, and any additional authorization controls.


6. Power Platform Connectors vs Copilot Connectors

The word Connector is used for different Microsoft integration technologies.

This distinction is especially important in enterprise AI architecture.

6.1 Power Platform Connectors

Power Platform Connectors primarily provide operations that interact with external systems.

They can retrieve structured data or execute business actions.

6.2 Copilot Connectors

Copilot Connectors, previously known as Microsoft Graph Connectors, support the ingestion and indexing of external content for Microsoft 365 experiences.

They are primarily associated with making external information discoverable and usable for search and Grounding.

6.3 Comparison

CharacteristicPower Platform ConnectorCopilot Connector
Primary purposeOperational integrationExternal content indexing
Typical workloadRead or modify business dataRetrieve indexed knowledge
Main integration modelAPI operations and connectionsContent ingestion and search
Common applicationTools and automationKnowledge and Grounding
Data freshnessDepends on runtime operationDepends on ingestion and indexing

Some newer Power Platform capabilities also support real-time knowledge scenarios.

Therefore, this table describes their principal architectural roles rather than an absolute technical restriction.

The central question is whether the agent needs information for a grounded answer or an operation against a business system.


7. Introducing the Model Context Protocol

The Model Context Protocol is an open protocol designed to standardize how AI applications communicate with external tools and contextual resources.

Instead of requiring every AI application to implement a proprietary integration contract for every external capability, MCP provides a common protocol.

Its architecture is based on interacting components.

7.1 MCP Host

The Host is the AI application that coordinates the user interaction and manages MCP-related capabilities.

7.2 MCP Client

An MCP Client establishes and manages communication with an MCP Server.

It implements the client side of the protocol.

7.3 MCP Server

An MCP Server exposes capabilities that an MCP Client can discover and use.

These capabilities may include Tools, Resources, and Prompts.

A conceptual architecture is:

AI Application / Host
|
v
MCP Client
|
| MCP Protocol
|
v
MCP Server
|
v
Enterprise Services

The MCP Server may call REST APIs, databases, Microsoft Graph, or other backend systems.

MCP does not dictate how those systems must be implemented.


8. MCP Protocol Fundamentals

MCP uses JSON-RPC 2.0 messages for protocol communication.

JSON-RPC provides a structured request-and-response model.

The protocol defines operations for initialization, capability negotiation, discovery, and invocation.

8.1 Initialization

Before using the server’s capabilities, the client and server establish a protocol session and negotiate relevant capabilities.

This helps each side understand which protocol features are supported.

8.2 Tool Discovery

An MCP Client can request the list of available Tools.

For example:

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}

A simplified response might contain:

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"tools": [
{
"name": "get_request_status",
"description": "Retrieve a corporate request.",
"inputSchema": {
"type": "object",
"properties": {
"requestId": {
"type": "integer"
}
},
"required": ["requestId"]
}
}
]
}
}

This is one of the most significant differences between MCP and a conventional manually configured API operation.

The server can describe the capabilities it exposes through a standardized discovery mechanism.

8.3 Tool Invocation

After discovery, the client can invoke an available Tool.

For example:

{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_request_status",
"arguments": {
"requestId": 1234
}
}
}

The MCP Server receives the request, validates the arguments, executes the appropriate backend operation, and returns the result.

The client can then provide the Tool result to the agent’s orchestration process.

8.4 Dynamic Discovery Does Not Mean Unlimited Access

MCP discovery does not imply that every exposed Tool should be available to every user.

Tool availability and authorization must be governed by the host, server, identity model, and enterprise security policies.

A secure implementation should restrict capabilities according to the caller’s permissions and the business context.


9. MCP Tools, Resources, and Prompts

MCP defines several important primitives.

9.1 Tools

Tools represent executable capabilities.

Examples include:

get_employee_profile
create_support_ticket
update_request_status

They may read information or cause changes in external systems.

9.2 Resources

Resources expose contextual information through the protocol.

For example, a server might expose policy documentation, application metadata, or other relevant content.

Resources are not necessarily equivalent to Copilot Studio Knowledge Sources.

A Knowledge Source is a product-level capability, while an MCP Resource is a protocol-level primitive.

9.3 Prompts

Prompts provide reusable interaction templates through the protocol.

They may help structure particular tasks or workflows.

9.4 Client Support Matters

Although the MCP specification defines these primitives, not every MCP Client implements all of them.

The actual capabilities available to an agent depend on the client and product implementation.

For Copilot Studio, the documented integration experience and supported MCP features must be verified rather than inferred from the complete MCP specification.


10. MCP Transport Architecture

A protocol defines communication semantics, but its messages must travel through an underlying transport.

MCP supports transport mechanisms suitable for different deployment scenarios.

For local development, standard input/output communication can be useful.

For remote enterprise integration, HTTP-based transport is more relevant.

10.1 Streamable HTTP

Streamable HTTP supports remote MCP communication over HTTP.

It enables MCP Clients to interact with servers hosted as network-accessible services.

The exact requirements for session handling, streaming, authentication, and deployment depend on the protocol version and client implementation.

10.2 Copilot Studio Transport Requirements

Microsoft documents Streamable HTTP support for connecting existing MCP Servers to agents in the relevant Copilot Studio experience.

Compatibility should be verified against the current Microsoft documentation.

A server that works in a local development client is not automatically guaranteed to work in Copilot Studio.

Transport compatibility is only one part of the integration.

Authentication, networking, supported capabilities, and product-specific constraints also matter.


11. REST API vs MCP: The Fundamental Difference

A REST API defines how an application exposes resources and operations.

MCP defines how an AI application can discover and invoke capabilities exposed by a compatible server.

These concepts are complementary.

Consider the following REST endpoint:

GET /requests/1234

An MCP Server might expose:

get_request_status(requestId)

Internally, the MCP Server can call the REST endpoint.

The complete execution path becomes:

User Request
|
v
AI Agent
|
v
MCP Client
|
v
MCP Server
|
v
REST API
|
v
Business Application

MCP adds an AI-oriented protocol boundary.

It does not eliminate the API contract or backend implementation.

11.1 Why Not Use REST Directly?

Direct REST integration may be simpler when an agent needs only a small number of stable operations.

MCP becomes more attractive when capabilities must be exposed consistently across multiple compatible AI applications.

For example, an organization may want the same corporate Tools available to several agent platforms.

A shared MCP Server can reduce the need to implement separate discovery and invocation adapters for each compatible client.

However, this benefit depends on actual client compatibility, authentication requirements, and organizational architecture.


12. Custom Connectors vs MCP Servers

A Custom Connector and an MCP Server can both provide access to enterprise functionality.

Their architectural purposes differ.

A Custom Connector is primarily a Power Platform integration artifact.

An MCP Server is a protocol endpoint intended for compatible AI clients.

12.1 Custom Connector Architecture

Copilot Studio
|
v
Custom Connector
|
v
Corporate REST API

12.2 MCP Architecture

Copilot Studio
|
v
MCP Client
|
v
Corporate MCP Server
|
v
Corporate REST API

12.3 Architectural Comparison

DimensionREST API ToolCustom ConnectorMCP Server
Primary abstractionAPI operationManaged integration operationAI-oriented protocol capability
DiscoveryConfigured operationsConfigured operationsMCP discovery
Typical reuseAcross API consumersAcross supported Power Platform solutionsAcross compatible MCP clients
Backend dependencyREST APIUsually REST APIREST, database, service, or other backend
Security modelAPI authentication and authorizationConnection and service authorizationMCP transport/authentication plus backend authorization
Operational responsibilityAPI infrastructureConnector configuration and backendMCP Server infrastructure and backend
Initial complexityOften low for existing APIsOften low to moderatePotentially higher for custom servers
Strong use caseFocused API integrationPower Platform standardizationShared AI Tool infrastructure

No single option is universally superior.

The correct choice depends on the enterprise integration strategy.


13. Power Automate as an Alternative Integration Layer

Power Automate provides another important mechanism for exposing business operations to Copilot Studio.

A flow can encapsulate a sequence of actions and return a structured result to the agent.

For example:

Copilot Studio Agent
|
v
Power Automate Flow
|
v
SharePoint Connector
|
v
SharePoint List

A flow might accept:

{
"requestId": 1234
}

It could retrieve the SharePoint item, validate its status, and return:

{
"requestId": 1234,
"status": "PendingApproval"
}

Power Automate is particularly useful when the operation involves existing Connectors, business workflows, approvals, or multiple integration steps.

However, a flow should not automatically be introduced for every API call.

A direct Connector operation or REST integration may be simpler for a straightforward read operation.

Similarly, a custom MCP Server may be unnecessary when a small flow already satisfies the requirement.


14. Practical Architecture: SharePoint Online Request Management

Consider an enterprise SharePoint list named CorporateRequests.

It contains the following columns:

ColumnType
TitleSingle line of text
DescriptionMultiple lines of text
StatusChoice
RequestedByPerson
ApprovedByPerson
RequestDateDate and time

An organization wants an agent that can retrieve requests, create new requests, and initiate approvals.

There are several valid architectures.

14.1 Option A — Native SharePoint Connector

The agent uses supported SharePoint Connector operations.

This is often the simplest approach for a small number of operations.

It benefits from existing Power Platform integration capabilities.

The architect must still verify connection identity and authorization.

14.2 Option B — Power Automate

The agent invokes a flow that performs SharePoint operations.

This is appropriate when the business process involves several steps.

For example:

  1. Validate request data.
  2. Create the SharePoint item.
  3. Start an approval.
  4. Update the item.
  5. Return a result.

The flow becomes the operational boundary for the business process.

14.3 Option C — REST API

The agent invokes a purpose-built API that interacts with SharePoint.

This may be appropriate when the organization already has a backend service implementing its business rules.

The API can provide a stable contract independent of the agent.

14.4 Option D — MCP Server

The organization exposes SharePoint-related business capabilities through a shared MCP Server.

For example:

get_my_requests()
get_request_details(requestId)
create_request(title, description)
submit_request_for_approval(requestId)

Internally, the server could use SharePoint REST APIs or Microsoft Graph.

This architecture may be justified when several AI applications need the same capabilities.

It is less attractive when only one agent needs one simple SharePoint operation.


15. Designing an Enterprise MCP Server

An enterprise MCP Server should not be designed as an unrestricted gateway to all corporate systems.

Instead, it should expose a curated collection of business capabilities.

For example:

CorporateRequestsMCP
|
|-- get_my_requests
|
|-- get_request_details
|
|-- create_request
|
|-- submit_request_for_approval

Each Tool should have:

  • A clear business purpose.
  • A descriptive name.
  • A constrained input schema.
  • Defined output behavior.
  • Appropriate authentication.
  • Independent authorization checks.
  • Input validation.
  • Error handling.
  • Audit logging.
  • Documented operational limits.

15.1 Business-Oriented Tools

A Tool such as:

approve_purchase_request(requestId)

is easier to understand and govern than:

execute_http(method, url, body)

The first represents a specific business operation.

The second provides broad technical capability that may allow unintended actions.

15.2 Avoid Excessive Tool Granularity

Extremely granular Tools may force the agent to coordinate many low-level operations.

For example:

get_list
get_item
update_field
send_email
create_task

This may be less reliable than exposing a cohesive business operation:

submit_request_for_approval(requestId)

The correct granularity depends on the workflow.

A good Tool should represent a meaningful capability with a well-defined outcome.


16. Authentication and Authorization

Security is one of the most important dimensions of enterprise agent integration.

MCP, REST APIs, and Connectors can all be implemented securely or insecurely.

The protocol alone does not guarantee proper access control.

16.1 Authentication

Authentication establishes the identity of the caller.

Depending on the integration, this may involve OAuth 2.0, API keys, managed identities, or other supported mechanisms.

For enterprise integrations involving Microsoft Entra ID, OAuth-based authorization is frequently relevant.

16.2 Authorization

Authorization determines which operations and resources an identity may access.

Authentication and authorization are not interchangeable.

A valid token does not automatically grant permission to every business operation.

16.3 Delegated Permissions

With delegated access, an application acts in the context of a signed-in user.

The effective access depends on the delegated permissions granted and the user’s access to the target resource.

For SharePoint Online, this can help preserve user-specific access boundaries.

However, the end-to-end token flow must be explicitly designed and verified.

16.4 Application Permissions

With application access, a backend operates using an application identity.

This can be appropriate for background services and controlled enterprise integrations.

However, application permissions do not automatically inherit the SharePoint permissions of the user interacting with the agent.

A backend using application permissions must enforce any required user-specific restrictions itself.

16.5 Least Privilege

An integration should receive only the permissions necessary for its purpose.

For example, a Tool that reads request statuses should not require broad write permissions across SharePoint.

Where appropriate, resource-scoped permissions and additional backend authorization controls should be considered.


17. The Confused Deputy Problem

An enterprise agent may operate through a backend that has greater permissions than the requesting user.

This creates a potential confused deputy problem.

Imagine an MCP Server with application permissions to read an entire SharePoint site.

A user asks the agent to retrieve a confidential document.

If the server simply executes the request using its application identity, it may expose information the user could not access directly.

The problem is not specific to MCP.

The same risk exists with REST APIs, Custom Connectors, and Power Automate flows using elevated credentials.

The architecture must ensure that the backend does not misuse its authority on behalf of a less-privileged caller.

Possible controls include:

  • Delegated access where appropriate.
  • Explicit authorization checks.
  • Resource-level access validation.
  • Restricting exposed operations.
  • Limiting application permissions.
  • Auditing access decisions.

Connecting an enterprise system to an agent must never be interpreted as granting every agent user access to that system.


18. Prompt Injection and Tool Execution

Generative AI introduces a security concern that traditional integration systems do not encounter in exactly the same form.

An agent may process untrusted content containing instructions intended to influence its behavior.

For example, a document retrieved from SharePoint could contain malicious text instructing the agent to invoke an administrative Tool.

This is a prompt injection scenario.

The agent should treat retrieved content as data, not as authoritative operational instructions.

However, Instructions alone are not sufficient protection.

Backend authorization and business validation remain essential.

18.1 Defense in Depth

A secure architecture should combine:

  1. Constrained Tool exposure.
  2. Clear Tool descriptions.
  3. Appropriate orchestration controls.
  4. Strong authentication.
  5. Independent authorization.
  6. Business rule validation.
  7. Confirmation for sensitive operations.
  8. Audit logging and monitoring.

The goal is to ensure that even if the model makes an incorrect decision, the backend prevents unauthorized operations.


19. Data Exfiltration Risks

An MCP Server or API integration may provide access to sensitive enterprise information.

If the agent can retrieve unrestricted data and transmit it to arbitrary destinations, the organization faces potential data exfiltration risks.

This is particularly important when integrating multiple systems.

For example:

SharePoint
|
v
Enterprise Agent
|
v
External API

The architect must consider whether sensitive information retrieved from SharePoint can be passed into another Tool.

Controls may include data minimization, restricted destinations, backend validation, environment policies, and monitoring.

Power Platform Data Loss Prevention policies and related governance capabilities should be evaluated according to the specific Connector and integration design.

For MCP-based integrations, equivalent controls may also be needed at the MCP Server, API gateway, and network layers.


20. Tool Discovery and Governance

Dynamic Tool discovery is one of MCP’s major architectural advantages.

It also creates governance requirements.

If a server changes the Tools it exposes, an agent’s available capabilities may change without the same manual configuration process used for individual API operations.

This can improve extensibility, but it requires controlled change management.

An enterprise should establish policies for:

  • Tool publication.
  • Tool naming.
  • Tool descriptions.
  • Input schema changes.
  • Permission changes.
  • Compatibility testing.
  • Deprecation.
  • Monitoring.
  • Approval of sensitive capabilities.

20.1 Tool Discovery Is Not Tool Trust

A Tool being discoverable does not establish that it is safe.

The enterprise must evaluate the server’s ownership, trustworthiness, security controls, and data handling.

Unknown or untrusted MCP Servers should not automatically be allowed to interact with sensitive corporate systems.


21. Versioning and Contract Evolution

Enterprise integrations evolve over time.

REST APIs commonly use explicit versioning strategies.

Custom Connectors depend on the contracts of their underlying APIs.

MCP Servers also require careful management of Tool schemas and behavior.

Consider a Tool originally defined as:

create_request(title, description)

Later, the organization introduces a required departmentId parameter.

Existing agents may not supply the new parameter.

This can break previously functioning integrations.

21.1 Compatibility Strategies

Possible approaches include:

  • Maintaining backward-compatible parameters.
  • Introducing a new Tool version.
  • Providing defaults when business rules permit.
  • Testing dependent agents before deployment.
  • Deprecating older contracts gradually.

MCP standardizes communication but does not eliminate application-level versioning responsibilities.


22. Error Handling

A robust integration must distinguish different categories of failure.

Examples include:

FailureExampleRecommended handling
AuthenticationInvalid or expired credentialsReauthenticate or report configuration issue
AuthorizationCaller lacks permissionDeny operation and return a safe explanation
ValidationInvalid request identifierRequest corrected input
Not foundRequest does not existReturn a clear not-found result
Rate limitingBackend returns HTTP 429Apply bounded retry or backoff
TimeoutBackend does not respondReport uncertainty and avoid false success
ConflictRequest already approvedReturn current state and conflict details
Backend failureERP unavailableReturn a controlled error

22.1 Avoid Fabricated Success

An agent must not report that an operation succeeded merely because it invoked a Tool.

Success should be determined from the actual execution result.

For operations that change business data, the response should ideally contain an identifier, resulting status, and relevant confirmation information.

22.2 Idempotency

Retries can cause duplicate operations.

For example, retrying a request creation operation may create two SharePoint items.

A production integration should consider idempotency keys, duplicate detection, and operation-specific retry rules.

Read-only operations are generally easier to retry safely than operations that create or modify records.


23. Observability and Monitoring

Enterprise integrations need visibility beyond conversational transcripts.

An architect should be able to answer:

  • Which Tool was invoked?
  • Which agent initiated the operation?
  • Which user or application identity was involved?
  • Which backend system was accessed?
  • How long did the operation take?
  • Did it succeed?
  • What error occurred?
  • Was the operation authorized?

23.1 Correlation Identifiers

A correlation identifier can connect activity across components.

For example:

Agent Conversation
|
| correlationId = abc-123
v
MCP Server
|
| correlationId = abc-123
v
REST API
|
v
SharePoint Online

Correlation improves troubleshooting and operational analysis.

23.2 Logging Sensitive Data

Logs should not indiscriminately record access tokens, credentials, confidential documents, or sensitive personal information.

Structured logging and data minimization are important.

The organization should define retention, access controls, and auditing requirements.


24. Performance and Latency

Every integration layer introduces processing and network overhead.

Consider two architectures.

Direct integration:

Agent → Connector → REST API

MCP integration:

Agent → MCP Server → REST API

The MCP architecture adds a protocol and server boundary.

This does not automatically make it unacceptably slow.

Performance depends on implementation, hosting, networking, backend latency, connection reuse, and workload.

However, additional layers should be justified.

24.1 Latency Budget

For each operation, consider:

  • Tool selection time.
  • Connection establishment.
  • Authentication overhead.
  • MCP Server processing.
  • Backend execution.
  • Network round trips.
  • Response transformation.

An enterprise architecture should measure these factors rather than assume that one integration mechanism is always faster.

24.2 Tool Design and Performance

A business-oriented Tool that performs several backend operations efficiently may outperform a sequence of many granular Tool invocations.

For example:

submit_request_for_approval(requestId)

may be preferable to an agent separately invoking operations to retrieve an item, validate its status, update it, and notify an approver.

The backend can coordinate the workflow more predictably.


25. API Management and Enterprise Integration

API Management can play an important role in enterprise integration architectures.

It provides a managed boundary for APIs and can support policies for security, traffic control, observability, and lifecycle management.

An architecture may look like:

Copilot Studio Agent
|
v
MCP Server
|
v
API Management
|
v
Enterprise REST APIs

This design separates AI-oriented Tool exposure from the underlying API governance layer.

The MCP Server provides the Tool interface.

API Management governs API traffic and policies.

The backend implements business logic.

These responsibilities complement one another.

25.1 Avoid Unnecessary Layers

Not every organization needs an MCP Server, API Management, Power Automate, and a Custom Connector in the same request path.

Each layer should provide a clearly defined capability.

Adding layers without architectural justification increases maintenance, troubleshooting complexity, and potentially latency and cost.


26. Deployment and Infrastructure Responsibilities

A Custom Connector primarily requires integration configuration and an accessible backend.

A custom MCP Server introduces additional infrastructure responsibilities.

Depending on the chosen hosting architecture, these may include:

  • Application hosting.
  • Network connectivity.
  • TLS configuration.
  • Authentication.
  • Secret management.
  • Monitoring.
  • Scaling.
  • Availability.
  • Deployment automation.
  • Patch management.

Possible hosting environments include Azure application hosting services and container-based platforms.

The appropriate choice depends on workload, organizational standards, security requirements, and operational capabilities.

26.1 High Availability

If multiple agents depend on one MCP Server, its availability becomes important.

A shared server can improve reuse, but it can also become a shared point of failure.

Production architecture should consider redundancy, health checks, capacity planning, and recovery procedures.


27. Reuse Across Multiple AI Clients

One of MCP’s most compelling architectural properties is its potential for reuse across compatible AI applications.

Suppose an organization has:

  • A Copilot Studio Agent.
  • An internal AI development assistant.
  • A separate enterprise AI application.

All three need access to corporate request-management capabilities.

Instead of implementing separate proprietary integrations, the organization may expose a common MCP Server.

Copilot Studio Agent ----\
\
Internal AI Assistant ----- MCP Server
/
Enterprise AI App -------/
|
v
Corporate APIs

This architecture can centralize Tool contracts and business integration logic.

However, reuse depends on compatibility between the MCP Server and each client, including supported protocol capabilities and authentication requirements.

A common protocol reduces integration friction; it does not guarantee universal interoperability.


28. MCP and Microsoft Copilot Studio

Microsoft Copilot Studio supports integration with MCP Servers in documented agent experiences.

An MCP Server can expose Tools that the agent may use during orchestration.

The exact configuration process depends on the Copilot Studio experience, supported transport, authentication configuration, and current product capabilities.

28.1 Existing MCP Servers

A developer can connect a compatible existing MCP Server to a supported Copilot Studio agent.

The server provides its Tool definitions through MCP.

28.2 Custom MCP Servers

Organizations can implement their own MCP Servers to expose internal business capabilities.

For example, a server may provide operations for a corporate SharePoint request-management system.

28.3 Copilot Studio as an MCP Server

There is also a separate integration direction in which external compatible clients interact with Copilot Studio capabilities through an MCP-based interface.

This should not be confused with an agent consuming an external MCP Server.

The distinction between MCP Client and MCP Server remains essential.

28.4 Product Experience and Feature Availability

Copilot Studio evolves rapidly.

Architects should verify the currently supported harness, transport, authentication methods, feature maturity, and licensing requirements before committing to a production design.

Preview functionality should be evaluated separately from generally available capabilities.


29. Choosing the Right Architecture

The best integration approach depends on the problem.

Consider the following scenarios.

RequirementInitial architectural preferenceReason
Answer questions about SharePoint policiesSharePoint Knowledge SourceNative Retrieval and Grounding
Retrieve a SharePoint list itemSharePoint ConnectorSimple managed integration
Create an item and start approvalPower AutomateBusiness workflow orchestration
Call an existing corporate REST APIREST Tool or Custom ConnectorReuse an established API
Reuse an API across Power Platform solutionsCustom ConnectorManaged Power Platform integration
Expose shared capabilities to multiple MCP clientsMCP ServerStandardized AI Tool interface
Govern many enterprise APIsAPI ManagementCentralized API policies
Execute a complex transactionBackend business serviceControlled transactional logic

These are architectural starting points, not universal rules.

Actual decisions must consider security, product support, existing infrastructure, maintenance, cost, and operational requirements.


30. Architecture Decision Framework

A practical decision process can begin with five questions.

Question 1: Does the Agent Need Knowledge or an Operation?

If the requirement is to answer questions from documents, begin by evaluating Knowledge Sources.

Do not introduce an operational Tool without a clear need.

Question 2: Is There a Native Connector?

If a supported Connector already performs the operation, evaluate it before developing a custom integration.

Question 3: Is Business Workflow Orchestration Required?

If the operation involves approvals, notifications, or several coordinated steps, Power Automate may be appropriate.

Question 4: Does the Organization Already Have an API?

If a well-governed REST API exists, reuse it.

A Custom Connector may provide the appropriate Power Platform abstraction.

Question 5: Must Capabilities Be Reused Across Compatible AI Clients?

If multiple AI applications need a shared Tool interface, MCP deserves serious consideration.

The organization should evaluate whether the benefits justify operating an MCP Server.


31. Common Architectural Mistakes

Mistake 1: Using MCP for Every Integration

MCP is not mandatory for enterprise agents.

A native Connector may be simpler, more maintainable, and more cost-effective.

Mistake 2: Treating MCP as a REST Replacement

MCP and REST solve different integration problems.

An MCP Server can use REST APIs internally.

Mistake 3: Confusing Tool Discovery with Authorization

Discovering a Tool does not establish permission to execute it.

Authorization must be enforced independently.

Mistake 4: Giving Agents Generic Administrative Tools

Unrestricted HTTP, database, or administrative Tools create unnecessary risk.

Business-oriented capabilities are generally easier to govern.

Mistake 5: Assuming Connector Credentials Represent the User

A connection may execute with credentials that differ from the end user’s identity.

Runtime identity must be verified.

Mistake 6: Ignoring Backend Business Rules

A well-defined Tool schema does not guarantee that an operation is valid.

The backend must enforce business constraints.

Mistake 7: Introducing Excessive Integration Layers

Combining multiple technologies without a clear purpose can increase complexity without improving the solution.


32. Recommended Enterprise Architecture Principles

The following principles provide a practical foundation for enterprise agent integration.

Principle 1 — Prefer the simplest supported integration.

Do not introduce custom infrastructure when a native capability adequately solves the problem.

Principle 2 — Expose business capabilities, not unrestricted technical access.

Tools should represent bounded operations.

Principle 3 — Keep authorization outside the language model.

The backend must enforce permissions and business rules.

Principle 4 — Reuse existing enterprise APIs.

Avoid duplicating mature business logic inside individual agents.

Principle 5 — Treat Tool contracts as production interfaces.

Apply versioning, compatibility testing, monitoring, and change management.

Principle 6 — Design for operational failure.

Handle timeouts, retries, duplicate execution, partial failure, and unavailable services.

Principle 7 — Preserve identity boundaries.

Understand exactly which principal executes each operation and what data it can access.

Principle 8 — Adopt MCP where standardization creates measurable value.

MCP is especially interesting when several compatible AI clients require access to shared capabilities.


33. Final Technical Comparison

REST APIs, Power Platform Connectors, Power Automate, and MCP are best understood as complementary integration mechanisms.

TechnologyArchitectural rolePrimary value
REST APIApplication integration contractDirect, interoperable service access
OpenAPIAPI description contractMachine-readable API definitions
Power Platform ConnectorManaged service integrationReusable operations within Power Platform
Power AutomateWorkflow orchestrationCoordinated business processes
MCPAI integration protocolStandardized Tool discovery and invocation
MCP ServerAI capability providerShared interface to enterprise functionality
API ManagementAPI governance layerCentralized policies and observability

An enterprise solution may use several of these technologies together.

For example:

User
|
v
Copilot Studio Agent
|
v
MCP Server
|
v
Corporate REST API
|
v
SharePoint Online

Alternatively, a simpler implementation may be sufficient:

User
|
v
Copilot Studio Agent
|
v
SharePoint Connector
|
v
SharePoint Online

The second architecture is not inherently less sophisticated.

If it meets the functional, security, operational, and governance requirements, it may be the better design.


34. Conclusion

The emergence of MCP represents an important step toward standardized integration between AI applications and external capabilities.

However, MCP should not be interpreted as a replacement for REST APIs, Power Platform Connectors, or traditional workflow automation.

REST APIs remain foundational interfaces for enterprise systems.

Power Platform Connectors provide managed access to services within Microsoft’s low-code ecosystem.

Power Automate coordinates business processes.

MCP introduces a standardized interface through which compatible AI clients can discover and invoke capabilities exposed by MCP Servers.

The architectural decision should therefore be driven by the integration problem rather than the popularity of a particular technology.

For a simple SharePoint operation, a native Connector may be the most appropriate solution.

For a multi-step approval process, Power Automate may provide the clearest implementation.

For an existing enterprise API, a REST integration or Custom Connector may be sufficient.

For reusable AI-oriented capabilities shared across multiple compatible clients, an MCP Server may provide substantial architectural value.

Regardless of the technology selected, the essential enterprise requirements remain the same: secure identity handling, explicit authorization, least privilege, reliable execution, observability, governance, and maintainability.

The goal is not to maximize the number of technologies in an agent architecture. It is to expose the right business capabilities through the simplest secure and sustainable integration model.


35. Learning Journey — Article 39/50

This article builds on the previous discussion of MCP fundamentals by comparing MCP with established enterprise integration mechanisms.

The key concepts are:

  • REST APIs expose application resources and operations.
  • OpenAPI describes HTTP API contracts.
  • Power Platform Connectors provide managed integration operations.
  • Power Automate supports business workflow orchestration.
  • MCP standardizes discovery and invocation of AI-oriented capabilities.
  • MCP Servers can reuse existing REST APIs and backend services.
  • Tool discovery does not replace authorization.
  • Enterprise integration decisions must account for security, operations, and governance.

Next Article — Article 40/50: Designing an Enterprise MCP Architecture

The next article will examine how to design a production-oriented MCP architecture, including server boundaries, Tool catalogs, authentication, deployment, governance, monitoring, and integration with Microsoft Copilot Studio and SharePoint Online.


36. Official References and Further Reading

Microsoft Learn

  1. Add an existing MCP server to your agent — Microsoft Copilot Studio
  2. Create a new MCP server — Microsoft Copilot Studio
  3. Plan and design integration strategies — Microsoft Copilot Studio
  4. Copilot connectors versus Power Platform connectors
  5. Custom connectors overview — Microsoft Power Platform
  6. Microsoft Graph documentation
  7. SharePoint REST service overview
  8. Microsoft Entra ID documentation
  9. Azure API Management documentation

Open Standards

  1. Model Context Protocol — Official Specification
  2. OpenAPI Specification
  3. JSON-RPC 2.0 Specification

Part of the 50-article technical series exploring Microsoft Copilot Studio, Enterprise AI Agents, SharePoint Online, Power Platform, and modern enterprise integration architectures.

Edvaldo Guimrães Filho Avatar

Published by