Skip to main content

Connect the Atomicwork MCP server

Connect AI tools to Atomicwork via MCP to manage requests and incidents from your AI assistant.

R
Written by Riya Sebastian

Connect your AI tools to Atomicwork using the Model Context Protocol (MCP). Query tickets, create incidents, and manage service requests directly from your preferred client.

Authentication

The Atomicwork MCP server uses API token authentication. You need a public API token from your Atomicwork account.

To generate your API token:

  1. Navigate to Profile > Public API Tokens.

  2. Click Generate Token.

  3. Copy the token (format: aw_xxx). You will not be able to see it again.

Your API token grants access to Atomicwork data scoped to your account permissions. Treat it like a password. Do not share it publicly. If a token is ever exposed, revoke it immediately and generate a new one.

Setup and configuration

The MCP server endpoint is tenant-specific. For example, if your Atomicwork tenant is acme, your endpoint is https://acme.atomicwork.com/mcp.

Claude Code

Run the following command in your terminal, replacing acme with your tenant name and aw_xxx with your API token:

claude mcp add --transport http Atomicwork https://acme.atomicwork.com/mcp --header "Authorization: Bearer aw_xxx"

Claude Desktop

Claude Desktop only supports local stdio servers. To connect to Atomicwork, use the mcp-remote bridge, which runs locally and forwards calls to the HTTP endpoint.

Prerequisite: Node.js must be installed. You can check this with node --version.

Add the following to your claude_desktop_config.json file:

{ "mcpServers": { "Atomicwork": { "command": "npx", "args": [ "-y", "mcp-remote", "https://<your-tenant>.atomicwork.com/mcp", "--header", "Authorization: Bearer <your-token>" ] } } }

If you already have an MCP server block, append this section. Do not replace the entire block.

Fully quit Claude Desktop and relaunch it for the changes to take effect.

Codex

Add the following block at the end of your ~/.codex/config.toml file:

[mcp_servers.Atomicwork] url = "https://acme.atomicwork.com/mcp" http_headers = { "Authorization" = "Bearer aw_xxx" }

Cursor

Add the following to .cursor/mcp.json in your project root or global config:

{ "mcpServers": { "Atomicwork": { "type": "http", "url": "https://acme.atomicwork.com/mcp", "headers": { "Authorization": "Bearer aw_xxx" } } } }

VS Code (GitHub Copilot)

Add the following to .vscode/mcp.json in your workspace:

{ "servers": { "Atomicwork": { "type": "http", "url": "https://acme.atomicwork.com/mcp", "headers": { "Authorization": "Bearer aw_xxx" } } } }

Any other MCP client

The server works with any client that supports the Streamable HTTP transport. Configure it with:

Field

Value

Server URL

Transport

Streamable HTTP

Auth header

Authorization: Bearer aw_xxx

If the client only accepts local stdio servers, use the mcp-remote wrapper from the Claude Desktop section above — the same pattern works for any stdio-only client.

Available tools

Once connected, your AI agent has access to several capabilities including:

Category

Tools

Tickets and requests

Search, view, create, update, and move requests across all types — general requests, incidents, problems, and service requests. Read and add notes and replies, manage links between tickets (parent/child, related, blocks), and initiate ad-hoc or policy-based approval lifecycles.

Service catalog

Browse the service catalog, search for catalog items in natural language ("I need a laptop"), and raise service requests against the right item with the right fields populated.

Assets and inventory

List and filter assets across all types — laptops, applications, monitors, servers, and any custom asset types — view full asset detail and activity history, and check the live health status of any application tracked in the inventory.

Users and workspaces

Look up the current user, search and view full profiles for any user, and discover the workspaces and user segments configured in the tenant.

Knowledge and search

Search internal knowledge — verified answers, topics, conversations — and run cross-entity searches that span requests, users, assets, and catalog items in one query.

Identity governance (IGA)

Search resources users can request access to, view access policies and entitlements, resolve the access a specific user already has, raise access requests, and validate business justifications.

Custom objects (beta)

Define, publish, and version custom object types (vendors, contracts, visas, anything tenant-specific); add fields to them; create, read, update, search, and delete instances; and link custom objects to requests and assets.

Example prompts

Try these prompts once connected:

  • Show me all P1 incidents opened in the last 24 hours.

  • What is the status of INC-4521? Who is assigned?

  • Create an incident: Zoom is down for the marketing team since 2pm.

  • Submit an access request for Figma for me.

  • What service requests are pending my approval?

Troubleshooting

If you encounter issues, check the following common solutions:

Claude Desktop: "Some MCP servers could not be loaded"

