Apexloop as a data source for AI agents: the MCP server in practice

Apexloop has its own MCP server. We walk through one concrete example of how an AI agent connects to your workspace, what it can read, how it proposes a change, and why writing always waits for your approval.

Marek Raja

The article What is MCP and why it's set to become the standard for business data covered where the protocol as a whole is heading. This one is more concrete: Apexloop has its own MCP server, and this text shows what that means in practice for the workspace you already use.

What the Apexloop MCP server can do today

The server gives an AI agent access to three things: tools for reading and writing (find a job, look up a contact, update a status, create a record), resources - data from your databases, documents and views - and context about the workspace, so the agent knows what entities and relations exist in your data, not just what one particular table is called.

An agent connects with exactly the permissions of the person who connected it to Apexloop. It sees nothing extra - only what you yourself would reach through the regular interface.

What this looks like in one example

1. The agent connects over MCP. In Claude, ChatGPT or another MCP client, you enter the address of your Apexloop MCP server and sign in with the same account you use in the app.

2. You ask the agent about a job's status. For example: "How's job 482 doing?" The agent calls a read tool, the workspace returns the data - client, deadline, current status, history - and the agent summarises it in its answer.

3. You ask for a change. "Mark it as done." The agent calls a write tool, but it doesn't run right away - it creates a proposed change that waits for your confirmation.

4. You decide. In Apexloop (or right inside the conversation with the agent, if the client supports it) you see exactly what the agent is proposing to change. You approve, or you reject.

5. Only then does the write happen. The agent gets confirmation that the change went through - with the same entry in the record's history as if you'd edited the field yourself.

Free to read, writes with approval

This is the exact same principle that already applies to the AI assistant over the workspace inside Apexloop - the MCP server just opens it up to agents outside our own app too.

Why writing always waits for approval

This isn't a temporary limitation - it's deliberate default behaviour. An agent can get things wrong - misidentify which job you mean, or assume a value you never gave it. An approval step means the mistake surfaces in ten seconds while you're confirming, not a week later when you notice something's off.

Can writing be allowed without approval?

For select, well-tested actions, yes - typically repeated, simple operations where the risk of a mistake is low. But the default stays "propose, human confirms," and it's up to you which steps you choose to exempt from that rule.

What you need for it

WhatWhy it's needed
MCP server turned on in the workspaceWithout it, no agent can connect
Permissions set for the user the agent connects asThe agent sees exactly what that user sees - nothing more
An approval step for writingDecides whether a proposal runs right away, or waits for you

None of this needs custom development - it's a setting, not code.

Where the limits are

  • The agent doesn't see data across the whole company, only what the connected user has access to. The same visibility rules that apply inside the app apply over MCP.
  • Writing without approval isn't the default. If you want to allow it for a specific action, that's a deliberate decision, not a side effect of turning MCP on.
  • The agent doesn't understand things that aren't in the data. If a job has no deadline or client filled in, the agent won't guess one - it will ask, or leave the field empty.

How Apexloop handles who on a team sees which data is covered in the guide Access rights and data visibility. What MCP is and how it works in general is explained in the definitional article on the Model Context Protocol, and you'll find the term in the glossary too.

Frequently asked questions about the MCP server in Apexloop

How do I connect an agent to Apexloop?

In the workspace settings, you turn on the MCP server and generate access credentials. You then enter those into an MCP client - Claude, or another tool that supports the protocol.

Does the agent see data I don't have access to?

No. The agent connects as a specific user and inherits exactly that user's permissions - no "bonus" access on top.

Can I disable writes over MCP entirely and allow only reading?

Yes, the MCP server can be restricted to read-only. The agent can then look up and summarise data, but can't propose any changes.

Does this work with any AI tool?

With any tool that supports MCP as a client - today mainly Claude and tools built on it, but more are being added.

Describe how you want to connect an AI agent.

Apexloop builds a custom app for you