Connect ManageEngine ServiceDesk Plus to Claude: Track Asset Records
Learn how to connect ManageEngine ServiceDesk Plus to Claude using a managed MCP server. Automate ITIL workflows, track assets, and resolve tickets via AI.
If you need to connect ManageEngine ServiceDesk Plus to Claude to automate ITIL workflows, track hardware assets, manage change requests, or resolve help desk tickets, you need a Model Context Protocol (MCP) server. This server acts as the translation layer between Claude's natural language tool calls and ManageEngine's REST APIs. You can either build and maintain this infrastructure yourself, or use a managed integration platform like Truto to dynamically generate a secure, authenticated MCP server URL.
If your team uses ChatGPT, check out our guide on connecting ManageEngine ServiceDesk Plus to ChatGPT or explore our broader architectural overview on connecting ManageEngine ServiceDesk Plus to AI Agents.
Giving a Large Language Model (LLM) read and write access to a strict, compliance-heavy IT Service Management (ITSM) ecosystem like ManageEngine ServiceDesk Plus (SDP) is an engineering challenge. You have to handle complex token lifecycles, map highly nested JSON schemas to MCP tool definitions, and deal with strict state-machine transitions for tickets. Every time the vendor updates an endpoint, you have to update your server code, redeploy, and test the integration.
This guide breaks down exactly how to use Truto to generate a secure, managed MCP server for ManageEngine ServiceDesk Plus, connect it natively to Claude, and execute complex IT operations using natural language.
The Engineering Reality of the ManageEngine ServiceDesk Plus API
A custom MCP server is a self-hosted integration layer. While the open MCP standard provides a predictable way for models to discover tools, the reality of implementing it against ManageEngine SDP's APIs requires significant domain knowledge. You are interacting with a strict ITIL framework where incidents, problems, and changes operate on entirely different lifecycle rules.
If you decide to build a custom MCP server for ManageEngine SDP, you own the entire API lifecycle. Here are the specific challenges you will face:
The User-Defined Field (UDF) Minefield
Enterprises heavily customize ManageEngine SDP. Almost every request, asset, and problem record contains a udf_fields object. Because these fields are custom per tenant, their keys and data types are entirely unpredictable. Exposing raw UDFs directly to an LLM often results in hallucinated updates, as the model attempts to guess the required data types. A proper integration layer must dynamically inspect the schema and guide the LLM on exactly how to format udf_fields for that specific environment.
Strict ITIL State Machine Transitions ManageEngine SDP enforces strict validation on status transitions. You cannot simply update a ticket's status to "Closed" via a generic PATCH request if the ITSM rules dictate that a resolution note and closure code are mandatory. If an LLM attempts to close a ticket without the required payload, the API throws validation errors. The MCP server must expose specific, context-aware tools (like adding a resolution note) rather than generic CRUD operations.
Fragmented Entity Hierarchies
The ManageEngine SDP data model heavily segregates ITIL processes. A user reporting an outage creates a request (Incident). If multiple requests pile up, an IT admin creates a problem. If fixing the problem requires infrastructure updates, it spawns a change, which contains nested tasks. Gathering context on a single outage requires an agent to navigate across four different API resource boundaries, matching foreign keys between endpoints.
How to Generate a Managed MCP Server for ManageEngine ServiceDesk Plus
Instead of writing and hosting a custom Node.js or Python server to handle ManageEngine's quirks, you can use Truto to dynamically generate a managed MCP server.
Truto reads the API definitions and documentation for your connected ManageEngine ServiceDesk Plus instance and automatically compiles them into an MCP JSON-RPC 2.0 endpoint. This endpoint maps the API's resources into discrete, callable tools that Claude natively understands. Crucially, tools are derived dynamically - if a ManageEngine endpoint lacks documentation, it is excluded from the server to act as a quality gate against AI hallucinations.
You can create this MCP server in two ways.
Method 1: Via the Truto UI
For quick setups and testing, the dashboard provides a fast path to generating a server URL:
- Navigate to the Integrated Accounts page in your Truto dashboard and select your connected ManageEngine ServiceDesk Plus account.
- Click the MCP Servers tab.
- Click Create MCP Server.
- Select your desired configuration (e.g., restrict to
readmethods only, or filter by specific tags likeassets). - Copy the generated MCP server URL. It will look like
https://api.truto.one/mcp/a1b2c3d4e5f6....
Method 2: Via the Truto API
For programmatic orchestration - such as spinning up temporary MCP servers for automated infrastructure agents - you can create servers via the API.
The API generates a cryptographically hashed token, maps it to the specific integrated account, and provisions the JSON-RPC endpoint.
curl -X POST https://api.truto.one/integrated-account/{account_id}/mcp \
-H "Authorization: Bearer YOUR_TRUTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "IT Ops Agent Server",
"config": {
"methods": ["read", "update"],
"tags": ["tickets", "assets", "change_management"]
}
}'The response contains the secure URL you will provide to Claude:
{
"id": "mcp_8f7e6d5c",
"name": "IT Ops Agent Server",
"config": {
"methods": ["read", "update"],
"tags": ["tickets", "assets", "change_management"]
},
"expires_at": null,
"url": "https://api.truto.one/mcp/a1b2c3d4e5f6..."
}How to Connect the MCP Server to Claude
Once you have your Truto MCP server URL, connecting it to your AI framework takes less than a minute. You can configure this via the UI for desktop clients or via a configuration file for automated deployments.
Method A: Via the Claude UI (Desktop)
If you are using Claude Desktop to act as your daily IT assistant:
- Open Claude Desktop.
- Navigate to Settings -> Integrations -> Add MCP Server.
- Paste the Truto MCP URL into the connection field and click Add.
- Claude will immediately handshake with the server, discover the ManageEngine ServiceDesk Plus tools, and make them available in your chat context.
(Note: If you are configuring this for ChatGPT instead, the path is Settings -> Connectors -> Add.)
Method B: Via Manual Config File
If you are running Claude Desktop in a customized environment or using standard MCP client libraries, you can define the server in your claude_desktop_config.json file using Server-Sent Events (SSE).
{
"mcpServers": {
"manageengine-sdp": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sse",
"--url",
"https://api.truto.one/mcp/a1b2c3d4e5f6..."
]
}
}
}Hero Tools for ManageEngine ServiceDesk Plus
When connected, Claude gains access to ManageEngine SDP's API endpoints as structured tools. Truto automatically injects necessary pagination logic (like limit and next_cursor) and formats required parameters.
Here are the highest-leverage operations your AI agent can perform.
List All Help Desk Requests
list_all_manage_engine_service_desk_plus_requests
This tool retrieves the queue of help desk tickets. It returns high-level metadata including the id, subject, status, priority, requester, and technician. It is critical for triage and daily queue reviews.
"Claude, check the ManageEngine queue and list all high-priority requests that are currently unassigned in the networking group."
Get a Single Request by ID
get_single_manage_engine_service_desk_plus_request_by_id
Once a ticket is identified, this tool fetches the deep object data, including resolution history, due_by_time, and custom udf_fields. Agents use this to understand the full context of an ongoing issue.
"Retrieve the full details for request ID 8492. Tell me the current status and summarize the latest updates from the requester."
Create a Request Note
create_a_manage_engine_service_desk_plus_request_note
Automating communication is a massive time saver. This tool allows Claude to append work notes or customer-facing updates directly to a ticket.
"Add a note to request ID 8492 stating that the database migration is complete and we are monitoring the server logs for anomalies."
List All Assets
list_all_manage_engine_service_desk_plus_assets
This tool queries the physical and virtual assets tracked in ManageEngine SDP. It returns financial and lifecycle details including asset_tag, serial_number, ip_address, warranty_expiry, and current_cost.
"Find all MacBook Pro assets in the inventory that have a warranty expiring in the next 30 days."
List All Problems
list_all_manage_engine_service_desk_plus_problems
This tool retrieves the root cause analysis records (Problems) associated with recurring incidents. It returns fields like impact_details, root_cause, and symptoms.
"List all open problems related to the VPN gateway and show me their current impact details and assigned technicians."
List All Change Requests
list_all_manage_engine_service_desk_plus_changes
Change management requires strict oversight. This tool lists active change requests, allowing agents to monitor stage, status, risk, scheduled_start_time, and scheduled_end_time.
"Show me all emergency change requests scheduled for this weekend. Summarize their risk levels and back-out plans."
To view the complete schema details and the full list of available ManageEngine ServiceDesk Plus tools, visit the ManageEngine ServiceDesk Plus integration page.
Workflows in Action
With MCP, Claude transforms from a passive chat interface into an active ITSM operator. Here are concrete examples of how DevOps and IT Admin personas use these tools.
Workflow 1: IT Asset Troubleshooting and Triage
When a user reports hardware failure, IT teams spend valuable time cross-referencing tickets with asset databases. Claude can handle the entire discovery and update process autonomously.
User Prompt:
"A user reported their laptop battery is expanding. Check request ID 9015. Find the associated asset by the user's name, check if it is under warranty, and add a note to the ticket with your findings."
Execution Steps:
- Claude calls
get_single_manage_engine_service_desk_plus_request_by_idwithid: "9015"to pull the ticket and identify the requester. - Claude calls
list_all_manage_engine_service_desk_plus_assetsusing the requester's details to locate the assigned workstation. - Claude analyzes the
warranty_expiryfield on the asset record. - Claude calls
create_a_manage_engine_service_desk_plus_request_noteon ticket 9015, detailing the asset tag, warranty status, and a recommendation for hardware replacement.
sequenceDiagram
participant Admin
participant Claude
participant Truto as Truto MCP Server
participant SDP as ManageEngine SDP API
Admin->>Claude: "Check request 9015, find asset, check warranty, add note"
Claude->>Truto: Call get_single_request_by_id(9015)
Truto->>SDP: GET /api/v3/requests/9015
SDP-->>Truto: Return request & requester data
Truto-->>Claude: Return tool result
Claude->>Truto: Call list_assets(user)
Truto->>SDP: GET /api/v3/assets?search=user
SDP-->>Truto: Return asset data (warranty expires 2026)
Truto-->>Claude: Return tool result
Claude->>Truto: Call create_request_note(9015, "Asset under warranty...")
Truto->>SDP: POST /api/v3/requests/9015/notes
SDP-->>Truto: 201 Created
Truto-->>Claude: Return success
Claude-->>Admin: "I've verified the asset is under warranty and updated the ticket."Workflow 2: Emergency Change Impact Analysis
During an outage, coordinating change requests and understanding dependencies is critical. Claude can quickly audit the environment and pull relevant tasks.
User Prompt:
"We have an ongoing database degradation. List all emergency changes currently in the 'Implementation' stage. For any found, list their associated change tasks to see what is currently being executed."
Execution Steps:
- Claude calls
list_all_manage_engine_service_desk_plus_changesfiltering foremergency: trueandstage: "Implementation". - Claude identifies Change ID 402.
- Claude calls
list_all_manage_engine_service_desk_plus_change_taskspassingchange_id: "402". - Claude synthesizes the data and presents a summary of the executing tasks and the assigned implementation owners.
Security and Access Control
Granting AI agents write access to enterprise ITSM systems requires strict governance. Truto's MCP architecture provides multiple layers of access control, ensuring your ManageEngine ServiceDesk Plus data remains secure.
- Method Filtering: Limit an MCP server to specific operations. For example, configure
methods: ["read"]to allow an AI agent to view tickets and assets, but strictly prevent it from creating, updating, or deleting any records. - Tag Filtering: Group tools by business domain. You can restrict a server to only expose tools tagged with
assetsorchanges, ensuring an agent meant for hardware audits cannot interact with user HR requests. - Secondary API Token Authentication: For elevated security, enable
require_api_token_auth: true. This forces the MCP client to pass a valid Truto API token in the Authorization header. Possession of the MCP URL alone will not grant access. - Server Expiry (TTL): When provisioning servers for automated CI/CD pipelines or contractor access, set an
expires_attimestamp. Truto automatically destroys the token and revokes access at the specified time, leaving no stale credentials behind.
A Factual Note on Rate Limits
ManageEngine ServiceDesk Plus enforces strict API rate limits to protect system stability. It is important to understand that Truto does not retry, throttle, or apply backoff on rate limit errors.
When the upstream ManageEngine ServiceDesk Plus API returns an HTTP 429 Too Many Requests error, Truto passes that error directly back to the caller. Truto normalizes upstream rate limit information into standardized headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset) per the IETF specification. The calling agent, LLM framework, or client application is fully responsible for reading these headers and implementing its own retry and backoff logic.
Wrap Up
Connecting Claude to ManageEngine ServiceDesk Plus via an MCP server bridges the gap between natural language reasoning and strict ITIL workflows. Instead of writing brittle integration scripts to parse custom fields and navigate fragmented hierarchies, Truto handles the translation layer dynamically. This allows your engineering teams to focus on building intelligent agent behaviors rather than maintaining API plumbing.
By leveraging managed MCP servers, you can safely deploy AI agents that triage tickets, audit hardware inventories, and execute complex change management tasks, all while maintaining strict enterprise access controls.
FAQ
- How do I connect ManageEngine ServiceDesk Plus to Claude?
- You need a Model Context Protocol (MCP) server. You can generate a managed MCP server URL using Truto, which dynamically translates ManageEngine ServiceDesk Plus endpoints into Claude-compatible tools, bypassing the need to write custom integration code.
- Can Claude update tickets and assets in ManageEngine ServiceDesk Plus?
- Yes. By configuring your MCP server with write permissions, Claude can create request notes, update asset records, escalate incidents to problems, and manage change tasks.
- How does Truto handle ManageEngine ServiceDesk Plus rate limits?
- Truto does not retry or throttle rate limit errors. It passes HTTP 429 errors directly to the caller and normalizes the rate limit information into standard IETF headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset). Your AI agent is responsible for backoff logic.
- Is it safe to give an LLM access to my ITSM data?
- Yes, provided you use strict access controls. Truto's managed MCP servers allow you to restrict access by API method (e.g., read-only), filter tools by specific tags, set server expiration dates, and mandate secondary API token authentication.