Connect Atomicwork to Claude: Handle change management & audit logs
Learn how to connect Atomicwork to Claude via Truto's MCP Server. Automate change management, query audit logs, and streamline IT operations with AI tools.
Integrating enterprise service management (ESM) platforms with AI assistants shifts support teams from manual ticketing grinds to automated resolutions. By connecting Atomicwork to Claude via the Model Context Protocol (MCP), you give Claude direct, authenticated access to IT change management workflows, audit logs, and asset databases.
This guide breaks down how to generate an MCP server for Atomicwork using Truto, configure Claude to use it, and orchestrate complex ITSM tasks. If your team uses ChatGPT, check out our guide on connecting Atomicwork to ChatGPT, or if you are building programmatic multi-agent workflows, read about connecting Atomicwork to AI Agents.
Engineering Reality: The Atomicwork API
Integrating with Atomicwork requires handling highly contextual data models. This is not a flat CRUD application. The API forces strict structural dependencies, and understanding these quirks is critical before exposing them to an LLM.
- Workspace-Scoped Operations: Nearly all critical read/write operations in Atomicwork require a
workspace_id. Whether you are pulling service catalog categories or listing requests, the API isolates data strictly by workspace. You must ensure Claude knows how to retrieve and supply the correctworkspace_idfor its operations. - Complex Multipart Payloads for Change Management: Creating change records with attachments (
create_a_atomicwork_change_management_changes_create_with_file) requires submitting multipart form payloads that mix JSON metadata (subject, priority, impact) with binary file streams. - Polymorphic Requester Entities: When querying requester entities for forms, the API expects precise combinations of parameters (
request_id,service_item_ids, orworkspace_idplusrequest_form_type). Missing the correct dependency chain results in immediate 400 errors.
A Factual Note on Rate Limits
When Claude executes high-volume data pulls against Atomicwork, rate limits will eventually trigger. Truto does not retry, throttle, or apply backoff on rate limit errors. When the Atomicwork API returns an HTTP 429, Truto passes that error directly to the caller.
To help you handle this gracefully, Truto normalizes upstream rate limit information into standardized headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset) per the IETF specification. The caller (or the agent orchestration framework executing Claude's tool calls) is entirely responsible for implementing retry logic and backoff. Do not expect the MCP server to absorb rate limit errors for you.
Generating the Atomicwork MCP Server
Truto dynamically generates MCP servers based on the connected integration's underlying resources and documentation. You can spin up a server via the UI or programmatically via the API.
Method 1: Via the Truto UI
- Navigate to your Atomicwork Integrated Account in the Truto dashboard.
- Click the MCP Servers tab.
- Click Create MCP Server.
- Define a name (e.g.,
Atomicwork Change Management Ops). - Select allowed methods or tool tags if you want to restrict Claude's access.
- Click Create and copy the generated MCP URL.
Method 2: Via the Truto API
For platform engineers building automated environments, you can generate the server by sending a POST request to the /integrated-account/:id/mcp endpoint.
POST /integrated-account/<atomicwork_integrated_account_id>/mcp
{
"name": "Claude Atomicwork Server",
"config": {
"methods": ["read", "write"],
"require_api_token_auth": false
},
"expires_at": "2025-12-31T23:59:59Z"
}The API provisions the secure token in distributed storage and returns a ready-to-use URL: https://api.truto.one/mcp/<secure_token>.
Connecting Atomicwork to Claude
Once you have your MCP server URL, connecting it to Claude takes just a few steps.
Claude Desktop App (Config File)
To connect Claude Desktop locally to your Atomicwork instance, edit your claude_desktop_config.json file. Because Truto MCP servers speak standard JSON-RPC 2.0 over HTTP, you can use a generic SSE-based remote transport command or an npx runner like @modelcontextprotocol/inspector to proxy the connection if needed, though direct HTTP calls are supported.
{
"mcpServers": {
"atomicwork": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-truto",
"--url",
"https://api.truto.one/mcp/<secure_token>"
]
}
}
}Restart Claude Desktop. The Atomicwork tools will now appear in Claude's interface.
Claude For Enterprise (UI Connector)
If you are using Claude for Enterprise or Team plans:
- Go to Settings -> Connectors -> Add custom connector.
- Paste your Truto MCP Server URL.
- Save and authorize. Claude instantly discovers the documented tools.
Atomicwork Tool Inventory
Below is the two-tiered breakdown of Atomicwork tools exposed to Claude through Truto.
Hero Tools
These are the high-value operations most frequently used in ITSM workflows.
list_all_atomicwork_audit_logs
Retrieves the audit trail for security events, permission modifications, and infrastructure changes within Atomicwork. Required parameter: server.
"Pull the audit logs for the production server from the last 24 hours. Are there any unauthorized access attempts?"
create_a_atomicwork_change_management_change
Initiates a structured change request. Accepts highly specific metadata like change_type, priority, urgency, impact, and requester.
"Create an emergency change request to patch the core database server. Set the impact to high, urgency to critical, and assign it to the DBA group."
list_all_atomicwork_assets_search
Searches the hardware and software asset database. Critical for linking requests to specific affected infrastructure.
"Search our assets for a MacBook Pro with serial number C02F891J. Who is it assigned to, and what is its current status?"
get_single_atomicwork_requests_id_by_id
Fetches the complete context of a specific ticket or request by ID, including its status, subject, and form details. Required parameters: workspace_id, id.
"Get the details for request ID 45192 in the engineering workspace. What is the current blocker?"
create_a_atomicwork_request_activity_note
Appends contextual notes to an ongoing request. Essential for logging automated triage findings or adding incident updates. Required parameter: display_id.
"Add an activity note to request REQ-1042 stating that the initial diagnostics have been run and the memory leak is confirmed."
Full Inventory
Here is the complete inventory of additional Atomicwork tools available. For full schema details, visit the Atomicwork integration page.
- list_all_atomicwork_service_catalog_categories: List all service catalog categories in a workspace.
- list_all_atomicwork_forms_requests: List request form fields for requests.
- create_a_atomicwork_request: Create a new request in Atomicwork.
- list_all_atomicwork_assessment_forms: Get the assessment form associated with a specific problem.
- create_a_atomicwork_assessment_form: Submit an assessment form for a specific problem.
- list_all_atomicwork_assets: List all assets in Atomicwork.
- create_a_atomicwork_asset: Create a new asset (requires
asset_type_idandform_fields). - list_all_atomicwork_workspaces: List all workspaces.
- list_all_atomicwork_requester_entities: List requester entities available for REQUEST forms.
- list_all_atomicwork_workspace_members: List all members of a workspace.
- update_a_atomicwork_workspace_member_by_id: Update a workspace member by ID.
- list_all_atomicwork_service_catalog_items: List service catalog items for a specific workspace and category.
- get_single_atomicwork_requests_number_by_id: Get a specific request by ID.
- atomicwork_requests_number_partial_update: Partially update an existing request.
- delete_a_atomicwork_requests_number_by_id: Delete a specific request by ID.
- create_a_atomicwork_requests_v_2: Create a new request (v2 payload).
- list_all_atomicwork_requests_search: List and search requests in a workspace.
- list_all_atomicwork_requests_count: Get the total count of requests in a workspace.
- list_all_atomicwork_request_views: List request views in Atomicwork.
- list_all_atomicwork_request_priority_options: List available priority options in a workspace.
- list_all_atomicwork_request_trash: List trash entries for a specific request.
- list_all_atomicwork_user_lists: List all lists associated with a specific user.
- update_a_atomicwork_problem_task_by_id: Update a task belonging to a specific problem.
- get_single_atomicwork_assets_id_by_id: Get a single asset by ID.
- update_a_atomicwork_assets_id_by_id: Update an existing asset by ID.
- get_single_atomicwork_change_management_changes_number_by_id: Get a specific change record.
- atomicwork_change_management_changes_number_partial_update: Partially update a change management record.
- create_a_atomicwork_change_management_changes_create_with_file: Create a change record with file attachments.
- create_a_atomicwork_change_trash: Move a change to trash.
- list_all_atomicwork_change_activity_notes: List activity notes for a specific change.
- create_a_atomicwork_user: Create a new user via the settings API.
- create_a_atomicwork_attachment: Create an attachment by submitting a multipart file upload.
Workflows in Action
Exposing these tools to Claude transforms manual ITSM tasks into automated processes. Here are practical examples of what this enables.
Workflow 1: Incident Triage & Change Management
When a severe incident occurs, Claude can automatically investigate related requests, open a formal change ticket, and log notes - all from a single prompt.
"I need to handle an emergency database rollback for the billing system. Check the requests in the IT workspace to see if there are open tickets about billing failures. Then, create an emergency change management record to execute the rollback, and add a note to the original tickets indicating that a change has been initiated."
Tool Execution Sequence:
list_all_atomicwork_workspacesto identify the correct workspace ID for IT ops.list_all_atomicwork_requests_searchto find recent tickets mentioning "billing failure".create_a_atomicwork_change_management_changeto formalize the database rollback process, setting urgency to high.create_a_atomicwork_request_activity_noteto update the found user requests with the change record reference.
Result: The IT team gets a standardized change request in the system, and users who reported the issue automatically receive an activity update.
Workflow 2: Asset Auditing & Compliance Tracking
Security teams frequently need to reconcile physical assets against system logs.
"Run a security check. First, list all audit logs for the core authentication server from yesterday. Then, cross-reference the actors in those logs against our asset database. Are any of the users who logged in using assets marked as 'unassigned' or 'decommissioned'?"
Tool Execution Sequence:
list_all_atomicwork_audit_logspassingserver: "core-auth"to extract the actor details.list_all_atomicwork_workspace_membersto map actor IDs to user profiles.list_all_atomicwork_assets_searchpassing the associated user IDs to retrieve assigned hardware.
Result: Claude returns a formatted summary highlighting security discrepancies, such as a contractor who logged into a sensitive server from a laptop that the IT department flagged as decommissioned.
Security and Access Control
Giving an LLM direct control over IT infrastructure requires strict boundaries. Truto provides four native mechanisms to secure your Atomicwork MCP servers:
- Method Filtering: Lock down the server to read-only access. Passing
config: { methods: ["read"] }during creation ensures Claude can search requests and pull audit logs, but cannot executecreate_a_atomicwork_change_management_changeor alter data. - Tag Filtering: Scope the MCP server to specific functional areas. For example, assign tools the tag
assetsand restrict the token to that tag, ensuring the agent only touches hardware inventories. - API Token Authentication: By enabling
require_api_token_auth: true, the Truto MCP URL alone is no longer enough. The client must also pass a valid Truto API token in theAuthorizationheader, preventing unauthorized usage even if the URL leaks. - Automatic Expiration: Use the
expires_atproperty to provision temporary access. Ideal for granting a contractor or temporary automated agent access to Atomicwork for a strict 48-hour window.
FAQ
- How do I connect Claude to Atomicwork?
- You can connect Claude to Atomicwork by generating an MCP server URL through Truto, then adding that URL to the `claude_desktop_config.json` file for local use, or via the Custom Connectors UI in Claude for Enterprise.
- Does Truto automatically retry when Atomicwork rate limits trigger?
- No. Truto passes HTTP 429 rate limit errors directly back to the caller, alongside standardized `ratelimit-limit`, `ratelimit-remaining`, and `ratelimit-reset` headers. Your orchestration logic must handle retries.
- Can I prevent Claude from creating or modifying requests in Atomicwork?
- Yes. When creating the MCP server in Truto, you can use method filtering (e.g., specifying `methods: ["read"]`) to restrict the tools exclusively to read operations like listing audit logs or searching assets.