Skip to content

Guide · MSP

MCP servers for MSPs: Autotask, ConnectWise, HaloPSA, IT Glue, NinjaOne, CIPP and more

Updated Published By the actionlake team

An MSP's AI agent needs to reach the PSA, the RMM, the documentation platform, Microsoft 365 and the distributor, usually for one question. You can run one community MCP server per tool, or connect them all once through an MCP gateway. actionlake is an MCP gateway that connects 19 MSP tools today through one endpoint, among them ConnectWise PSA (927 actions), CIPP (710) and HaloPSA (465). This guide lists the MSP tools actionlake connects today, with action counts from our service files, and shows how to give each technician's agent its own limits.

We list only connectors we ship. We make no ranking claims about other servers. Where a vendor or the community publishes its own MCP server, it may suit a single-tool job, and the MCP server vs MCP gateway guide explains when each fits.

The MSP connectors, by job

Counts are actions in each connector's signed service file, counted on 22 October 2026. "Preview" means the connector ships a few actions today and is growing.

ConnectorActionsJob
Autotask62PSA: tickets, time, contracts, projects, billing
ConnectWise PSA927PSA: service boards, time, agreements, finance, sales
HaloPSA465PSA and service desk: tickets, assets, contracts, invoices
Kaseya BMS363PSA: service desk, CRM, finance
Syncro190PSA and RMM: tickets, assets, invoices
RepairShopr186Tickets, assets, invoices
NinjaOne244RMM: devices, alerts, scripts, organisations
ConnectWise Automate235RMM: computers, alerts, commands
Atera86RMM and tickets: agents, devices, tickets
ConnectWise ScreenConnect12Remote access sessions
IT Glue228Documentation: organisations, configurations, passwords
HudupreviewDocumentation: companies, assets
CIPP710Microsoft 365 multi-tenant management
Microsoft 365 Users274Users, groups, sessions, passwords
Pax899Distribution: companies, subscriptions, usage
Microsoft Partner CenterpreviewPartner customers and subscriptions
ScalePad378Lifecycle and vCIO: assets, agreements, initiatives
DNSFilter245DNS security: networks, policies, agents
AnyPrint47Print management

Accounting sits beside these: Xero, QuickBooks Online and others. That is what lets an agent compare what was worked with what was billed.

The Monday-morning questions

These are the questions MSP owners and service managers ask first. Each needs one or two of the tools above.

QuestionSystems
"Which clients have open urgent tickets older than three days?"PSA
"Which devices have had the same alert all weekend?"RMM
"Which Microsoft 365 users signed in from a new country this week?"CIPP
"Which licence subscriptions renew this month, and for whom?"Pax8
"Which clients are overdue on an invoice and still raising tickets?"PSA and accounting
"Which warranties expire next quarter?"ScalePad

An agent answers single-system questions with do. For two systems it uses ask, which joins the rows on the shared company and returns only the answer. See cross-system questions.

Connect once, then give every technician a key

Connect each tool once, with an API user that has the access your agents need and no more. Then mint a key per technician's agent from the console, or with your root key over REST:

{
  "name": "tech-alex",
  "holder": "agent",
  "allowed_actions": [
    "autotask.read:*", "autotask.ticket_notes.create", "autotask.time_entries.create",
    "ninjaone.read:*", "itglue.read:*"
  ],
  "cap_calls": 3000,
  "confirm_policy": "human"
}

A technician's agent can now read the PSA, the RMM and the documentation, add notes and log time, and nothing else. itglue.read:* does not cover itglue.passwords.get: a read that reveals a stored secret needs a grant that names it, so a passwords grant is always a deliberate choice.

Approvals for the actions that hurt

Some MSP actions are hard to undo: resetting a password, revoking sessions, offboarding a user, deleting tickets. They are marked destructive in the service files, for example cipp.identity.exec_reset_pass, cipp.identity.exec_offboard_user and m365_graph_users.users_revoke_sessions. Under confirm_policy: human, a destructive action waits for a person. Add approval_rules to name who:

{
  "approval_rules": [
    { "match": "cipp.write:*", "approver": "[email protected]" },
    { "match": "autotask.tickets.delete", "approver": "[email protected]" }
  ]
}

The run waits. The approver gets an email with a signed link, or decides in the console. See human-in-the-loop approval.

Protect the vendor API limits

PSA and RMM vendors limit API requests per hour or per minute, per instance. Your own syncs and integrations share that limit with your agents. Three controls keep agents inside it:

  • Caps per key in upstream calls, refused before the call is sent. A parent key's cap bounds every technician key under it.
  • A cache. Repeated reads are answered without calling the vendor, and a cache hit costs nothing.
  • Pacing. actionlake paces calls to each vendor's published rate limit.

Ready-made plans and schedules

The plan store holds 899 pre-written plans, including MSP ones such as halopsa-triage-open-tickets, autotask-log-time-against-ticket, connectwise_manage-close-resolved-tickets-with-approval and ninjaone-alert-storm-clear. Install one into your tenant:

{ "op": "plans.install", "slug": "halopsa-triage-open-tickets", "intent": "Weekly triage for the service desk." }

Then run it on a schedule. actionlake has no event triggers or webhooks by design; schedules and agents start the work. A plan that asks "what is new since the last run?" covers most trigger cases:

{
  "op": "schedules.save",
  "name": "monday-triage",
  "plan": "plan.halopsa-triage-open-tickets",
  "cron": "0 8 * * 1",
  "timezone": "Pacific/Auckland",
  "intent": "Monday 8am triage of open tickets for the service manager."
}

See agent plans.

Rolling it out to a service desk

Start with one PSA, read-only, for the service manager. The first week shows which questions people ask and how many calls they take. Then give each technician a key with notes and time entries. Add the RMM and documentation reads next. Leave CIPP and Microsoft 365 writes for last, behind approval rules naming your security lead. Each step is a key change; the connections stay as they are, and every step is in the ledger.

What to check in any MSP MCP setup

CheckWhy it matters for an MSP
Where the API user's secret livesOne leaked PSA secret exposes every client
Per-technician scopeA junior's agent should not offboard users
Approvals on destructive actionsPassword resets and offboarding are client-visible
Caps and cachingAgents must not starve your PSA syncs of API headroom
A record per call, with intentClients and insurers ask who did what
One join across PSA and accountingBilling leakage is found across systems, not inside one

Frequently asked questions

Which PSA works best with AI agents?

Any PSA with a solid API works. What matters more is how the agent reaches it: scoped keys, caps, approvals and a record. actionlake connects Autotask, ConnectWise PSA, HaloPSA, Kaseya BMS, Syncro and RepairShopr, and their ticket actions share the canonical name service.ticket.create, so the same agent prompt works on each.

Can one agent work across several client tenants?

Yes, within what the connected tools allow. A PSA already covers every client. CIPP manages many Microsoft 365 tenants from one connection. For tools connected per client, give each connection a name and the agent picks it on each call.

Do I need to host anything?

No. actionlake is a hosted remote MCP server at https://connect.actionlake.com/mcp, running in Sydney, Australia. Your MCP client connects to it over HTTPS with OAuth.

What does it cost an MSP?

You pay per upstream call sent to a vendor. Cache hits, searches, dry runs and failures you did not cause (a vendor's 401, 403, 429, 5xx or a timeout) are free. Free includes 100,000 calls a month; Starter is US$49 for 250,000; Pro is US$149 for 750,000; Team is US$399 for 2,000,000. For scale: ten technicians whose agents make 150 calls each working day use about 33,000 calls a month. The calls fit any plan, so an MSP chooses by connections and enabled schedules, usually one per client. See pricing.

Try it on your own systems.

100,000 free calls a month. No card. Hard caps on every key.