Claude Desktop rejected the config. The most common cause is a "type": "http" block — Claude Desktop only accepts local stdio servers in claude_desktop_config.json. Use the mcp-remote wrapper shown in Claude Desktop above.

Other things to check:

  • Invalid JSON in the config. A missing comma, trailing comma, or unquoted key will cause silent failure. Paste the file into jsonlint.com to validate.

  • You overwrote an existing mcpServers block. If you had other servers configured, they're gone. Merge the Atomicwork entry into the existing block instead of replacing it.

Claude Desktop: "Server disconnected" or red status

Open Settings → Developer → Atomicwork → View Logs, or tail the log directly on macOS:

bash

tail -n 100 ~/Library/Logs/Claude/mcp-server-Atomicwork.log

Common causes:

  • Placeholder token left in the config. Make sure aw_xxx is replaced with your real token.

  • Stray whitespace or newline in the token. Re-paste cleanly between the quotes.

  • Token expired or revoked. Generate a fresh one and update the config.

  • Node.js missing or not on PATH. Run node --version and npx --version. Install Node if either fails. Claude Desktop needs Node 18+; 20+ is recommended.

  • Wrong Node binary picked up. If you use nvm or have multiple Node installations, Claude Desktop may launch the wrong one. List them with which -a node. If the picked binary is too old or broken, replace "command": "npx" in your config with the absolute path — e.g. "command": "/Users/you/.nvm/versions/node/v22.15.0/bin/npx".

  • Forgot the -y flag in the npx args. Without it, npx prompts for confirmation interactively and the launch hangs. The snippet in Claude Desktop includes it — make sure yours does too.

Claude Desktop on Windows: spawn npx ENOENT

npx on Windows is a .cmd script, not a binary, and Node.js launched from a GUI app sometimes can't find it. Fixes, in order of effort:

  1. Reinstall Node.js from nodejs.org using the official installer (not Homebrew, Scoop, or Chocolatey) and ensure "Add to PATH" is checked.

  2. Reboot after install — Windows GUI apps don't pick up new PATH entries until next login.

  3. If it still fails, replace "command": "npx" with the absolute path: "command": "C:\\Program Files\\nodejs\\npx.cmd". Note the double backslashes in JSON.

Codex: "Unable to load MCP status"

Codex couldn't parse config.toml. Run codex mcp list from a terminal to see the exact parse or connection error.

Common causes:

  • Wrong field name. bearer_token (plain) is not valid — only bearer_token_env_var and http_headers are accepted. Use the exact block from the Codex section.

  • TOML syntax error. A missing =, mismatched quotes, or stray bracket. TOML is unforgiving; double-check the block.

  • Using bearer_token_env_var but the variable isn't set in Codex's environment. If you launched Codex from a GUI (especially on macOS), it may not see variables exported in your shell's .zshrc or .bash_profile. Verify with codex mcp list from the same terminal context; if you launched the IDE extension, export the variable system-wide or use http_headers instead.

Cursor: "Atomicwork" shows up but no tools are listed

Cursor connects successfully but tools may be toggled off. Open Cursor Settings → MCP, click Atomicwork, and confirm tools are enabled. New servers sometimes default to disabled until you flip them on.

Unauthorized / 401

  • Verify the token is current and hasn't been revoked.

  • Check the header format exactly: Authorization: Bearer aw_xxx — single space after Bearer, no extra characters.

  • Re-paste the token; trailing newlines and spaces are a frequent culprit.

  • Confirm the URL uses the correct tenant subdomain. A typo here sometimes returns 401 instead of 404.

Tools don't show up after editing the config

  • Fully quit and restart the client. Closing the window isn't enough — on macOS, use ⌘Q. On Windows, quit from the system tray.

  • Confirm the URL matches your tenant exactly: https://<your-tenant>.atomicwork.com/mcp, no trailing slash.

  • For Claude Desktop specifically, confirm you used the mcp-remote wrapper, not a "type": "http" block.

"Permission denied" on specific tools

The server enforces the token owner's permissions. If a tool fails for one user but works for another, check the user's role and workspace assignments in Admin → Users.

Connection issues on a corporate network

  • Ensure your network allows outbound HTTPS to *.atomicwork.com.

  • If you're behind a corporate proxy, configure proxy settings in the MCP client (or in your shell environment for npx-based setups). For Node, the relevant variables are HTTP_PROXY, HTTPS_PROXY, and NO_PROXY.

  • If your corporate proxy performs TLS interception, Node may reject the proxy's certificate. Work with IT to add the proxy's root CA to Node's trust store, or set NODE_EXTRA_CA_CERTS to the path of that CA file.

  • If node or npx are blocked by endpoint security software, whitelist them with help from IT.

Did this answer your question?