Skip to content

What is MCP?

MCP (Model Context Protocol) is a standard protocol that lets the agent call external tools over HTTP. Instead of encoding business rules into oHallo, MCP lets the agent reach out to your systems at runtime, querying your database, calling your APIs, and executing your workflows.

oHallo uses MCP as the bridge between its agents and your business systems. Your pricing rules, order workflows, inventory checks, and approval chains stay in your infrastructure. oHallo’s agents call them when they need to.

Traditional integrations require you to push data into the automation platform, map fields, and maintain synchronisation. MCP inverts this:

  • Your logic stays yours. Pricing calculations, discount rules, and stock checks live in your MCP server, running against your database. oHallo never models your business domain.
  • No data replication. The agent queries your system at the moment it needs the data, so there is no ETL pipeline and no sync job to maintain.
  • Swap without retraining. Migrating from one ERP to another? Update your MCP server. The agents do not need any changes. They call the same tool names, and your new server returns the same shape of data.
  • Full control over security. Your MCP server runs on your infrastructure. You decide what data to expose, what operations to allow, and what authentication to require.

When a customer sends a message, oHallo’s agent pipeline processes it through several stages. Here is the flow when an agent needs to call your systems:

Customer message
|
v
Orchestrator : classifies intent, determines which specialist agents to invoke
|
v
Specialist Agent : e.g. "Order Lookup Agent", assigned your MCP tools
|
v
MCP Hub : routes the tool call to the correct MCP server, handles auth
|
v
Your MCP Server : receives the call, queries your system, returns structured data
|
v
Your Database / API : the source of truth for orders, products, accounts, etc.
  1. The Orchestrator reads the customer’s message and decides what information is needed. For example: “The customer is asking about their order status, so I need the Order Lookup Agent.”
  2. The Specialist Agent has access to specific MCP tools. It decides which tool to call and with what parameters. For example: get_order({ orderNumber: "ORD-48291" }).
  3. MCP Hub is oHallo’s internal router. It looks up which MCP server provides the get_order tool, checks the call against the tool’s guardrails, attaches authentication credentials, and forwards the request.
  4. Your MCP Server receives the JSON-RPC call, queries your order database, and returns structured data such as order status, line items, and tracking information.
  5. The agent uses the returned data to compose a response to the customer.

An MCP server exposes tools, functions that agents can call. Each tool has a name, a description (which agents read to decide when to call it), an input schema, and a handler function.

Typical tools include:

ToolPurpose
get_orderLook up an order by order number
search_productsSearch product catalog by name, category, or SKU
create_quoteGenerate a price quote for a set of items
check_inventoryCheck stock levels for a product at a given warehouse
get_customerRetrieve customer account details
list_invoicesList invoices for a customer account
submit_returnInitiate a return or exchange request
get_shipping_statusTrack a shipment by tracking number

You can expose as many or as few tools as you need. Start with one or two, and add more as you identify what your customers ask about.

Every call to your server runs under these rules:

  • The credential you register is sent on every request. When you register an MCP server with oHallo, you give it the credential your server checks, such as an API key that MCP Hub sends as a Bearer token. Your server validates it before executing any tool call.
  • Credentials are held in a secret store. API keys and tokens are held in a dedicated secret store, and the connection’s record in oHallo holds only a reference to them.
  • Your server answers what is asked. Your MCP server runs wherever you choose: your own cloud, on-premise, or any host oHallo reaches at a public address. oHallo sends a tool call and receives its answer, and records each call an agent makes, with its arguments and its answer, on the conversation, where the dashboard’s Inspect panel and the tool calls API show it.
  • Every tool is governed. A tool is called only once it has a risk classification, and every call passes the guardrails set on the connection. An agent calls a tool only once an administrator has also declared whose records it returns, and oHallo verifies a customer through the lookup tool an administrator designated for it.
  • Account isolation is enforced. Every tool call includes a tenantId parameter injected by MCP Hub. Your server can use this to enforce data isolation if you serve multiple oHallo accounts.

MCP server vs. REST API, when to use which

Section titled “MCP server vs. REST API, when to use which”

oHallo provides two integration paths. Choose based on what you are building:

Use caseIntegration
Let agents query your systems during conversationsMCP server: expose tools that agents call
Read or write oHallo data from your own applicationsREST API: call oHallo’s endpoints with an API key
Sync your product catalog into oHallo’s knowledge baseREST API: POST entries to the KB endpoint
Build a dashboard that shows conversation analyticsREST API: GET conversations, contacts, metrics
Let agents check stock levels in your warehouse systemMCP server: expose a check_inventory tool
Approve or reject knowledge base proposalsREST API: the approve and reject endpoints of the knowledge base
Register and govern the MCP connections themselvesREST API: MCP Connections

In many setups, you will use both: an MCP server so agents can call your systems, and the REST API to push data into oHallo or pull analytics out.