
List JumpCloud SSO applications with offset pagination. Supports a server-side filter by application name or display name, plus sort and fields. Use this to find application IDs for get_application.
Get a JumpCloud SSO application by ID. Use list_applications to find application IDs.
List JumpCloud commands with offset pagination. Supports a server-side name filter plus sort and fields. Use this to find command IDs for getcommand, updatecommand and run_command.
Get a JumpCloud command by ID. Use list_commands to find command IDs.
Create a JumpCloud command. command, commandtype and name are required. Returns the new command with its ID (pass that to runcommand). Inverse: delete_command.
Update a JumpCloud command's text or settings. Use list_commands to find command IDs.
Delete a JumpCloud command permanently. Use listcommands to find command IDs. Inverse of createcommand.
Trigger a JumpCloud command to run, optionally on specific systems. Use listcommands to find the command ID and listsystems to find system IDs. Returns the queue IDs of the triggered runs; read outcomes with listcommandresults.
List JumpCloud command results (outputs from past command runs) with offset pagination, sort and fields. Use this to find command result IDs for getcommandresult.
Get a JumpCloud command result by ID. Use listcommandresults to find result IDs.
Delete a JumpCloud command result permanently. Use listcommandresults to find result IDs.
List JumpCloud user groups with offset pagination. Supports a server-side name filter plus sort and fields. Use this to find group IDs for getusergroup, membership and manage tools. Returns a bare array paged with skip + limit.
Get a JumpCloud user group by ID. Use listusergroups to find group IDs.
Create a JumpCloud user group. name is required. Returns the new group with its ID. Inverse: deleteusergroup.
Update a JumpCloud user group's name, description or email. Use listusergroups to find group IDs.
Delete a JumpCloud user group. Use listusergroups to find group IDs. Inverse of createusergroup.
List the direct member connections of a JumpCloud user group. Use listusergroups to find group IDs. For the resolved membership (including indirect), use listusergroup_membership.
List the resolved membership of a JumpCloud user group (users that belong to it, direct and indirect). Use listusergroups to find group IDs.
Add or remove a user in a JumpCloud user group. Set op='add' to add or op='remove' to remove. Use listusergroups for group IDs and list_users for the member user ID. This is the add/remove pair for user-group membership.
List JumpCloud system groups with offset pagination. Supports a server-side name filter plus sort and fields. Use this to find group IDs for getsystemgroup, membership and manage tools.
Get a JumpCloud system group by ID. Use listsystemgroups to find group IDs.
Create a JumpCloud system group. name is required. Returns the new group with its ID. Inverse: deletesystemgroup.
Update a JumpCloud system group's name, description or email. Use listsystemgroups to find group IDs.
Delete a JumpCloud system group. Use listsystemgroups to find group IDs. Inverse of createsystemgroup.
List the direct member connections of a JumpCloud system group. Use listsystemgroups to find group IDs. For resolved membership, use listsystemgroup_membership.
List the resolved membership of a JumpCloud system group (systems that belong to it, direct and indirect). Use listsystemgroups to find group IDs.
Add or remove a system in a JumpCloud system group. Set op='add' to add or op='remove' to remove. Use listsystemgroups for group IDs and list_systems for the member system ID. This is the add/remove pair for system-group membership.
List JumpCloud policies with offset pagination. Supports a server-side name filter plus sort and fields. Use this to find policy IDs for getpolicy, updatepolicy and delete_policy.
Get a JumpCloud policy by ID. Use list_policies to find policy IDs.
Create a JumpCloud policy. name and template (a template object) are required; call listpolicytemplates first to find a valid template. Returns the new policy with its ID. Inverse: delete_policy.
Update a JumpCloud policy's name, notes or values. Use list_policies to find policy IDs.
Delete a JumpCloud policy. Use listpolicies to find policy IDs. Inverse of createpolicy.
List JumpCloud policy templates with offset pagination. Call this before create_policy to find a valid template object/ID for the policy you want to create.
List JumpCloud policy groups with offset pagination. Supports a server-side name filter plus sort and fields. Use this to find policy-group IDs for get/update/deletepolicygroup.
Get a JumpCloud policy group by ID. Use listpolicygroups to find policy-group IDs.
Create a JumpCloud policy group. name is required. Returns the new group with its ID. Inverse: deletepolicygroup.
Update a JumpCloud policy group's name or description. Use listpolicygroups to find policy-group IDs.
Delete a JumpCloud policy group. Use listpolicygroups to find policy-group IDs. Inverse of createpolicygroup.
List JumpCloud RADIUS servers with offset pagination, sort, fields and filter. Use this to find RADIUS server IDs for get/update/deleteradiusserver.
Get a JumpCloud RADIUS server by ID. Use listradiusservers to find RADIUS server IDs.
Create a JumpCloud RADIUS server. name, networksourceip and sharedsecret are required. Returns the new server with its ID. Inverse: deleteradius_server.
Update a JumpCloud RADIUS server's settings. Use listradiusservers to find RADIUS server IDs.
Delete a JumpCloud RADIUS server. Use listradiusservers to find RADIUS server IDs. Inverse of createradiusserver.
List JumpCloud organizations the API key can access, with offset pagination, sort, fields and filter. Use this to find organization IDs for getorganization and updateorganization.
Get a JumpCloud organization by ID. Use list_organizations to find organization IDs.
Update a JumpCloud organization's display name. Use list_organizations to find organization IDs.
List JumpCloud managed systems/devices with offset pagination. Supports a server-side filter in the V1 field:$operator:value format plus sort and fields. Use this to find system IDs for getsystem, lifecycle actions, group membership and runcommand.
Get a JumpCloud system/device by ID. Use list_systems to find system IDs.
Update a JumpCloud system's settings (display name, SSH/MFA options). Use list_systems to find system IDs.
Delete (deprovision) a JumpCloud system permanently. Use list_systems to find system IDs.
Remotely lock a JumpCloud system (built-in command). Use list_systems to find system IDs.
Remotely restart a JumpCloud system (built-in command). Use list_systems to find system IDs.
Remotely shut down a JumpCloud system (built-in command). Use list_systems to find system IDs.
Remotely erase (wipe) a JumpCloud system (built-in command). This is irreversible and destroys data on the device. Use list_systems to find system IDs.
List JumpCloud system users (directory identities) with offset pagination. Supports a server-side filter in the V1 field:$operator:value format plus sort and fields. Use this to find user IDs for getuser, updateuser, group membership and SSH-key tools. Page forward with pageinfo.skip + pageinfo.limit.
Get a JumpCloud system user by ID. Use list_users to find user IDs.
Create a JumpCloud system user. username and email are required. Returns the new user including its ID for follow-up calls. Inverse: delete_user.
Update a JumpCloud system user's profile fields. Use list_users to find user IDs.
Delete a JumpCloud system user permanently. Use listusers to find user IDs. Inverse of createuser.
Unlock a locked JumpCloud user account. Use list_users to find user IDs.
Reset a JumpCloud user's multi-factor authentication enrollment. Use list_users to find user IDs.
Activate (reactivate) a suspended or staged JumpCloud user. Use listusers to find user IDs. Inverse: suspenduser.
Suspend a JumpCloud user, blocking sign-in without deleting them. Use listusers to find user IDs. Inverse: activateuser.
List a JumpCloud user's SSH public keys. Use list_users to find user IDs.
Add an SSH public key to a JumpCloud user. name and publickey are required. Use listusers to find user IDs. Inverse: deleteuserssh_key.
Delete an SSH public key from a JumpCloud user. Use listusersshkeys to find key IDs. Inverse of createusersshkey.
Validate the JumpCloud API key with a lightweight system-users lookup. Returns success plus a message explaining any failure.

In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now