Back to Case Studies

Connecting AI to Business Systems with MCP

Built a Model Context Protocol server that gives Claude secure, role-aware access to ticketing, remote support, networking, warranty, and Microsoft 365 data.

MCPClaudePythonAzure

The business problem

A generic AI assistant can explain how to fix a problem but cannot see the machine, the ticket, or the network involved. Technicians were moving between separate vendor consoles to answer simple questions: is this computer online right now, what is the status of this ticket, what is this office’s internet connection doing, is this device still under warranty.

The aim was to let the AI tools answer those questions from live data, without handing over broad credentials or creating a way to bypass existing permissions.

One connector, several systems

Built a Model Context Protocol (MCP) server in Python that exposes five systems through a single connector: the ticketing platform, a remote-support tool, network management, hardware warranty lookup, and Microsoft Graph. Each capability is a named, narrow tool instead of open-ended access. Examples include looking up a session, checking an uplink, reading ticket history, or running a fleet warranty audit that joins asset inventory to vendor entitlements.

Read access is the default. The write actions that exist are deliberately limited, such as adding a ticket note, adjusting group membership, or resetting a password.

Putting the trust boundary at identity

The server ties access to who is signed in rather than relying on the model to behave. An identity-provider connector restricts who can connect at all. Microsoft Graph calls run on behalf of the signed-in technician, so the connector can never do more than that person is already allowed to do. Ticketing actions resolve each technician’s own credentials, which keeps the audit log attributed to the right person.

Additional safeguards sit in the command path: a denylist for destructive remote commands, secret redaction on anything logged or posted to a ticket, and server-side secret handling.

Deployment

The server runs as a container on Azure Container Apps, using streamable HTTP so any Claude project can connect by URL, with a health probe and a scripted deployment. Configuration comes from environment variables only.

The result

Technicians can ask questions in plain language and get answers grounded in current data from their own systems. The connector complements a periodically synced data store: that store handles history and analysis, while the connector answers what is happening right now.

Because permissions follow the signed-in user, adding AI to the workflow did not create a new, broader way into the same systems.

Explore more case studies

See how software, automation, and infrastructure address different business needs.

View Case Studies